【DWR技术详解】 DWR(Direct Web Remoting)是一种基于AJAX(Asynchronous JavaScript and XML)技术的Java实现,它的核心目标是实现在Web浏览器端通过JavaScript直接调用后台的业务逻辑组件,无需页面刷新即可获取和更新数据,极大地提高了Web应用的交互性和响应速度。DWR 1.0是其目前的稳定版本,被广泛应用于需要实时更新和用户交互丰富的Web应用程序。 **DWR的工作原理** DWR通过JavaScript在浏览器端创建一个与服务器端的通信通道,使得JavaScript代码能够像调用本地函数一样调用远程Java方法。这得益于DWR的几个关键组件: 1. **JS引擎(Engine.js)**:作为前台引擎,Engine.js负责截获并处理所有对后台组件的请求。它创建了一个统一的客户端入口,将JS参数对象重新包装,并根据浏览器特性选择最高效的提交策略。当后台执行完成,它会将结果返回并调用预先定义的回调函数。 2. **组件执行器(Executor)**:执行器是DWR的核心,它负责将来自客户端的请求转发给相应的Java方法,并将返回的结果转换为JavaScript可以理解的格式。 3. **数据转换器(Converter)**:数据转换器确保了Java对象和JavaScript对象之间的无缝转换。例如,JavaScript的Array对应Java的List或数组,Boolean对应Boolean,Map对应Java Bean等。这样,前端和后端的数据类型可以互相兼容。 **DWR的配置和使用** 配置DWR通常包括以下几个步骤: 1. **配置文件(dwr.xml)**:在Web应用的WEB-INF目录下,配置文件定义了哪些Java类和方法可以被JavaScript访问,以及数据转换规则。`<allow>`元素用来指定可以被调用的Java类,`<convert>`元素则定义了数据类型转换。 2. **发布Java组件**:Java组件必须是具体的类,遵循Java Bean规范,提供getter和setter方法。在配置文件中,需要指明JavaScript中如何引用这些组件。 3. **客户端引用**:前端JavaScript代码通过`<script>`标签引入如`dwr/interface/xxx.js`这样的文件,这个文件包含了与Java组件交互的接口。 **DWR的Demo介绍** 为了更好地理解和使用DWR,可以通过构建一个简单的Demo来实践: 1. **编写服务器端逻辑**:这包括创建Java类,实现业务逻辑,并确保它们符合DWR的配置要求。 2. **配置DWR**:修改dwr.xml文件,允许JavaScript访问服务器端的Java组件。 3. **客户端调用**:在HTML或JavaScript代码中,直接调用DWR生成的接口,进行异步处理、使用回调函数以及处理各种数据类型,如简单字符串、Map、List或组合对象。 4. **回调函数**:DWR支持多种回调函数写法,可以用于处理后台执行结果,根据场景选择合适的方式。 **DWR的优势** 1. **表现层和业务逻辑的完全分离**:DWR使JavaScript可以直接调用后台服务,避免了Scriptlets,减少了页面代码对样式的干扰,提升了开发效率。 2. **资源优化**:只加载一次页面,节省带宽,减少网络传输,提高用户体验。 3. **Servlet容器的优化**:由于DWR的异步通信,Servlet容器不必管理大量短生命周期的Servlet,降低了资源消耗。 通过以上介绍,我们可以看到DWR在Web开发中的重要作用,它简化了前后端交互,提升了Web应用的性能和用户体验。学习和掌握DWR,对于开发现代、动态的Web应用具有极大的价值。

































- 粉丝: 9
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 大数据与人工智能结合技术在高职英语课堂中的应用研究.docx
- Java语言程序设计一课件自考.ppt
- 油茶采摘机械手机构设计(PLC程序控制).doc
- 基于互联网+的计算机平面设计专业教学新思路探析.docx
- 计算机网络上网安全的技术解决方法.docx
- 《计算机安装与维护》.doc
- 简析物联网架构和智能信息处理理论与关键技术.docx
- 面向对象语言程序设计方案实验三.doc
- Storm概述-云计算.docx
- 基于区块链技术现代学徒制工匠型人才培养.docx
- 本方案设计书采用STC单片机实现对红外线发射接收及继电器的控....doc
- 移动互联网视角下的德育教学模式研究与探索.docx
- 计算机应用基础习题及答案.doc
- 基于云计算的大电网在线分析计算模式研究.docx
- ZEMAX光学设计软件操作说明详解光学设计.doc
- 如何快速让你的网站被google收录.doc


