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的丰富插件,可以编写出更加复杂而易于实现的功能!
分享到:
相关推荐
在EXTJS与服务器通信时,JSON常被用作数据传输格式,因为它能被JavaScript直接解析,减少了数据处理的复杂性。 3. **Direct Web Remoting (DWR)**: DWR是一种允许JavaScript在浏览器和Java服务器之间直接调用方法的...
- JSON作为数据交换格式,被DWR用于在前端和后端之间传递信息,确保数据的快速传输。 在项目实例中,开发者可能已经提供了配置文件、源代码、示例应用和详细的整合步骤,帮助学习者理解如何将这些技术有效地结合在...
DWR通过JSON或XML传输数据,并处理类型转换,简化了客户端和服务器之间的数据交换。 Spring框架是Java企业级应用开发的重要工具,由Rod Johnson创建。Spring提供了依赖注入(Dependency Injection,DI)和面向切面...
在本项目中,JSON作为Struts2、jQuery、DWR之间传递数据的媒介,提高了数据传输的效率和灵活性。 7. 日志(log):在开发过程中,日志记录是非常重要的,可以用于调试和监控系统状态。项目可能使用了如Log4j或SLF4J...
- **安全控制**:可以通过DWR的安全特性如白名单、跨站脚本防御等确保数据传输安全。 5. **实例分析**: 文件名 `spring-mvc-showcase-master` 提示这是一个Spring MVC的示例项目,可能包含了DWR的集成示例。在这...
在Web服务和客户端之间传输数据时,JSON因为其简洁和高效,常被作为首选的格式。它可以被JavaScript直接解析,因此在DWR中,服务器返回的Java对象通常会被转换成JSON,然后在浏览器端进行解析和处理。 在"ssh+dwr+...
DWR 2.0版本提供了更安全、更高效的数据传输机制,支持AJAX双向通信,使得前端页面能够实时更新服务器端的数据,提高了用户体验。 **Struts 1.3** Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web...
实际开发中,我们还需要考虑性能优化,如缓存策略、数据库索引设计、减少网络传输的数据量等。此外,为了防止无限滚动带来的性能问题,可以引入懒加载策略,只在用户滚动到页面底部时加载更多数据。 总结,通过整合...
- DWR支持缓存策略,可以缓存JavaScript接口以减少网络传输。 - 可以调整DWR的批处理和异步处理设置,以适应不同场景的需求。 7. **测试和调试**: - DWR提供了一个内置的控制台,可以方便地进行测试和调试。 -...
这种整合方式极大地提高了Web应用的交互性和实时性,降低了数据传输的复杂性。本文将深入探讨DWR和Spring MVC的集成过程以及相关知识点。 **DWR(Direct Web Remoting)**是一种开源的JavaScript库,它允许Web应用...
- **灵活性高**:支持多种数据类型和复杂对象的传输。 - **安全性好**:可以通过配置限制可访问的Java方法,提高安全性。 综上所述,DWR提供了一种简便的方式来构建基于Ajax的应用程序。通过学习本教程,你将能够...
6. **安全性和优化:** 考虑到性能和安全性,可能需要限制长连接的数量,进行连接管理和超时处理,同时确保数据传输的安全性。 通过这个实例,你可以了解到如何利用SpringMVC处理业务逻辑,以及如何借助DWR实现从...
在IT领域,DWR(Direct Web Remoting)是一种JavaScript库,它允许Web应用程序直接调用服务器端的Java方法,从而实现...通过正确配置DWR,处理事务和对象关系,以及优化数据传输,我们可以构建出高效、灵活的Web应用。
同时,DWR还具备安全机制,如JavaScript跨域限制,确保了数据传输的安全性。 整个系统中,Struts负责处理用户请求并转发到对应的业务逻辑,Spring负责组件管理及事务处理,Hibernate负责数据持久化,而DWR则作为...
- **支持JSON数据格式**:通过`dwr-2.06.jar`和`json-lib-2.3-jdk15.jar`等库,可以实现高效的数据传输。 - **远程调用**:可以直接从客户端调用服务器端方法,无需编写复杂的Ajax代码。 - **安全性增强**:包括跨域...
DWR通过JSON格式传输数据,支持异步通信,可以实现更加流畅的用户体验。 #### OA系统的功能特点 办公自动化系统(OA系统)主要用于提高企业的内部工作效率,其核心功能包括但不限于: - **公文流转**:实现公文的...
用户可以在浏览器中进行实时对话,同时,聊天数据通过ActiveMQ进行可靠传输,DWR负责在前端和后端之间建立动态通信,Ajax则确保用户界面的即时更新。 综上所述,这个项目结合了多种技术来构建一个安全、高效的在线...
4. **安全性和错误处理**:确保所有的数据传输都经过加密处理,并且为用户提供友好的错误提示信息。 #### DWR详解 DWR提供了许多高级特性,下面是一些关键组成部分的介绍: 1. **DWR组件分析**:DWR主要由几个...
SSH与DWR的整合主要是为了实现前后端分离的开发模式,利用DWR技术可以让前端直接调用后端的业务逻辑层(如Spring管理的Bean),从而减少页面间的跳转和数据传输过程中的冗余。 #### 三、SSH+DWR整合步骤详解 #####...
它通过JSON或XML格式传输数据,简化了AJAX的开发。在集成Spring时,DWR可以利用Spring的IoC(Inversion of Control)容器管理其配置,从而更方便地使用和配置DWR的相关组件。 Spring框架以其模块化和松耦合的特性被...