May 2007
May 20, 2007
概要
DWR は、Ajax Web サイトを作成するためのオープンソースのライブラリです。DWR を使用することにより、サーバー上の機能をあたかもブラウザ上にあるように使用することができます。
DWR は、以下の2つの要素で構成されています。
このリモートメソッド呼び出しの方式により、RMI や SOAP のような RPC 機能を Web ブラウザのプラグインなしで実現することができます。
Ajax の機能は非同期的であるのに対し、Java の機能は基本的に同期的です。そのため、リモートメソッド呼び出しを行うためには、DWR とコールバックメソッドを使用します。コールバックメソッドは、ネットワークからデータを受け取った時に呼び出されます。
DWR は、サーバーサイドのコードに対応する AjaxService クラスを JavaScript 内で動的に生成します。これは EventHandler と呼ばれます。DWR は JavaScript と Java 間の型変換も含め、すべてのリモートメソッド呼び出しに関する処理を行います。
HP
http://getahead.org/dwr/
ダウンロード
今回はバージョン 2.0.1 を使用します。
dwr.jar をダウンロードし、WEB-INF/lib にコピーします。
Srevletの設定
WEB-INF/web.xml に、DWR 用 Servlet の設定をします。
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
DWRの設定
WEB-INF/dwr.xml に、DWR 用の設定を行います。
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create creator="new" javascript="JDate">
<param name="class" value="java.util.Date"/>
</create>
</allow>
</dwr>
DWRの動作確認
以下のURLにアクセスすると、利用可能なリモート呼び出しが表示されます。
http://localhost:8080/[YOUR-WEBAPP]/dwr/
サンプル
20070520-dwr.zip
mvn -DdownloadSources -Dwtpversion=1.5 eclipse:eclipse
DWR は、Ajax Web サイトを作成するためのオープンソースのライブラリです。DWR を使用することにより、サーバー上の機能をあたかもブラウザ上にあるように使用することができます。
DWR は、以下の2つの要素で構成されています。
- Servlet : サーバー上に位置し、ブラウザからのリクエストの処理と応答を行います。
- JavaScript : ブラウザ上からサーバーにリクエストを送出し、Webページを更新します。
このリモートメソッド呼び出しの方式により、RMI や SOAP のような RPC 機能を Web ブラウザのプラグインなしで実現することができます。
Ajax の機能は非同期的であるのに対し、Java の機能は基本的に同期的です。そのため、リモートメソッド呼び出しを行うためには、DWR とコールバックメソッドを使用します。コールバックメソッドは、ネットワークからデータを受け取った時に呼び出されます。
DWR は、サーバーサイドのコードに対応する AjaxService クラスを JavaScript 内で動的に生成します。これは EventHandler と呼ばれます。DWR は JavaScript と Java 間の型変換も含め、すべてのリモートメソッド呼び出しに関する処理を行います。
HP
http://getahead.org/dwr/
ダウンロード
今回はバージョン 2.0.1 を使用します。
dwr.jar をダウンロードし、WEB-INF/lib にコピーします。
Srevletの設定
WEB-INF/web.xml に、DWR 用 Servlet の設定をします。
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
DWRの設定
WEB-INF/dwr.xml に、DWR 用の設定を行います。
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create creator="new" javascript="JDate">
<param name="class" value="java.util.Date"/>
</create>
</allow>
</dwr>
DWRの動作確認
以下のURLにアクセスすると、利用可能なリモート呼び出しが表示されます。
http://localhost:8080/[YOUR-WEBAPP]/dwr/
サンプル
20070520-dwr.zip
mvn -DdownloadSources -Dwtpversion=1.5 eclipse:eclipse
(15:39)