[DWR][S2]DWRを使って、Seasar2が管理するコンポーネントにアクセスする

すでにいろいろなとこで書いてありますが、自分の整理のために書いておく。
DWRを使用して、Seasar2が管理するJavaオブジェクトをjavascriptから呼び出す方法を以下に示します。DWRSeasar2についての知識はあるものとして解説します。
具体的には、ReceiptWaferFacadeインターフェイスを持った、ReceiptWaferFacadeImplがDIコンテナに管理されています。DWRを使用して、ReceiptWaferFacadeインターフェイスのgetWaferByAcceptNumber(String)メソッドを呼び出して、ReceiptWaferDtoオブジェクトを取得します。

開発環境

開発手順

  1. EclipseJ2EE Web Projectを作成する。


    Web Projectを選択して「次へ」をクリックする。


    プロジェクト名を記入して「終了」をクリックする。
  2. Strutsの設定をする。


    Base package for new classesとDefault application resourcesのパッケージを変更し、「終了」をクリックする。
  3. Seasar2のファイルをインポートする。インポートするファイル名はセットアップを参考にしてください。
  4. S2Strutsのファイルをインポートする。インポートするファイルはhttp://s2struts.seasar.org/ja/s2struts.html#SetupのS2StrutsBlankVxxx.zipには、以下を参考にしてください。
  5. S2Containerを起動するためにS2ContainerServletをweb.xmlに登録する。
    web.xml
    <?xml version="1.0" encoding="UTF-8"?>

    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

      <filter>

        <filter-name>s2filter</filter-name>

        <filter-class>org.seasar.framework.container.filter.S2ContainerFilter</filter-class>

      </filter>


      <filter>

        <filter-name>s2strutsfilter</filter-name>

        <filter-class>org.seasar.struts.filter.S2StrutsFilter</filter-class>

      </filter>


      <filter-mapping>

        <filter-name>s2filter</filter-name>

        <url-pattern>/*</url-pattern>

      </filter-mapping>


      <filter-mapping>

        <filter-name>s2strutsfilter</filter-name>

        <url-pattern>/*</url-pattern>

      </filter-mapping>


      <servlet>

        <servlet-name>s2container</servlet-name>

        <servlet-class>org.seasar.framework.container.servlet.S2ContainerServlet</servlet-class>

          <init-param>

              <param-name>configPath</param-name>

               <param-value>app.dicon</param-value>

          </init-param>

        <load-on-startup>1</load-on-startup>

      </servlet>


      <!-- Standard Action Servlet Configuration (with debugging) -->

      <servlet>

        <servlet-name>action</servlet-name>

        <servlet-class>org.seasar.struts.servlet.S2ActionServlet</servlet-class>

        <init-param>

          <param-name>config</param-name>

          <param-value>/WEB-INF/struts-config.xml</param-value>

        </init-param>

        <init-param>

          <param-name>debug</param-name>

          <param-value>2</param-value>

        </init-param>

        <init-param>

          <param-name>detail</param-name>

          <param-value>2</param-value>

        </init-param>

        <load-on-startup>2</load-on-startup>

      </servlet>


      <servlet-mapping>

        <servlet-name>s2container</servlet-name>

        <url-pattern>/s2container</url-pattern>

      </servlet-mapping>


      <servlet-mapping>

        <servlet-name>action</servlet-name>

        <url-pattern>*.do</url-pattern>

      </servlet-mapping>


    </web-app>