`
longgangbai
  • 浏览: 7339217 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

DWR3.0和Spring2.5的完美整合的應用開發

阅读更多

 

  在項目中開始使用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

 

http://www.java2s.com/Open-Source/Java-Document/Web-Services/spring-ws-1.0.0/org/springframework/oxm/AbstractMarshaller.java.htm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://www.java2s.com/Code/JavaScript/CatalogJavaScript.htm

分享到:
评论
3 楼 天一 2009-10-30  
用的2.5.6
google了一下,好像是dwr的bug
2 楼 longgangbai 2009-10-30  
天一 写道
兄弟,有没有遇到过这个错误:
No adapter for handler [org.directwebremoting.spring.DwrController@1fd3297]: Does your handler implement a supported interface like Controller?



此处的DWR使用注解的时,必须和spring的整合的Spring2.5版本的
Controller为Spring2.5的控制器哦!
1 楼 天一 2009-10-29  
兄弟,有没有遇到过这个错误:
No adapter for handler [org.directwebremoting.spring.DwrController@1fd3297]: Does your handler implement a supported interface like Controller?

相关推荐

    配置整合DWR3.0和Spring2.5使用annotation注解

    在本文中,我们将探讨如何将Direct Web Remoting (DWR) 3.0与...通过这种方式,DWR 3.0与Spring 2.5的整合使用注解配置简化了开发流程,使得Java后端的方法可以直接在客户端JavaScript中调用,实现前后端的无缝交互。

    dwr3.0+spring2.5实现Comet消息推送DEMO

    实现Comet消息推送功能,根据登陆人定向推送,解决刷新页面原有ScriptSession不能及时销毁的问题,DEMO比较简陋,请先进入login.jsp页面登陆。根据登陆名称判断推送目标,可登陆多个用户进行测试。

    DWR的Comet测试,又称反Ajax(ReverseAjax),使用DWR3.0 + Spring 2.5

    comet.jsp就是聊天室接收消息的界面,action.jsp就是发送消息的界面,为了更好的说明问题,将接收界面和发送界面放在两个窗口中, 测试时同时可以打开多个接收界面和发送界面, 执行发送界面的发送按钮会发现在所有...

    Spring2.5+DWR3.0整合实现autocomplete

    标题中的“Spring2.5+DWR3.0整合实现autocomplete”是指在Web开发中,使用Spring 2.5框架与Direct Web Remoting (DWR) 3.0库结合,来实现一个自动补全(autocomplete)功能。这个功能常见于搜索引擎、表单输入等场景...

    dwr3.0文档和jar包

    DWR 3.0是该技术的一个版本,提供了许多增强的功能和改进,旨在简化开发过程并提高性能。 在DWR 3.0中,有几个核心概念和技术点值得深入探讨: 1. **AJAX通信**:DWR的核心功能是通过AJAX(Asynchronous ...

    DWR3.0 jar包API文档

    DWR3.0是DWR的一个重要版本,它提供了许多增强的功能和改进,使得开发人员能够更高效地构建动态、交互式的Web应用。 DWR3.0的JAR包包含了所有必要的类和资源,用于在服务器端集成DWR框架。这个JAR文件通常会包含...

    dwr3.0.jar

    综上所述,DWR3.0通过其强大的功能和易于使用的API,极大地简化了服务器端和客户端之间的通信,特别是对于需要实时数据推送的应用场景,DWR3.0是一个非常实用的选择。学习并熟练掌握DWR3.0的使用,有助于开发者构建...

    dwr3.0.jar_ajax

    总之,DWR3.0是一个强大的工具,它简化了Java Web应用中的AJAX开发,提高了用户体验,并且提供了丰富的功能和高度的灵活性。这个压缩包提供的dwr3.0.jar和dwr3.0.war文件,使得开发者可以快速地在他们的项目中集成和...

    dwr3.0+SSH2

    【标题】"dwr3.0+SSH2"是一个基于Java技术的Web应用程序开发框架的组合,其中DWR(Direct Web Remoting)是用于在浏览器和服务器之间进行实时通信的库,而SSH2则通常指的是Struts2、Spring和Hibernate这三大开源框架...

    DWR3.0_Spring3.1_Hibernate4.1_JPA全注解实例

    这个实例项目展示了如何高效地集成DWR、Spring、Hibernate和JPA,实现基于全注解的Java Web应用开发。通过学习和实践这个项目,开发者可以掌握这些关键技术的综合运用,提高在企业级应用开发中的技能。

    基于Spring4框架的DWR3.0注解集成应用设计源码

    该项目为基于Spring4框架与DWR3.0注解集成的应用设计源码,包含25个文件,涵盖5个XML配置文件、3个HTML页面、3个Java类文件、2个JavaScript脚本文件、2个Eclipse项目偏好设置文件、1个Markdown文件、1个项目构建文件...

    dwr2.0 spring 3.0 整合示例

    整合DWR 2.0 和Spring 3.0 可以极大地提升Web应用的交互体验,让开发者能够更轻松地实现复杂的Ajax功能,同时保持良好的结构和可维护性。通过上述步骤,你可以创建一个演示项目,理解如何将这两个强大的工具结合在...

    DWR与SPRING,DWR与STRUTS2的整合

    综上所述,"DWR与SPRING,DWR与STRUTS2的整合"主题涵盖了现代Java Web开发中重要的三个方面:DWR的实时通信能力、Spring的全面后端支持和Struts2的MVC架构。通过整合这三者,开发者可以构建出具有高效交互、灵活管理...

    dwr dwr包 dwr3.0文档 dwr3.0.jar

    DWR3.0是该框架的一个版本,提供了许多增强的功能和改进,使得开发人员可以更加便捷地构建富互联网应用程序(RIA)。 在DWR3.0中,有几个核心概念和技术点值得深入探讨: 1. **AJAX 支持**: DWR通过AJAX技术使...

    dwr3.0搭建与讲解

    DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,...在实际开发中,理解并掌握DWR的配置、使用以及与其他技术的融合,将对提升开发效率和应用质量大有裨益。

    DWR3.0应用

    **DWR3.0应用详解** DWR (Direct Web Remoting) 是一种JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,无需刷新页面。DWR3.0是其一个重要版本,提供了对现代浏览器的支持,包括新版的Opera,但...

    DWR3.0_Spring3.2_Hibernate4.2_JPA全注解实例

    DWR3.0 Spring3.2 Hibernate4.2 JPA全注解实例。采用JTA事务管理,配置ehcache为二级缓存,在glassfish3.2.2和postgresql9测试通过。参考网上的资料整理。.

    DWR3.0.jar、DWR.war和DWR2.0中文说明文档

    Direct Web Remoting (DWR) 是一个开源的Java库,允许Web应用程序在浏览器和服务器之间进行实时通信,绕过传统的Ajax限制。这个压缩包包含了DWR的三个关键组件:DWR3.0.jar,DWR的实例war文件,以及DWR2.0的中文说明...

    dwr3.0以及相关中文文档

    DWR 3.0的中文文档对于中国开发者来说是一个宝贵的资源,它可以帮助开发者快速理解和掌握如何使用DWR来构建Web应用。文档通常包括以下几个部分: 1. **介绍**:解释DWR的基本概念,其工作原理,以及为什么在项目中...

Global site tag (gtag.js) - Google Analytics