[DWR][S2]DWRを使って、Seasar2が管理するコンポーネントにアクセスする
すでにいろいろなとこで書いてありますが、自分の整理のために書いておく。
DWRを使用して、Seasar2が管理するJavaオブジェクトをjavascriptから呼び出す方法を以下に示します。DWRとSeasar2についての知識はあるものとして解説します。
具体的には、ReceiptWaferFacadeインターフェイスを持った、ReceiptWaferFacadeImplがDIコンテナに管理されています。DWRを使用して、ReceiptWaferFacadeインターフェイスのgetWaferByAcceptNumber(String)メソッドを呼び出して、ReceiptWaferDtoオブジェクトを取得します。
開発環境
開発手順
- EclipseでJ2EE Web Projectを作成する。
Web Projectを選択して「次へ」をクリックする。
プロジェクト名を記入して「終了」をクリックする。
- Strutsの設定をする。
Base package for new classesとDefault application resourcesのパッケージを変更し、「終了」をクリックする。
- Seasar2のファイルをインポートする。インポートするファイル名はセットアップを参考にしてください。
- S2Strutsのファイルをインポートする。インポートするファイルはhttp://s2struts.seasar.org/ja/s2struts.html#SetupのS2StrutsBlankVxxx.zipには、以下を参考にしてください。
- 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>