DWR2.0+Spring2.0 : DWR2.0とSpring 2.0の統合


DWR2.0+Spring2.0 : DWR2.0とSpring 2.0の統合
本文は重点的にDWR 2を紹介する.0とSpring 2.0の統合は,本稿を読む前に,DWRとspringの基本原理を読者が理解していると仮定する.
   1,web.xmlでのSpringの構成は次のとおりです.
 
<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
	<listener-class>
		org.springframework.web.context.ContextLoaderListener
	</listener-class>
</listener>	
<filter>
	<filter-name>requestContextFilter</filter-name>
	<filter-class>
		org.springframework.web.filter.RequestContextFilter
	</filter-class>
</filter>
<filter-mapping>
	<filter-name>requestContextFilter</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>
 
 
2,web.xmlでのDWRの構成は次のとおりです.
<servlet>
	<servlet-name>dwr-invoker</servlet-name>
	<servlet-class>
		org.directwebremoting.spring.DwrSpringServlet
	</servlet-class>
	<init-param>
		<param-name>debug</param-name>
		<param-value>true</param-value>
	</init-param>
	<init-param>
		<param-name>crossDomainSessionSecurity</param-name>
		<param-value>true</param-value>
	</init-param>
	<init-param>
		<param-name>allowScriptTagRemoting</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>
 
3,SpringプロファイルにDWRサポートを追加
 
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
     	http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    	 http://www.springframework.org/schema/aop 
    	 http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
     	http://www.directwebremoting.org/schema/spring-dwr
    	 http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd">
 
4,要素を宣言する
注意:Springプロファイルで要素(のサブ要素)を宣言する必要があります.
 
<dwr:configuration>
     ......
</dwr:configuration>
 
この要素を空にすることもできます.
 
<dwr:configuration/>
 
5,creatorとconverterの作成
(1)creatorとconverterを要素に直接書くことができます.以下に示します.
<dwr:configuration>
	 <dwr:create javascript="JHello" type="spring" scope = "session">
	    	<dwr:param name="beanName" value = "hello"/>
		<dwr:include method = "Hello"/>
	 </dwr:create>
	<dwr:convert type="bean"
		class="org.test.People">
		<dwr:include method="name" />
		<dwr:include method="age" />
	</dwr:convert>
</dwr:configuration>
 <bean id="hello" class="org.test.Hello"> </bean>
 
(2)creatorとconverterを要素に書きます.次のコードは(1)と等価ですが、Springと結合するとより美しくなります.
 <bean id="hello" class="org.test.Hello"
  	 scope="session">
  	<dwr:remote javascript="JHello">
   		<dwr:include method="hello" />
		<dwr:convert type="bean"
		                       class="org.test.People">
		              <dwr:include method="name" />
		              <dwr:include method="age" />
                                </dwr:convert>
 	</dwr:remote>
 </bean>
 
Springとdwrを統合した公式資料:http://directwebremoting.org/dwr/server/spring