DWR2.0 整合Spring2.0

DWR与Spring集成实践
本文介绍如何在项目中集成DWR与Spring框架,包括必要的jar包引入、web.xml配置、业务逻辑类实现、spring配置文件设置及dwr.xml配置等步骤。

1.jar包:

  spring2.5基本的jar包引入,(在http://yxwang0615.iteye.com/blog/967373中有笔记);

  dwr.jar;

  commons-pool-1.3.jar;

2.web.xml中加入dwr拦截器、监听器及自动加载spring配置文件的参数:

<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	
	 <!-- DWR2.0 BEGIN -->
   <servlet>
    <servlet-name>dwrInvoker</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>classes</param-name>
    <param-value>java.lang.Object</param-value>
    </init-param>
    <init-param>
    	<param-name>crossDomainSessionSecurity</param-name>
    	<param-value>false</param-value>
    </init-param>
      
      <load-on-startup>4</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>dwrInvoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
  <!-- DWR2.0 END -->
  <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>

	
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

3. 业务逻辑类及相关的实体类:

 

//User类:
public class User implements Serializable{
	private int id;
	private String uname;
	private String upass;
                getter and setter..
}

//UserManage类:
public class UserManager implements Serializable{
	
	public List getlist(){
		
		List users = new ArrayList();
		User u = null;
		for(int i = 0; i < 5; i++){
			u = new User();
			u.setId(i);
			u.setUname("name" + i);
			u.setUpass("pass" + i);
			System.out.println(i);
			users.add(u);
		}
		return users;
	}
         public boolean validate(String uname, String upass){
               if("admin".equals(uname)&& "admin".equals(upass)){
	    return true;
               }
              return false; 
         }
}

4.  spring配置文件,放在/WEB-INF/下:

<?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:tx="http://www.springframework.org/schema/tx"
	     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.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

	<bean id="UserManager" class="com.wyx.test.UserManager">
	</bean>
</beans>

 5.dwr.xml:

<?xml version="1.0" encoding="UTF-8"?>
<dwr>
    <allow>
        <convert  converter="bean" match="com.wyx.test.User"></convert>
        
        <create creator="spring" javascript="UserManager">
			  <param name="beanName" value="UserManager"/>	
        </create>        
   </allow>
</dwr>

 

参考:http://wenku.baidu.com/view/c26248c58bd63186bcebbcad.html

DWR是Direct Web Remoting 的缩写。 DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单. DWR 是一个开放源码的使用 Apache 许可协议的解决方案,它包含服务器端 Java 库、一个 DWR servlet 以及 JavaScript 库。虽然 DWR 不是 Java 平台上唯一可用的 Ajax-RPC 工具包,但是它是最成熟的,而且提供了许多有用的功能。 从最简单的角度来说,DWR 是一个引擎,可以把服务器端 Java 对象的方法公开给 JavaScript 代码。使用 DWR 可以有效地从应用程序代码中把 Ajax 的全部请求-响应循环消除掉。这意味着客户端代码再也不需要直接处理 XMLHttpRequest 对象或者服务器的响应。不再需要编写对象的序列化代码或者使用第三方工具才能把对象变成 XML。甚至不再需要编写 servlet 代码把 Ajax 请求调整成对 Java 域对象的调用。 DWR 是作为 Web 应用程序中的 servlet 部署的。把它看作一个黑盒子,这个 servlet 有两个主要作用:首先,对于公开的每个类,DWR 动态地生成包含在 Web 页面中的 JavaScript。生成的 JavaScript 包含存根函数,代表 Java 类上的对应方法并在幕后执行 XMLHttpRequest。这些请求被发送给 DWR,这时它的第二个作用就是把请求翻译成服务器端 Java 对象上的方法调用并把方法的返回值放在 servlet 响应中发送回客户端,编码成 JavaScript。DWR 还提供了帮助执行常见的用户界面任务的 JavaScript 工具函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值