no title

前から気になっていた

AJAX made simple with DWR

に触発されて試してみる。環境は

  • WindowsXP Pro
  • Tomcat5.0.25
  • Eclipse3.1+Sysdeo Tomcat plug-in
  • IE6.0/FireFox1.0
  • DWR Version 1.0RC1

てな感じ。まずはインストール。

1. Tomcatプロジェクトを作成(名称はdwrsample)。

2. http://www.getahead.ltd.uk/dwr/download.htmlからdwr.jarをDLしてWEB-INF/libへcopy。

3. WEB-INFにweb.xmlを作成。内容はhttp://www.getahead.ltd.uk/dwr/intro.htmlに書いてあるのをそのまま。

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app id="dwr">

<servlet>
  <servlet-name>dwr-invoker</servlet-name>
  <display-name>DWR Servlet</display-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-app>

4. WEB-INFにdwr.xmlを作成。これもとりあえずhttp://www.getahead.ltd.uk/dwr/intro.htmlに書いてあるのをそのまま。

<?xml version="1.0" encoding="UTF-8"?>
<!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>
    <create creator="new" javascript="Demo">
      <param name="class" value="your.java.Bean"/>
    </create>
  </allow>
</dwr>

4. おもむろにTomcatを起動したらいろいろ怒られた。うーん。

情報: Missing class for creator 'spring'. Failed to load uk.ltd.getahead.dwr.create.SpringCreator. Cause: org/springframework/beans/factory/BeanFactory
情報: Missing class for converter 'jdom'. Failed to load uk.ltd.getahead.dwr.convert.JDOMConverter. Cause: org/jdom/Docu

http://www.getahead.ltd.uk/dwr/download.htmlからdwr-1.0RC1-src.zipをDLして展開したjdom.jar/spring.jarなどをWEB-INF/libへ入れるとこのメッセージは消えるけど、DWRの動作を確認する画面http://hogehoge/dwrsample/dwr/を呼び出しても帰ってくるのはエラー(TransformerFactoryImpl not foundとか)。うーん。ぐぐってもusers@dwr.dev.java.netを漁ってもヒットしない。なんでやねん...。と、悩むこと2時間w。原因はTomcat5.0.25がJRE1.5で動いていたせいらしい。JDK1.4.2_04のものに変えたら無事DWR Test Indexが表示された。結果から言えば、jdom.jar/spring.jarをWEB-INF/libへ配置する必要はなくdwr.jarだけでOK。つまりhttp://www.getahead.ltd.uk/dwr/intro.htmlの内容でOKでしたとさorz

これでやっと試せる。