![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| vasko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 6.5.2006 Репутация: нет Всего: нет |
Стоит задача в написание сервлета, который мог бы отправлять ответ клиенту асинхронно
Т.е что наподобее такого:
|
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
а никак. клиент может к тому моменту браузер закрыть и куда ты будеш ему отправлять ответ?
|
|||
|
||||
| vasko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 6.5.2006 Репутация: нет Всего: нет |
это уже его проблемы будут.... тем более под асинронностью я не подозревал часы, тем более сутки - максимум 1-2 сек.
Правильно ли будет такой подход: 1) в методе service() сохранять (к примеру в HashMap) HttpServletResponse по уникальному ключу 2) отдавать наверх HttpServletRequest c id 3) потом, когда приложение сверху обработает HttpServletRequest и вернет мне данные достать по id HttpServletResponse 4) Как обычно, нашпиговать HttpServletResponse данными -
Вопрос тот же, уйдет ли в методе sendResponse() ответ соответствующему клиенту? |
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
не правильно. как только сервлет контейнер отпработает запрос он тут же уничтожит поток с оным. так что тот факт что ты сохраниш ссылку на уже мертвый HttpServletResponse тебе никак не поможет.
процессинг HTTP запросов синхронен. точка. ты ничего тут не сможеш зделать. если у тебя реч идет о 1-2 секундах то не заморачивайся с асинхронностью. пусть клиент ждет. либо тебе нужна принципиально другая технология а не сервлеты. ну Ajax к примеру.... |
|||
|
||||
| vasko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 6.5.2006 Репутация: нет Всего: нет |
я в этом деле почти новичок... может посоветуете - необходимо реализовать Http proxy между нашим приложением и клиентом, причем обмен между разрабатываем мною модулем и нашим приложение происходит асинхронно....
Есть ль какие идеи по дизайну приложения? Про Ajax не слышал |
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
так стоп. твой "клиент" это человек с браузером или просто еще одна прога? если тебе необходимо организовать асинхронный обмен данными между дувумя процессами накой тебе HTTP? это и на простых сокетах запросто можно сделать.
|
|||
|
||||
| katala |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
да вот это очень интересный вопрос!!!! может кто даст ссылки(если нет на русском можно и на инглише(хотя 1 вариант лучше |
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
||||
|
||||
| vasko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 6.5.2006 Репутация: нет Всего: нет |
Почитал про AJAX. В принципе это то, что нужно. Одно только маленькое но.
1) Клиент общается с серверным приложением асинхронно - ОК, то что нужно 2) Приложение, с которым оно общается - это скрипт (Java-script или php) - не очень хорошо, а может и совсем не хорошо, т.к: Как я уже писал, приложение которое я должен написать - это java модуль, который должен асинхронно общаться с вышестоящим приложением. Получается, что я должен написать скрипт, который общается с java модулем асинхронно мой Application браузер <----асинхр.----> Сервер. скрипт <----асинхр?----> java модуль <----асинхр.----> Level Возможно ли такое? Возможно ли из php (если на нем написан скрипт) подключиться, не создать, а именно подключиться к jvm? И если да, то как лучше реализовать взаимодействие java -> php? Как работать php -> java вроде бы понятно, если разобраться с подключением к jvm |
|||
|
||||
| vasko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 6.5.2006 Репутация: нет Всего: нет |
Вопрос в догонку по AJAX
можнол ли в методе XMLHttpRequest.open() обращаться не к скрипту а к java модулю? например так: XMLHttpRequest.open("GET", "http://kto-to.ru/my_module.jar", true); |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 16 Всего: 151 |
Сомневаюсь. Думаю, веб-сервер в ответ на это честно постарается вернуть сам файл.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| UnicornMirage |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 15.11.2005 Репутация: нет Всего: 1 |
выложу и свои сссылки, которые удалось насобирать по аяксу:
Frameworks, examples: http://ajaxpatterns.org/Java_Ajax_Frameworks http://ajaxpatterns.org/Java_Ajax_Frameworks http://backbase.com/ http://backbase.com/demos/explorer/#examples/show-hide.xml[4] http://www.google.com/webhp?complete=1 http://www.sphericalmatrix.com/ http://prototype.conio.net/ Статьи, материалы: Subsys_JsHttpRequest: подкачка данных без перезагрузки страницы (AJAX) Сверхдинамичные веб-интерфейсы Динамическая загрузка данных с помощью HTTPRequest Dynamic HTML and XML: The XMLHttpRequest Object |
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
ребят Ajax это просто концепция. но есть реализующие эту концепцию фрейворки для Java.
В простейшем случае ну есть у вас аплет который висит незаметно в браузере и постоянно комуницирует с серверной сторой ну для простоты путем тем же HTTP реквестов к сервлету. ну скажем для совсем простоты каждые 0.5 секунды он спрашивает сервлет готово ли то самое асинхронрое задание Но все эти детали зависит уже от фреймворка который вы выберете. выбирайте и разбирайтесь |
|||
|
||||
| UnicornMirage |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 15.11.2005 Репутация: нет Всего: 1 |
какие фреймворки работают с аяксом?
|
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
не "работают", а "реализуют концепцию". c AJAX нельзя работать
UnicornMirage, ты же сам линков накидал. ну вот тебе еще: http://getahead.ltd.uk/dwr/ |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |