Прямое веб-удаление
Оригинальный автор(ы) | Джо Уокер |
---|---|
Разработчик(и) | Дэвид Марджиниан / Фонд Додзё |
Первоначальный выпуск | 29 августа 2005 г |
Стабильная версия | 3.0.2
/ 11 декабря 2016 г |
Репозиторий | |
Написано в | Java и JavaScript |
Операционная система | Кросс-платформенный |
Размер | 1,08 МБ (в архиве) |
Тип | Аякс Технология |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | директвебремотинг |
Direct Web Remoting , или DWR , — это библиотека Java с открытым исходным кодом , которая помогает разработчикам создавать веб-сайты, включающие Ajax . технологию [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 или SOAP , с тем преимуществом, что он работает через Интернет, не требуя подключаемых модулей веб-браузера.
DWR не считает важным протокол веб-браузера/веб-сервера и предпочитает, чтобы интерфейс программиста был естественным. Самая большая проблема здесь — объединить асинхронную природу Ajax с синхронной природой обычных вызовов методов Java.
В асинхронной модели данные результата доступны только через некоторое время после выполнения первоначального вызова. DWR решает эту проблему, позволяя веб-разработчику указать функцию, которая будет вызываться при возврате данных, с использованием дополнительного параметра метода. Этот дополнительный метод называется CallBack Method . Значение, возвращаемое функцией Java, будет передано методу обратного вызова.
Вот пример обратного вызова:
MJavaClassOnJs.getListProducts(selectedCategory,{
callback:function(returnedList){
dwr.util.addOptions(myComboId,returnedList,"productId","productName")
}
})
Обратный вызов — это функция внутри объекта JSON , передаваемая в качестве дополнительного параметра удаленной функции.
В версии 2.0 DWR поддерживает Comet (также называемый «Reverse Ajax»). [2] где код Java, работающий на сервере, может намеренно отправлять выделенный JavaScript в браузер.
Ссылки
[ редактировать ]- ^ Карнейро-младший, Гвоздика (20 июня 2005 г.). «AJAX стал проще с DWR» . JavaWorld . Проверено 6 августа 2020 г.
- ^ Перейти обратно: а б Обзор DWR , получено 24 июня 2008 г.
Библиография
[ редактировать ]- Заметти, Франк (25 января 2008 г.), Практические проекты DWR 2 (1-е изд.), Apress , стр. 540, номер домена : 10.1007/978-1-4302-0556-2 , ISBN 978-1-59059-941-9