Hatena::Diary

IT-Walker on hatena このページをアンテナに追加 RSSフィード

2007-01-13 Ajax+Javaアーキテクチャ構築記第七回

[]

さて、以前から告知していたDWR2の解説、今日からはじめてみたいと思います。

現在のバージョンは2.0 RC2で、もうすぐ正式バージョンがリリースされそうですね。

では、さっそくはじめましょう。

今回は、DWRが2になってどう変わったのか、あとはインストールして簡単に動作させるまでを書きたいと思います。

2になってどう変わったのか

などなど。

メジャーバージョンアップだけあって、コードはかなり書き換えられているので、細かい点での違いを挙げるときりがありません。

インストール

まずはhttps://dwr.dev.java.net/から最新のアーカイブを取得します。

Jarファイル(dwr.jar)にクラスパスを通します(WEB-INF/libに配置)。

あとはweb.xmlに設定を追加します。

設定が必須なのはサーブレット(DwrServlet)のみ。他、DwrServletを経由しないHttpリクエストを処理するスレッドに、DWRのWebContextをバインドするためのフィルター(DwrWebContextFilter)があります。

以下に設定例を示します。

    <!-- DWRのWebContextに全てのクラスでアクセスできるようにするためのフィルター -->
    <filter>
        <filter-name>DwrWebContextFilter</filter-name>
        <filter-class>
            org.directwebremoting.servlet.DwrWebContextFilter
        </filter-class>
    </filter>

    <!-- DWRサーブレット -->
    <servlet>
        <servlet-name>dwr-invoker</servlet-name>
        <servlet-class>
            org.directwebremoting.servlet.DwrServlet
        </servlet-class>
        <!-- 設定ファイルの場所を改行で区切って指定する。
             省略した場合は/WEB-INF/dwr.xmlが読み込まれる
        -->
        <!--
        <init-param>
            <param-name>config</param-name>
            <param-value>
                /WEB-INF/dwr.xml
            </param-value>
        </init-param>
        -->
        
        <!-- デバッグのON/OFF -->
        <init-param>
            <param-name>debug</param-name>
            <param-value>true</param-value>
        </init-param>
        
        <!--
            org.directwebremoting.extend.Configuratorを実装した、
            設定クラスを指定
        -->
        <!--
        <init-param>
            <param-name>customConfigurator</param-name>
            <param-value>クラス名</param-value>
        </init-param>
        -->
        
        <!--
            org.directwebremoting.ContainerオブジェクトをServletContextに
            登録するときの名前
        -->
        <!--
        <init-param>
            <param-name>publishContainerAs</param-name>
            <param-value>true</param-value>
        </init-param>
        -->
        <load-on-startup>0</load-on-startup>
    </servlet>
    
    <!-- DWRサーブレットとURLのマッピング -->
    <servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>

DwrServletの初期化パラメータは全てオプションなので、省略可能です。

DWR1では、サーブレットのクラス名はDWRServletだったのですが2ではDwrServletになっています。

これ以降、アプリを作る方法は、DWR1と変わりません。

http://www.javaworld.jp/enterprise/-/20862.html

とかを参照してサンプルを作ってみたりしてください(すいません手抜き・・・)。

大まかに言うと、dwr.xmlに設定を追加するのとHTML上で<script>タグを指定する方法がポイントです。

今回はこんなところ。次回はアノテーションでの設定かなあ。

トラックバック - http://d.hatena.ne.jp/Syunpei/20070113/1168704873