Прямое веб-удаленное взаимодействие


Из Википедии, бесплатной энциклопедии
  (Перенаправлено из DWR (Java) )
Перейти к навигации Перейти к поиску

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 решает эту проблему, позволяя веб-разработчику указать функцию, которая будет вызываться при возврате данных, с использованием дополнительного параметра метода. Этот дополнительный метод называется методом обратного вызова . Значение, возвращаемое функцией java, будет передано методу обратного вызова.

Вот пример обратного вызова:

 MJavaClassOnJs . getListProducts ( selectedCategory , {  обратного вызова : Функция ( returnedList ) {  DWR . Util . addOptions ( myComboId , returnedList , "ProductID" , "ProductName" )  }  })

Обратный вызов - это функция внутри объекта JSON, переданная в качестве дополнительного параметра удаленной функции.

В версии 2.0 DWR поддерживает Comet (также называемый «Reverse Ajax») [2], где Java-код, запущенный на сервере, может намеренно отправлять выделенный JavaScript в браузер.

использованная литература

  1. Перейти ↑ Carneiro Jr., Cloves (20 июня 2005 г.). «AJAX стало проще с DWR» . JavaWorld . Проверено 6 августа 2020 .
  2. ^ a b Обзор DWR , получено 24 июня 2008 г.

Библиография

  • Замметти, Франк (25 января 2008 г.), Практические проекты DWR 2 (1-е изд.), Apress , стр. 540, DOI : 10.1007 / 978-1-4302-0556-2 , ISBN 978-1-59059-941-9

внешние ссылки

  • Официальный веб-сайт
Источник « https://en.wikipedia.org/w/index.php?title=Direct_Web_Remoting&oldid=1037272833 »