DWR的优势在项目中很容易体现出来,近乎完美的封装,超级简单的配置,在现在的Web项目中不使用DWR不是明智的举动。
给人直观的感觉就是可以在JSP页面中直接调用Service Bean中的方法,并且将返回值返回到页面,页面中可以直接使用。
如果项目中同时使用到了Spring和DWR,就必须对两者进行整合,原因很简单,因为DWR负责进行远程创建对象,在DWR进行远程创建的过程中,使被创建对象失去了Spring容器进行的Ioc和AOP装配机会。这样创建出来的对象肯定是不能用的。
整合的方式也很简单,传统的整合方式就是对dwr.xml文件中的配置做少许的调整:....
文字描述真麻烦,举例对比吧!
未使用spring的dwr.xml文件内部分配置:
1. ...
2. <create creator="new" javascript="自动创建的JS对象名">
3. <param name="class" value="类全限定名">
4. </create>
5. ...
使用spring的dwr.xml文件内部分配置应改为:
1. ...
2. <create creator="spring" javascript="自动创建的JS对象名">
3. <param name="beanName" value="spring容器中类Id">
4. </create>
5. ...
6.
这样配置后DWR远程创建的这个service对象就可以具备了Spring容器内对象的特征,远程创建的Service对象中的方法也就享有了Spring的声明式事务。这样就可以满足我们项目的一般需求了。
Spring2.0中增加了自定义命名空间,DWR开发团队也为之做除了贡献,这使Spring和DWR整合起来更加方便了,让我们可以彻底告别dwr.xml配置文件了。
我们要做的就是:
1.在beans标签中加点内容而已:
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd
老办法,对比说明,以前Spring配置文件中beans标签:
1. <beans xmlns="http://www.springframework.org/schema/beans"
2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
4. default-lazy-init="false">
现在改为:
1. <beans xmlns="http://www.springframework.org/schema/beans"
2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3. xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
4. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
5. http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd"
6. default-lazy-init="false">
2. 此外在web.xml中还要用org.directwebremoting.spring.DwrSpringServlet将org.directwebremoting.dwr.DwrServlet替换
3. 之后就可以直接在bean标签中通过下面的方式将service的方法暴露给远程客户端
1. <bean id="beanId" class="被暴露的service组件">
2. .....
3. <dwr:remote javascript="被暴露的service组件名">
4. <dwr:include method="暴露service组件中的方法名" />
5. <dwr:include method="暴露service组件中的方法名" />
6. ....
7. </dwr:remote>
8. </bean>
9.
4. 需要转换的自定义对象需要在<dwr:configuration>标签内指定:
1. <dwr:configuration>
2.
3. <dwr:convert type="hibernate3(采用的转换类型)" class="需要转换的自定义类型全限定名">
4. </dwr:convert>
5. .......
6. </dwr:configuration>
7.
这种集成方式还是比较方便的.
分享到:
相关推荐
整合DWR与Spring可以让我们更好地管理和控制DWR的组件,并利用Spring的强大功能来简化配置和增强可维护性。 1. **DWR基本概念** - DWR的核心是允许Java对象在Web页面上直接调用,实现JavaScript与服务器端Java对象...
在整合Spring和Direct Web Remoting (DWR)框架时,主要目的是实现在Web应用程序中创建一个可交互的、实时的用户界面,通过Ajax技术在客户端和服务器之间进行数据交换。以下将详细介绍整合过程中的关键步骤。 1. **...
### Spring使用Annotation整合DWR知识点解析 #### 一、概览 在现代Web开发中,Direct Web Remoting(简称DWR)是一种简化Ajax应用开发的技术,它允许JavaScript直接调用服务器端的Java方法,而无需编写复杂的XML...
将DWR与Spring整合,可以利用DWR的异步通信能力,结合Spring的强大管理功能,构建高效、灵活的Web应用。 **整合过程** 1. **引入依赖**:首先,我们需要在项目中引入DWR和Spring的相关jar包。对于Maven项目,可以...
**Spring整合DWR的步骤:** 1. **添加依赖**:在项目中引入DWR的jar包或者Maven/Gradle的依赖配置。 2. **配置DWR Context**:创建`dwr.xml`配置文件,定义允许JavaScript访问的Java类和方法。例如: ```xml ...
- **简化Ajax开发**:Spring整合DWR后,可以利用Spring的IoC容器管理DWR的bean,简化配置和依赖管理。 - **增强安全性**:Spring的安全框架可以与DWR结合,提供更安全的远程方法调用。 - **更好的测试性**:...
4. **整合DWR和Spring**:为了让DWR能够找到Spring管理的Bean,需要配置DWR-Spring集成。这可以通过在dwr.xml中添加`<dwr:annotation-config>`标签,以及在web.xml中配置DWR的Spring监听器来实现。 5. **编写前端...
4. **安全性**:整合DWR和Spring可以利用Spring的安全框架,对远程方法调用进行权限控制,增强应用的安全性。 **DWR与Struts2的整合**包括: 1. **Action与DWR交互**:Struts2的Action类可以调用DWR生成的...
整合DWR和Spring的主要目标是利用Spring的管理能力来处理DWR的bean,同时利用DWR的动态JavaScript生成能力来简化客户端的Ajax调用。 1. **DWR的配置**: - 在DWR 2.0中,我们需要在Web应用的`WEB-INF/dwr.xml`配置...
### Spring 2中整合DWR 2:详细解析与实践 #### 一、Spring与DWR简介 在探讨如何在Spring 2框架中整合DWR 2之前,我们首先需要了解这两个技术的基本概念。 - **Spring框架**:Spring是目前Java开发中最流行的开源...
**Spring+DWR整合项目详解** Spring框架是Java企业级应用开发中的主流框架,它提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等核心功能,极大地简化了开发流程。DWR(Direct Web Remoting)则是一...
在"spring+dwr.rar_dwr_dwr SPRING_spring dwr"这个项目中,我们将看到如何整合这两个工具,以实现一个简单的功能:验证用户名是否存在。这个功能通常用于注册或登录页面,防止用户选择已被占用的用户名。 步骤如下...
在本教程中,我们将探讨如何利用Direct Web Remoting (DWR) 和Spring框架来实现这样的功能。 DWR是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时的、异步的通信,类似于Ajax的功能,但更加强大。...
**Spring与DWR整合详解** 在Java Web开发中,Spring框架和Direct Web Remoting (DWR) 是两个非常重要的工具。Spring提供了强大的依赖注入、事务管理以及AOP(面向切面编程)等功能,而DWR则允许在浏览器端直接调用...
总结,Spring+Dwr+Hibernate的整合项目提供了一种高效的方式,用于开发具备实时交互特性的Web应用。通过Spring的管理能力、Hibernate的ORM功能以及DWR的双向通信支持,开发者可以构建出高性能、易于维护的企业级应用...
整合Spring 3.0与DWR 3.0的主要目标是利用Spring的强大控制反转(IoC)和依赖注入(DI)功能,以及DWR的异步JavaScript和XML(AJAX)能力,创建高性能、交互性强的Web应用。以下是对这个整合过程的详细阐述: 1. **...
《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》是《基于J2EE的Ajax宝典》的第二版。《基于J2EE的Ajax宝典》面市近2年,作为Ajax领域最全面、实用的图书,一直深受读者的好评。全书主要分为三个...
**DWR整合Spring MVC**是将Direct Web Remoting (DWR)框架与Spring MVC结合使用,以实现前端JSP页面直接调用后端Java方法的功能。这种整合方式极大地提高了Web应用的交互性和实时性,降低了数据传输的复杂性。本文将...
标题中的“Spring2.5+DWR3.0整合实现autocomplete”是指在Web开发中,使用Spring 2.5框架与Direct Web Remoting (DWR) 3.0库结合,来实现一个自动补全(autocomplete)功能。这个功能常见于搜索引擎、表单输入等场景...