Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача объекта между апплетом и сервлетом 
V
    Опции темы
Cyclone
Дата 25.6.2008, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 2.5.2007

Репутация: нет
Всего: нет



Привет.
Пытаюсь наладить передачу данных между апплетом и сервлетом.
Клиент заходит на web-страничку с апплетом, заполняет нужные поля, жмёт кнопочку [ ok ] - далее требуется запросить данные из базы и проверить наличие файлов на удалённом ftp сервере и сформировать ответ клиенту.
В моём представлении апплет должен создать экземпляр класса (SendBean) для передачи, заполнить его поля и отправить сервлету через ByteArrayOutputStream и ObjectOutputStream.

Уже на этом этапе возникают неприятности, ведь класс SendBean не загружается на клиентскую машину - апплет не может создать его экземпляр.
Каково грамотное решение этой проблемы?

P.S.
Конечно, можно передавать базовые типы, а уже на серверной стороне формировать экземпляр класса, но, по-моему, это как-то по-деревенски. ;)
PM MAIL   Вверх
LSD
Дата 25.6.2008, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(Cyclone @  25.6.2008,  11:32 Найти цитируемый пост)
Уже на этом этапе возникают неприятности, ведь класс SendBean не загружается на клиентскую машину - апплет не может создать его экземпляр.
Каково грамотное решение этой проблемы?

Загружать его smile

Обычно для подобных вещей создают какой нибудь DTO и передают именно его.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Cyclone
Дата 25.6.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 2.5.2007

Репутация: нет
Всего: нет



А как его загрузить без доступа к внеш. памяти клиента у апплета?
Упаковать его в .jar вместе с классом апплета и пересобирать .jar каждый раз... вряд ли хорошый выход.

DTO, на сколько я читал - это обычный сериализуемый объект, который передаётся между слоями, так? А как апплет может его принять и обработать, если у него нет кода этого класса?
PM MAIL   Вверх
LSD
Дата 25.6.2008, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(Cyclone @  25.6.2008,  13:45 Найти цитируемый пост)
А как его загрузить без доступа к внеш. памяти клиента у апплета?

Что еще за внеш. память?


Цитата(Cyclone @  25.6.2008,  13:45 Найти цитируемый пост)
Упаковать его в .jar вместе с классом апплета и пересобирать .jar каждый раз... вряд ли хорошый выход.

Это хороший и единственно верный выход. Если в классе добавились новые поля, то у клиента они тоже должны быть, чтобы он мог их передать. Да и логику клиента придется доработать, для заполнения этих полей данными.


Цитата(Cyclone @  25.6.2008,  13:45 Найти цитируемый пост)
DTO, на сколько я читал - это обычный сериализуемый объект, который передаётся между слоями, так?

Да, это такой шаблон проектирования.


Цитата(Cyclone @  25.6.2008,  13:45 Найти цитируемый пост)
А как апплет может его принять и обработать, если у него нет кода этого класса? 

У него должен быть этот класс.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
gosnis
Дата 27.6.2008, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 16.5.2007
Где: Тель Авив, Израил ь

Репутация: нет
Всего: 2



(Мысли вслух) А если посылать HTTP Request?
PM MAIL ICQ Skype MSN   Вверх
LSD
Дата 29.6.2008, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(gosnis @  27.6.2008,  23:57 Найти цитируемый пост)
(Мысли вслух) А если посылать HTTP Request?

Да хоть через файлы на дискете, это транспортный уровень, он никак не влияет на передаваемые данные.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
gosnis
Дата 29.6.2008, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 16.5.2007
Где: Тель Авив, Израил ь

Репутация: нет
Всего: 2



Цитата(LSD @ 29.6.2008,  12:27)
Цитата(gosnis @  27.6.2008,  23:57 Найти цитируемый пост)
(Мысли вслух) А если посылать HTTP Request?

Да хоть через файлы на дискете, это транспортный уровень, он никак не влияет на передаваемые данные.

Я просто подумал, что посылая POST request можно избежать всяких bean-ов на клиенте. Или я неправ?
PM MAIL ICQ Skype MSN   Вверх
LSD
Дата 30.6.2008, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(gosnis @  29.6.2008,  13:36 Найти цитируемый пост)
Я просто подумал, что посылая POST request можно избежать всяких bean-ов на клиенте. Или я неправ? 

Ты сам-то представляешь, что ты пытаешься написать?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
gosnis
Дата 30.6.2008, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 16.5.2007
Где: Тель Авив, Израил ь

Репутация: нет
Всего: 2



Цитата(LSD @ 30.6.2008,  11:42)
Цитата(gosnis @  29.6.2008,  13:36 Найти цитируемый пост)
Я просто подумал, что посылая POST request можно избежать всяких bean-ов на клиенте. Или я неправ? 

Ты сам-то представляешь, что ты пытаешься написать?

 smile Я ничего не пытаюсь написать. Я просто бросил идею автору топика. Ни на что не претендую. smile 
PM MAIL ICQ Skype MSN   Вверх
Cyclone
Дата 30.6.2008, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 2.5.2007

Репутация: нет
Всего: нет



Идея немного несостоятельна. )

В общем, если, кроме упаковки бина в .jar апплета, других вариантов нет, то тему можно считать закрытой (всё ранво сейчас под ругому пути пошёл).
Но если есть ещё идеи, я бы послушал.
PM MAIL   Вверх
LSD
Дата 1.7.2008, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(gosnis @  30.6.2008,  12:53 Найти цитируемый пост)
Я ничего не пытаюсь написать. Я просто бросил идею автору топика. Ни на что не претендую.

Ну раз уж ты даешь идею, то хоть по минимуму ее продумать нужно. smile 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Апплеты | Следующая тема »


 




[ Время генерации скрипта: 0.0687 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.