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/サーブレット