`
hellonickco
  • 浏览: 50553 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类

DWR + Spring 的数据传输

阅读更多

DWR 使程序员在编写AJAX请求的时候减少了大量JS代码,更加关注与数据的内容传输。使用Spring来管理DWR请求后,可以使DWR调用更加方便:

 

现在有如下需求:需要将前端文本框中的文本信息,点击提交之后,实时的显示在页面上:

 

使用DWR需要用到:

 

dwr.jar 以及spring的相关jar包

 

要使用DWR首先要对web.xml中进行配置:

 

 

	<servlet>
		<servlet-name>dwr-invoker</servlet-name>
		<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>dwr-invoker</servlet-name>
                 <!--此处的hellonickcodwr为自己定义,在页面中引入时以此为路径-->
		<url-pattern>/hellonickcodwr/*</url-pattern>
	</servlet-mapping>
  

 之后要在web.xml中配置Spring的支持

 

       <!--配置Spring配置文件-->
       <context-param> 
		<param-name>contextConfigLocation</param-name> 
		<param-value>/WEB-INF/classes/applicationContext.xml</param-value> 
	</context-param>
	<!--添加contextloader listener-->
	<listener> 
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
	</listener>

 

 web.xml的配置告一段落,建立需要向前端传输数据的java类,在默认的package中新建HelloNickco类

 

 

public class HelloNickco
{
	public String getInput(String text)
	{
		return “您刚才输入的是: ” +text;
	}
	
}
  

之后要用Spring把这个类管理起来,在applicationContext.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"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

<!--beanId为自己定义,作为和dwr关联的标志,class为数据返回和处理类的路径+类名-->
 <bean id="getInputBean " class="HelloNickco"/>

</beans>
 

在web-info目录下建立dwr.xml配置文件:

 

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
	"http://getahead.ltd.uk/dwr/dwr20.dtd">

<dwr>

	<allow>
                <!--此处的javascipt对应的是js中调用的方法名,同时也是javascipt文件的方法名-->
		<create creator="spring" javascript="getInput"> 
		 <!--此处的value对应的是applicationContext中对应的bean id-->	
                 <param name="beanName" value="getInputBean"/> 
		</create>
		
	</allow>
	
</dwr>

 

到此为止,所有的配置相关的内容都已经做完了,下面我们看一下前端页面是如何调用dwr的:

 

1.在我们的页面中加入对dwr的支持:

 

<!--此处的hellonickcodwr为 web.xml中定义servlet url-mapping的定义-->
<script type='text/javascript' src='./hellonickcodwr/engine.js'></script>
<script type='text/javascript' src='./hellonickcodwr/util.js'></script>

 2. 加入我们编写的数据处理方法的调用:

<script type='text/javascript' src='./hellonickcodwr/interface/hello.js'></script>

 3.编写信息输入的代码

<h3>DWR+Spring</h3>
请输入内容:<input id="inputtext" name="inputtext" type="text"/><br>
                                                                  <!--此处后面编写-->
<input type="button" value="点击" onClick="sendMessage();"/>
<hr>
调用结果是:<br>
<!--用来显示后台传输过来的信息-->
<div id= "show"></div>

 4.编写sendMessage() 方法

 

<script>
function sendMessage()
{
                                 //此处name和value均可以取到  
      hello.hellojquery(DWRUtil.getValue('inputtext') ,function(data){
        
                 DWRUtil.setValue('show' ,data);
     });
}
</script>
 

这样整一个dwr的调用过成就全部结束了。

 

dwr可以大大简化程序员对js的脚本编写量,同时通过Spring可以实现对其调用和处理类的清晰管理。个人认为非常不错,此外,和Jquery 可以结合使用,利用Jquery的丰富插件,可以编写出更加复杂而易于实现的功能!

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    ext+Json+dwr+spring+hibernate整合项目实例与资源

    在EXTJS与服务器通信时,JSON常被用作数据传输格式,因为它能被JavaScript直接解析,减少了数据处理的复杂性。 3. **Direct Web Remoting (DWR)**: DWR是一种允许JavaScript在浏览器和Java服务器之间直接调用方法的...

    ext+json+dwr+spring+hibernate整合项目实例与相关资源

    - JSON作为数据交换格式,被DWR用于在前端和后端之间传递信息,确保数据的快速传输。 在项目实例中,开发者可能已经提供了配置文件、源代码、示例应用和详细的整合步骤,帮助学习者理解如何将这些技术有效地结合在...

    EXT2+DWR+SPRING实现树

    DWR通过JSON或XML传输数据,并处理类型转换,简化了客户端和服务器之间的数据交换。 Spring框架是Java企业级应用开发的重要工具,由Rod Johnson创建。Spring提供了依赖注入(Dependency Injection,DI)和面向切面...

    struts2+spring+hibernate+jquery+dwr+json

    在本项目中,JSON作为Struts2、jQuery、DWR之间传递数据的媒介,提高了数据传输的效率和灵活性。 7. 日志(log):在开发过程中,日志记录是非常重要的,可以用于调试和监控系统状态。项目可能使用了如Log4j或SLF4J...

    DWR与SPRING 集成

    - **安全控制**:可以通过DWR的安全特性如白名单、跨站脚本防御等确保数据传输安全。 5. **实例分析**: 文件名 `spring-mvc-showcase-master` 提示这是一个Spring MVC的示例项目,可能包含了DWR的集成示例。在这...

    ssh+dwr+josn的开发包

    在Web服务和客户端之间传输数据时,JSON因为其简洁和高效,常被作为首选的格式。它可以被JavaScript直接解析,因此在DWR中,服务器返回的Java对象通常会被转换成JSON,然后在浏览器端进行解析和处理。 在"ssh+dwr+...

    dwr2.0整合Struts1.3+hibernate3.1+spring2.5的项目

    DWR 2.0版本提供了更安全、更高效的数据传输机制,支持AJAX双向通信,使得前端页面能够实时更新服务器端的数据,提高了用户体验。 **Struts 1.3** Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web...

    Hibernate+Spring+DWR分页(原创)

    实际开发中,我们还需要考虑性能优化,如缓存策略、数据库索引设计、减少网络传输的数据量等。此外,为了防止无限滚动带来的性能问题,可以引入懒加载策略,只在用户滚动到页面底部时加载更多数据。 总结,通过整合...

    dwr2.0 spring 3.0 整合示例

    - DWR支持缓存策略,可以缓存JavaScript接口以减少网络传输。 - 可以调整DWR的批处理和异步处理设置,以适应不同场景的需求。 7. **测试和调试**: - DWR提供了一个内置的控制台,可以方便地进行测试和调试。 -...

    DWR整合Spring MVC

    这种整合方式极大地提高了Web应用的交互性和实时性,降低了数据传输的复杂性。本文将深入探讨DWR和Spring MVC的集成过程以及相关知识点。 **DWR(Direct Web Remoting)**是一种开源的JavaScript库,它允许Web应用...

    DWR+入門與應用

    - **灵活性高**:支持多种数据类型和复杂对象的传输。 - **安全性好**:可以通过配置限制可访问的Java方法,提高安全性。 综上所述,DWR提供了一种简便的方式来构建基于Ajax的应用程序。通过学习本教程,你将能够...

    springMVC+dwr技术实现消息推送实例

    6. **安全性和优化:** 考虑到性能和安全性,可能需要限制长连接的数量,进行连接管理和超时处理,同时确保数据传输的安全性。 通过这个实例,你可以了解到如何利用SpringMVC处理业务逻辑,以及如何借助DWR实现从...

    DWR+JPA DWR直接访问SERVICE层,并直接处理DAO返回的BEAN.doc

    在IT领域,DWR(Direct Web Remoting)是一种JavaScript库,它允许Web应用程序直接调用服务器端的Java方法,从而实现...通过正确配置DWR,处理事务和对象关系,以及优化数据传输,我们可以构建出高效、灵活的Web应用。

    JAVA 开发OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR).zip

    同时,DWR还具备安全机制,如JavaScript跨域限制,确保了数据传输的安全性。 整个系统中,Struts负责处理用户请求并转发到对应的业务逻辑,Spring负责组件管理及事务处理,Hibernate负责数据持久化,而DWR则作为...

    最新版本Struts2.1.8+Spring3.0+Hibernate3.3.2+DWR2.0.6配置

    - **支持JSON数据格式**:通过`dwr-2.06.jar`和`json-lib-2.3-jdk15.jar`等库,可以实现高效的数据传输。 - **远程调用**:可以直接从客户端调用服务器端方法,无需编写复杂的Ajax代码。 - **安全性增强**:包括跨域...

    jsp源码OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR)130224

    DWR通过JSON格式传输数据,支持异步通信,可以实现更加流畅的用户体验。 #### OA系统的功能特点 办公自动化系统(OA系统)主要用于提高企业的内部工作效率,其核心功能包括但不限于: - **公文流转**:实现公文的...

    ssh+dwr+activeMQ(在线聊天)

    用户可以在浏览器中进行实时对话,同时,聊天数据通过ActiveMQ进行可靠传输,DWR负责在前端和后端之间建立动态通信,Ajax则确保用户界面的即时更新。 综上所述,这个项目结合了多种技术来构建一个安全、高效的在线...

    dwr快速入门+实例

    4. **安全性和错误处理**:确保所有的数据传输都经过加密处理,并且为用户提供友好的错误提示信息。 #### DWR详解 DWR提供了许多高级特性,下面是一些关键组成部分的介绍: 1. **DWR组件分析**:DWR主要由几个...

    ssh+dwr整合,就是一个很好的dwr加载spring

    SSH与DWR的整合主要是为了实现前后端分离的开发模式,利用DWR技术可以让前端直接调用后端的业务逻辑层(如Spring管理的Bean),从而减少页面间的跳转和数据传输过程中的冗余。 #### 三、SSH+DWR整合步骤详解 #####...

    dwr与spring数据库环境集成

    它通过JSON或XML格式传输数据,简化了AJAX的开发。在集成Spring时,DWR可以利用Spring的IoC(Inversion of Control)容器管理其配置,从而更方便地使用和配置DWR的相关组件。 Spring框架以其模块化和松耦合的特性被...

Global site tag (gtag.js) - Google Analytics