С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 13.12.2007
Сообщений: 12

Как связать Applet и Servlet ?

17.12.2007, 14:39. Показов 1685. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте я в Java новенький. Стоит задача связать Applet c гридами, меню и пр. с Servlet'ом Использую Oracle9i, JDeveloper 3.2.3,
Oracle9i Application Server WWW Server Apache.
Прочел статью - Доступ к БД из сервлета Взаимосвязь Апплет-сервлет, мало что понял так как пока мало опыта в написании того и другого.
Нет ли у кого полного кода Апплета и связанного с ним Сервлета Буду чрезвычайно признателен за помощь.
Спасибо
Олег
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.12.2007, 14:39
Ответы с готовыми решениями:

Обращение к Servlet из Applet-a
Подскажите, пожалуйста, как напрямую из Applet-a вызвать Servlet (не создавая в Applet-e HTML-странички)

applet<->servlet<->oracle
Есть аплет, который работает с базой данных Oracle через сервлет. Есть ли какие-нибудь стандарты для работы с такой цепочкой? Я на данный...

Отправить данные с Applet к Servlet
Есть апплет, из которого нужно отсылать запросы на сервлет. Запросы должны идти друг за другом НЕ дожидаясь ответа от сервлета. Пробовал...

6
mishgun
17.12.2007, 17:34
Этот объект служит для передачи инфы между апплетом и сервлетом
import java.io.*;

public class Order implements Serializable{

private String order = new String('');
private String status = new String('');

public Order(){}

public void setOrder(String value){
if(value!=null){
order=value;
}
}

public String getOrder(){
return order;
}

public void setStatus(String value){
if(value!=null){
status = value;
}
}

public String getStatus(){
return status;
}

}

Апплет

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.*;
import java.io.*;

public class OrderStatusApplet extends Applet{
boolean isStandalone = false;
Panel statusPanel = new Panel();
Panel actionPanel = new Panel();
GridLayout gridLayout = new GridLayout(1,2);
Button statusButton = new Button();
TextField orderTextField = new TextField();
Label label1 = new Label();
TextArea statusResultTextArea = new TextArea();

public String getParameter(String key,String def){
return isStandalone ? System.getProperty(key,def):
(getParameter(key) != null ? getParameter(key) : def);
}

public OrderStatusApplet(){}

public void init(){
try {
jbInit();
}
catch(Exception e){
e.printStackTrace();
}
}

public void jbInit() throws Exception{
this.setSize(400,150);
this.setLayout(gridLayout);
statusButton.setLabel('Get Status');
statusButton.addActionListener(new ButtonHandler());
label1.setText('Order #');
orderTextField.setSize(new Dimension(50,19));
statusResultTextArea.setSize(new Dimension(50,19));
this.add(actionPanel);
actionPanel.add(label1);
actionPanel.add(orderTextField);
actionPanel.add(statusButton);
this.add(statusPanel);
statusPanel.add(statusResultTextArea);

}

public String[][] getParameterInfo(){
return null;
}

public void writeOrder(URLConnection conn,Order value){
try{
conn.setUseCaches(false);
conn.setRequestProperty('CONTENT_TYPE',' application/octet-stream');
conn.setDoInput(true);
conn.setDoOutput(true);
ObjectOutputStream os =
new ObjectOutputStream(conn.getOutputStream( ));
System.err.println('Writing Order');
os.writeObject(value);
os.flush();
os.close();
}
catch(IOException e){
System.err.println('Error1' + e.toString());
}

}

public Order readOrder(URLConnection conn){

Order order = null;

try{

ObjectInputStream is =
new ObjectInputStream(conn.getInputStream()) ;
System.err.println('Waiting for response');
order = (Order)is.readObject();
is.close();
}
catch(IOException e){
System.err.println('Error2' + e);
}
catch(ClassNotFoundException ce){
System.err.println('Error3' + ce.getMessage());
}
return order;
}
public class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
String s = e.getActionCommand();
if(s.equals('Get Status')){
try{

Order order = new Order();
order.setOrder(orderTextField.getText()) ;

URL url = new URL('http://localhost:8100/servlet/OrderStatusServlet');
System.err.println('Opening connection');

URLConnection conn = url.openConnection(
0 / 0 / 0
Регистрация: 13.12.2007
Сообщений: 12
17.12.2007, 18:01  [ТС]
Ура! Ответили
Спасибо за ответ, а вот этот объект,который служит
для передачи инфы между апплетом и сервлетом
-он размещается на сервере приложений там же где и сервлет??
Если ошибаюсь в понятиях поправьте.
Олег
0
mishgun
17.12.2007, 20:26
ты понял правильно но один момент ты или должен держать его и на директории апплета и на директории сервлета(ламерский подход) или прописать к нему пути в CLASSPATH(проффесиональный подход)
0 / 0 / 0
Регистрация: 13.12.2007
Сообщений: 12
18.12.2007, 08:34  [ТС]
Спасибо!
буду разбираться
Олег
0
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
18.12.2007, 12:46
Об этом мало кто знает, но в издательстве 'Питер' вышла классная книга 'Сервлеты и JavaServer Pages' М.Холла. Там практически все по этой теме.
0
0 / 0 / 0
Регистрация: 13.12.2007
Сообщений: 12
18.12.2007, 14:19  [ТС]
Ага, уже увидел. Попробую ее приобрести так как в английском не очень
Олег
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.12.2007, 14:19
Помогаю со студенческими работами здесь

Можно ли связать Java-applet с БД?
Podskajite, kak v Java-applet TextScrolling v vide texta ispolzovat' dannie iz bazi dannih?

Взаимодействие между applet<->servlet->db, создание java online игры
хочу создать java online игру и как я понял надо это сделать так applet-&gt;servlet-&gt;bd. я в яве новичок. вот не знаю как реализовать это. на...

MS sql, servlet & applet
Здравствуйте, я новичок, передо мной стоит задача, суть такова: Сервер на котором MS sql server 2005 с нужной бд (перенос нежелателен). ...

Intellij idea не может скачать зависимость javax.servlet.servlet:servlet-api:3.0.1
intellij idea не может скачать зависимость javax.servlet.servlet:servlet-api:3.0.1 Идет загрузка, потом пропадает, но зависимость...

Ошибка javax.servlet.ServletException: Error instantiating servlet class myclasses.StudentServlet
Здравствуйте еще раз, выскочило исключение показанное ниже В класспатч добюавил библиотечку j2ee.jar но все равно ругается, в web.xml...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru