在項目中開始使用DWR1.0發現DWR2.0有注解后,采用DWR2.0注解,但是遮增加了web.xml 中DWRServlet中classes參數的信息。終于DWR3.0發布了。采用DWR3.0開發實現完美整合。
DWR 3.0 RC1发布
DWR终于到达3.0版本,刚刚发布了3.0 release candidate 1。DWR(Direct Web Remoting)是一个WEB远程调用框架,能够在javascript直接调用java方法,而不必去写一大堆的javascript代码,利用这个框架可以让AJAX开发变得很简单. 新功能包括:提升RPC性能;提升字节文件上传/下载功能;通过JavaScript实现Java接口;提供可扩展的反向Ajax APIs;TIBCO GI集成;集成Dojo;支持更多的服务器比如Tomcat和Glassfish等等。 详情点击:DWR version 3.0 Release Candidate 1 点击这里下载DWR 3.0 RC1: http://directwebremoting.org/dwr/download |
package com.unutrip.spring.dwr;
/**
*
* @author longgangbai
*
*/
public interface UserService {
public String getUsername(UserVO user);
}
package com.unutrip.spring.dwr;
import org.directwebremoting.annotations.Param;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;
import org.directwebremoting.spring.SpringCreator;
import org.springframework.beans.factory.annotation.Autowired;
/**
*
* @author longgangbai
*
*/
@RemoteProxy(creator = SpringCreator.class, creatorParams = @Param(name = "beanName", value = "userServiceDWR"))
public class UserServiceDWR {
@Autowired
private UserService userService;
@RemoteMethod
public String getUsername(UserVO user) {
return this.userService.getUsername(user);
}
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
}
package com.unutrip.spring.dwr;
import org.springframework.stereotype.Service;
/**
*
* @author longgangbai
*
*/
@Service
public class UserServiceImpl implements UserService {
public String getUsername(UserVO user) {
return user.getUsername();
}
}
package com.unutrip.spring.dwr;
import org.directwebremoting.annotations.DataTransferObject;
import org.directwebremoting.annotations.RemoteProperty;
/**
*
* @author longgangbai
*
*/
@DataTransferObject
public class UserVO {
@RemoteProperty
private String username;
@RemoteProperty
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
在applicationContext中配置如下:
<?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:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
xsi:schemaLocation="
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd" default-autowire="byName">
<context:annotation-config/>
<context:component-scan base-package="com.unutrip.spring.dwr" />
<!-- order值越小, 优先级越高 -->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="order" value="1" />
</bean>
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
<property name="order" value="2" />
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
在action-servlet.xml配置如下:
<?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:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
xsi:schemaLocation="
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd" default-autowire="byName">
<!--
<tx:annotation-driven/>
-->
<!-- DWR -->
<!-- New DWR capabilities-->
<dwr:configuration>
<dwr:convert class="com.unutrip.spring.dwr.UserVO" type="bean" />
<dwr:signatures>
<![CDATA[
]]>
</dwr:signatures>
</dwr:configuration>
<dwr:annotation-config />
<dwr:url-mapping />
<!-- 部署项目时, 请把debug设为false -->
<dwr:controller id="dwrController" debug="true" />
</beans>
註意點:添加了顔色哦!!哈哈哈
兩個查看開源源代碼的網站:
http://fisheye5.cenqua.com/browse/dwr/java/org/directwebremoting/dwrp/Batch.java?r=1.16#l109
相关推荐
在本文中,我们将探讨如何将Direct Web Remoting (DWR) 3.0与...通过这种方式,DWR 3.0与Spring 2.5的整合使用注解配置简化了开发流程,使得Java后端的方法可以直接在客户端JavaScript中调用,实现前后端的无缝交互。
实现Comet消息推送功能,根据登陆人定向推送,解决刷新页面原有ScriptSession不能及时销毁的问题,DEMO比较简陋,请先进入login.jsp页面登陆。根据登陆名称判断推送目标,可登陆多个用户进行测试。
comet.jsp就是聊天室接收消息的界面,action.jsp就是发送消息的界面,为了更好的说明问题,将接收界面和发送界面放在两个窗口中, 测试时同时可以打开多个接收界面和发送界面, 执行发送界面的发送按钮会发现在所有...
标题中的“Spring2.5+DWR3.0整合实现autocomplete”是指在Web开发中,使用Spring 2.5框架与Direct Web Remoting (DWR) 3.0库结合,来实现一个自动补全(autocomplete)功能。这个功能常见于搜索引擎、表单输入等场景...
DWR 3.0是该技术的一个版本,提供了许多增强的功能和改进,旨在简化开发过程并提高性能。 在DWR 3.0中,有几个核心概念和技术点值得深入探讨: 1. **AJAX通信**:DWR的核心功能是通过AJAX(Asynchronous ...
DWR3.0是DWR的一个重要版本,它提供了许多增强的功能和改进,使得开发人员能够更高效地构建动态、交互式的Web应用。 DWR3.0的JAR包包含了所有必要的类和资源,用于在服务器端集成DWR框架。这个JAR文件通常会包含...
综上所述,DWR3.0通过其强大的功能和易于使用的API,极大地简化了服务器端和客户端之间的通信,特别是对于需要实时数据推送的应用场景,DWR3.0是一个非常实用的选择。学习并熟练掌握DWR3.0的使用,有助于开发者构建...
总之,DWR3.0是一个强大的工具,它简化了Java Web应用中的AJAX开发,提高了用户体验,并且提供了丰富的功能和高度的灵活性。这个压缩包提供的dwr3.0.jar和dwr3.0.war文件,使得开发者可以快速地在他们的项目中集成和...
【标题】"dwr3.0+SSH2"是一个基于Java技术的Web应用程序开发框架的组合,其中DWR(Direct Web Remoting)是用于在浏览器和服务器之间进行实时通信的库,而SSH2则通常指的是Struts2、Spring和Hibernate这三大开源框架...
这个实例项目展示了如何高效地集成DWR、Spring、Hibernate和JPA,实现基于全注解的Java Web应用开发。通过学习和实践这个项目,开发者可以掌握这些关键技术的综合运用,提高在企业级应用开发中的技能。
该项目为基于Spring4框架与DWR3.0注解集成的应用设计源码,包含25个文件,涵盖5个XML配置文件、3个HTML页面、3个Java类文件、2个JavaScript脚本文件、2个Eclipse项目偏好设置文件、1个Markdown文件、1个项目构建文件...
整合DWR 2.0 和Spring 3.0 可以极大地提升Web应用的交互体验,让开发者能够更轻松地实现复杂的Ajax功能,同时保持良好的结构和可维护性。通过上述步骤,你可以创建一个演示项目,理解如何将这两个强大的工具结合在...
综上所述,"DWR与SPRING,DWR与STRUTS2的整合"主题涵盖了现代Java Web开发中重要的三个方面:DWR的实时通信能力、Spring的全面后端支持和Struts2的MVC架构。通过整合这三者,开发者可以构建出具有高效交互、灵活管理...
DWR3.0是该框架的一个版本,提供了许多增强的功能和改进,使得开发人员可以更加便捷地构建富互联网应用程序(RIA)。 在DWR3.0中,有几个核心概念和技术点值得深入探讨: 1. **AJAX 支持**: DWR通过AJAX技术使...
DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,...在实际开发中,理解并掌握DWR的配置、使用以及与其他技术的融合,将对提升开发效率和应用质量大有裨益。
**DWR3.0应用详解** DWR (Direct Web Remoting) 是一种JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,无需刷新页面。DWR3.0是其一个重要版本,提供了对现代浏览器的支持,包括新版的Opera,但...
DWR3.0 Spring3.2 Hibernate4.2 JPA全注解实例。采用JTA事务管理,配置ehcache为二级缓存,在glassfish3.2.2和postgresql9测试通过。参考网上的资料整理。.
Direct Web Remoting (DWR) 是一个开源的Java库,允许Web应用程序在浏览器和服务器之间进行实时通信,绕过传统的Ajax限制。这个压缩包包含了DWR的三个关键组件:DWR3.0.jar,DWR的实例war文件,以及DWR2.0的中文说明...
DWR 3.0的中文文档对于中国开发者来说是一个宝贵的资源,它可以帮助开发者快速理解和掌握如何使用DWR来构建Web应用。文档通常包括以下几个部分: 1. **介绍**:解释DWR的基本概念,其工作原理,以及为什么在项目中...