DWR2.x推技术详解:主动模式与被动模式
需积分: 3 41 浏览量
更新于2024-09-15
1
收藏 84KB DOC 举报
"DWR的推技术"
DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript和Java在Web应用中进行实时通信,实现了Ajax的功能。DWR的推技术,即DWR Reverse Ajax,是服务器端向浏览器端推送数据的一种方法,无需用户进行任何操作,可以实现实时的数据更新,提升用户体验。
DWR2.x版本的推技术主要有三种实现方式:
1. **Piggyback方式**:
这是DWR的默认模式。在Piggyback模式中,服务器端只有在接收到客户端的Ajax请求时才会推送数据。当页面进行下一次Ajax请求时,服务器会将等待推送的内容附加在响应中返回给客户端。这意味着数据的更新依赖于客户端的定期请求,因此可能延迟更新。
2. **Comet方式**:
Comet技术是一种持久连接的方式,服务器与客户端建立连接后,保持连接不关闭,而是在有新数据时立即通过这个连接将数据推送给客户端。这种方式能实现即时更新,但缺点是可能会占用大量服务器资源,因为连接一直保持打开状态。
3. **Polling方式**:
定时轮询(Polling)是客户端定期向服务器发送Ajax请求,询问是否有新数据。如果有,服务器会在响应中包含这些数据。虽然不如Comet实时,但对服务器资源的需求相对较低,因为不需要保持大量连接。
使用DWR的推技术通常涉及以下步骤:
1. **配置DWR**:
在`web.xml`中添加DWR的Servlet配置,如示例代码所示。`<servlet-class>`指定为`uk.ltd.getahead.dwr.DWRServlet`,并设置参数`debug`来开启调试模式。
2. **创建Java类**:
在服务器端定义Java类,这些类的方法会被暴露给JavaScript调用。这些方法通常用于处理数据的更新和推送。
3. **编写JavaScript**:
在客户端,使用DWR的API来注册服务器端的方法,并监听推送事件。当有新数据可用时,DWR会自动调用预先注册的方法,将数据传递给JavaScript。
4. **实现推送逻辑**:
根据需求选择合适的数据推送模式(Piggyback、Comet或Polling),并在服务器端实现相应的逻辑,例如在数据变更时触发推送。
5. **安全与优化**:
考虑到性能和安全性,可能需要对连接数量、超时时间等进行适当设置,防止服务器过载。
通过DWR的推技术,开发者能够构建更动态、实时的Web应用,无需刷新页面即可获取服务器的最新信息,提升了交互性和用户体验。然而,需要注意的是,持续的连接可能会对服务器性能造成影响,因此在设计时需要平衡实时性与资源消耗。
2011-01-12 上传
2010-06-26 上传
2012-05-29 上传
2011-05-05 上传
2011-05-26 上传
2010-07-30 上传
2010-09-20 上传
2013-06-02 上传
2010-08-02 上传
浪子尘晨
- 粉丝: 118
- 资源: 79
最新资源
- Raspberry Pi OpenCL驱动程序安装与QEMU仿真指南
- Apache RocketMQ Go客户端:全面支持与消息处理功能
- WStage平台:无线传感器网络阶段数据交互技术
- 基于Java SpringBoot和微信小程序的ssm智能仓储系统开发
- CorrectMe项目:自动更正与建议API的开发与应用
- IdeaBiz请求处理程序JAVA:自动化API调用与令牌管理
- 墨西哥面包店研讨会:介绍关键业绩指标(KPI)与评估标准
- 2014年Android音乐播放器源码学习分享
- CleverRecyclerView扩展库:滑动效果与特性增强
- 利用Python和SURF特征识别斑点猫图像
- Wurpr开源PHP MySQL包装器:安全易用且高效
- Scratch少儿编程:Kanon妹系闹钟音效素材包
- 食品分享社交应用的开发教程与功能介绍
- Cookies by lfj.io: 浏览数据智能管理与同步工具
- 掌握SSH框架与SpringMVC Hibernate集成教程
- C语言实现FFT算法及互相关性能优化指南