2007-01-13 Ajax+Javaアーキテクチャ構築記第七回
■[DWR2]
さて、以前から告知していたDWR2の解説、今日からはじめてみたいと思います。
現在のバージョンは2.0 RC2で、もうすぐ正式バージョンがリリースされそうですね。
では、さっそくはじめましょう。
今回は、DWRが2になってどう変わったのか、あとはインストールして簡単に動作させるまでを書きたいと思います。
2になってどう変わったのか
- パッケージ名がuk.ltd.getahead.dwrからorg.directwebremotingに変更された
- コンバータのAPIが変更になったため、書き直しが必要
- リバースAjax(HTTPプッシュ配信の応用)をフルサポート
- Spring、EJB3のデフォルトサポート追加
- バッチ処理のサポート
- Java5アノテーションで設定可能になった
などなど。
メジャーバージョンアップだけあって、コードはかなり書き換えられているので、細かい点での違いを挙げるときりがありません。
インストール
まずは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>タグを指定する方法がポイントです。
今回はこんなところ。次回はアノテーションでの設定かなあ。
- 3 http://r.hatena.ne.jp/sabro/
- 3 http://reader.livedoor.com/reader/
- 3 http://search.www.infoseek.co.jp/OTitles?col=OW&svx=980100&qt=ソケットから読み込むデータはこれ以上ありません
- 2 http://pc.matome.jp/keyword/JBoss
- 2 http://www.google.com/reader/view/
- 1 http://72.14.235.104/search?q=cache:CtUGrd0vsX8J:d.hatena.ne.jp/Syunpei/20061122+json形式+文字列 変換&hl=ja&gl=jp&ct=clnk&cd=11&lr=lang_ja&client=firefox
- 1 http://bookmark.fc2.com/search/tag/?size=10&sort=dd&show_image=1
- 1 http://cgi.search.biglobe.ne.jp/cgi-bin/search-iep_lp?start=10&num=10&q=JAVA+SSL+相対パス&lr=lang_ja
- 1 http://d.hatena.ne.jp/keyword/ロバストネス図
- 1 http://d.hatena.ne.jp/keyword/サーブレット