DWR (Java) - DWR (Java)
Эта статья слишком полагается на Рекомендации к основные источники.Сентябрь 2008 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Оригинальный автор (ы) | Джо Уокер |
---|---|
Разработчики) | Дэвид Марджинян / Фонд Додзё |
изначальный выпуск | 29 августа 2005 г. |
Стабильный выпуск | 3.0.2 / 11 декабря 2016 г. |
Репозиторий | |
Написано в | Ява и JavaScript |
Операционная система | Кроссплатформенность |
Размер | 1.08 МБ (в архиве) |
Тип | Аякс технологии |
Лицензия | Лицензия Apache 2.0 |
Интернет сайт | прямая |
DWR, или же Прямое веб-удаленное взаимодействие, это Ява Открытый исходный код библиотека, которая помогает разработчикам писать веб-сайты, включающие Аякс технологии.[1] Он позволяет коду в веб-браузере использовать функции Java, запущенные на веб-сервере, как если бы эти функции находились внутри браузера. Проект DWR был начат Джо Уокером в 2004 году, версия 1.0 выпущена 29 августа 2005 года.
Заявление
- Код для разрешения JavaScript для получения данных из сервлет веб-сервер на основе принципов Ajax.
- Библиотека JavaScript, которая упрощает для разработчика веб-сайта динамическое обновление веб-страницы с использованием полученных данных.
DWR использует новый подход к Ajax, динамически генерируя код JavaScript на основе классов Java.[2] Таким образом, веб-разработчик может использовать код Java из JavaScript, как если бы он был локальным для веб-браузера; тогда как на самом деле код Java выполняется на веб-сервере и имеет полный доступ к ресурсам веб-сервера. По соображениям безопасности веб-разработчик должен точно указать, какие классы Java можно безопасно экспортировать (что часто называется web.xml или же dwr.xml).
Этот метод удаленного взаимодействия функций с Java на JavaScript дает пользователям DWR ощущение, что RPC такие механизмы, как RMI или же МЫЛО, с тем преимуществом, что он работает через Интернет, не требуя подключаемых модулей веб-браузера.
DWR не считает важным протокол веб-браузера / веб-сервера и предпочитает, чтобы интерфейс программиста был естественным. Самая большая проблема здесь - совместить асинхронную природу Ajax с синхронной природой обычных вызовов методов Java.
В асинхронной модели данные результатов доступны только через некоторое время после первоначального вызова. DWR решает эту проблему, позволяя веб-разработчику указать функцию, которая будет вызываться при возврате данных, с помощью дополнительного параметра метода. Этот дополнительный метод называется Обратный вызов. Значение, возвращаемое функцией java, будет передано методу обратного вызова.
Вот пример обратного вызова:
MJavaClassOnJs.getListProducts(selectedCategory,{ Перезвоните:функция(возвращенный список){ dwr.утилита.addOptions(myComboId,возвращенный список,"идантификационный номер продукта","наименование товара") } })
Обратный вызов - это функция внутри JSON объект, переданный в качестве дополнительного параметра удаленной функции.
В версии 2.0 DWR поддерживает Комета (также называемая «Обратный Ajax»)[2] где Java-код, запущенный на сервере, может намеренно отправлять выделенный JavaScript в браузер.
Рекомендации
Библиография
- Замметти, Франк (25 января 2008 г.), Практические проекты DWR 2 (1-е изд.), Apress, п. 540, г. Дои:10.1007/978-1-4302-0556-2, ISBN 978-1-59059-941-9