DWR与Spring结合

在上篇转载的博客中,是DWR的入门教程。通过上篇博客,可以初步了解到,DWR的原理以及DWR的使用过程。

上篇博客中的,暴露的类是DWR,new实例化的。若是使用Spring容器中的实例化的类,如何操作呢?

其实很简单,具体的步骤如下:

在上篇博客中,具体的暴露类、jsp,都不用改动。

第一:既然使用spring,因此在web.xml中配置spring。

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

  <servlet>
    <servlet-name>dwr</servlet-name>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</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>false</param-value>       
    </init-param>
  
  </servlet>
  <servlet-mapping>
    <servlet-name>dwr</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
  
  <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  
  <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>
</web-app>

第二:改动dwr.xml文件:

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
  <allow>
  <!-- service用于前台js上 -->
    <create creator="spring" javascript="service">
      <param name="beanName" value="serviceManager"/>
    </create>
  </allow>
</dwr>

 第三:配置Spring核心配置文件:

 

 

<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

   <bean name="serviceManager" class="com.test.Service"/> 
</beans>

OK,到此就OK,很简单。

 

其中dwr.xml中参数beanName中的value值是与spring配置文件中的bean name 相同即可。


其中dwr.xml中的每一个类被调用的方法都需要create,其中create中的creator有多种类型,默认情况下new。

还可以是spring框架、struts、jsf、pageflow,有兴趣可以尝试下


 

posted @ 2013-06-06 23:04  jlins  阅读(237)  评论(0编辑  收藏  举报