DWRを使うには、何らかのサーブレットコンテナで
アプリケーションを開発する必要があります。
このコンテンツではTomcatを使いますが、他のコンテナでも同様です。
DWRは非常に依存性の低いライブラリですので、
おそらく他のコンテナでも問題無く使用できるはずです。
まず、DWR のサイトからパッケージをダウンロードします。
ダウンロードしたファイル内にある dwr.jar を
対象Webアプリの WEB-INF/lib 以下にコピーします。
そして、WEB-INF/web.xml に以下を追加します。
<servlet>
<display-name>DWR Servlet</display-name>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.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>
最後に、WEB-INF/dwr.xml というファイルを新規に作成します。
内容は、例えば以下のようにします。
<?xml version="1.0" encoding="UTF-8" ?>
<dwr>
<allow>
<create creator="new" javascript="AjaxClass">
<param name="class" value="pack1.AjaxClass"/>
</create>
<convert converter="bean" match="pack1.AjaxBean"/>
</allow>
</dwr>
dwr/allow/create 要素に、Ajaxとして利用するクラス名を定義します。
そして dwr/allow/convert 要素に、データのやり取りに利用するBeanクラスを定義します。
DWRは、HTML内ならばどこからでも利用できます。
以下の記述をHTML内に追加するだけです。
<script src="dwr/interface/AjaxClass.js"></script> <script src="dwr/engine.js"></script> <script src="dwr/util.js"></script>
1行目の AjaxClass の部分は、dwr.xml 内で定義された
dwr/allow/create#javascript 属性の値である必要があります。
また、srcの部分は正確には絶対パスで /コンテキスト名/dwr/... です。
ただし、ソース内にコンテキスト名をハードコーディングするのは良くないので
なるべくなら相対パスでの指定にしましょう。
実際のクラス作成は、次のステップで説明します。