DWR 2.0-3.0中文教程:远程方法调用与Ajax集成
需积分: 28 61 浏览量
更新于2024-07-30
收藏 1.36MB PDF 举报
"DWR中文文档,适用于dwr 2.0以上,3.0以下的版本,由方佳玮编著,包含原创、整理和翻译的内容。文档旨在为程序员提供DWR的基础知识、用户界面组件和远程方法调用的详细教程。"
DWR (Direct Web Remoting) 是一个开源框架,它允许JavaScript在浏览器端直接调用Java服务器端的方法,从而实现了Ajax(Asynchronous JavaScript and XML)应用的开发。DWR通过动态创建JavaScript库,使得前端与后端之间的交互变得简单而高效。
1. **DWR入门**
- **简介**:DWR的核心功能是简化客户端和服务器之间的通信,使得开发者无需处理底层的XMLHttpRequest对象和JSON或XML数据格式化。它提供了自动的类型转换、安全控制以及缓存机制。
- **第一个DWR程序:HelloWorld**
- **将DWR放入你的工程**:首先需要将DWR的JAR文件添加到项目的类路径中,通常是在Web应用的WEB-INF/lib目录下。
- **编辑配置文件**:DWR的配置文件(dwr.xml)定义了哪些Java类和方法可以被JavaScript访问。你需要在这个文件中注册你的Java类。
- **编写service**:在服务器端,你需要创建一个公开的Java方法,这个方法会被DWR自动暴露给JavaScript调用。
- **测试DWR**:在HTML页面中,通过引入DWR生成的JavaScript接口,可以直接调用服务器端的方法,并处理返回的结果。
2. **DWR的工作原理**
DWR通过在服务器端运行一个Servlet,该Servlet处理所有来自客户端的请求,将这些请求转发给相应的Java方法,然后将结果转换成JavaScript可以理解的格式返回给浏览器。这个过程是异步的,不会阻塞用户的界面操作。
3. **DWR的主要特性**
- **动态JavaScript生成**:DWR自动生成JavaScript接口,使得前端可以直接调用Java方法。
- **类型转换**:DWR自动处理Java对象和JavaScript对象之间的类型转换,减少了开发者的工作量。
- **安全性**:通过配置,可以限制哪些Java方法可以被JavaScript访问,防止恶意的跨站脚本攻击(XSS)。
- **缓存机制**:DWR有内置的缓存系统,可以提高性能,减少不必要的服务器通信。
4. **DWR的使用**
- **安装与配置**:除了将JAR文件加入到项目中,还需要在web.xml文件中配置DWR的Servlet。
- **API使用**:DWR提供了丰富的JavaScript API,包括异步调用、事件处理、对象映射等。
- **调试与日志**:DWR支持调试模式,可以帮助开发者在开发过程中追踪问题。
5. **DWR的应用场景**
DWR适合于构建需要实时更新的Web应用,如动态表格、实时图表、聊天应用等。它可以极大地提升用户体验,使得Web应用具有更接近桌面应用的交互性。
6. **学习DWR的建议**
- 具备基础的JSP、JavaScript和应用服务器(如Tomcat)使用经验是学习DWR的前提。
- 参考DWR的官方文档、JavaScudWiki以及IBM中国等资源,它们提供了丰富的示例和教程。
- 实践是学习的关键,通过编写简单的DWR应用来理解和掌握其工作原理。
通过这份文档,读者不仅可以了解DWR的基本概念,还可以逐步学习如何设置开发环境,创建并测试DWR应用,从而在实际项目中运用DWR技术。作者鼓励读者在学习过程中积极反馈问题和建议,以便不断改进和完善文档。
2010-03-28 上传
2018-09-01 上传
2023-10-18 上传
2023-09-28 上传
2023-10-20 上传
2023-06-06 上传
2023-07-11 上传
2023-05-19 上传
2023-09-28 上传
2023-07-11 上传
![](https://profile-avatar.csdnimg.cn/ab520caa773d4db5b92ede9ba0caa663_enigma_406.jpg!1)
enigma_406
- 粉丝: 0
- 资源: 6
最新资源
- 构建Cadence PSpice仿真模型库教程
- VMware 10.0安装指南:步骤详解与网络、文件共享解决方案
- 中国互联网20周年必读:影响行业的100本经典书籍
- SQL Server 2000 Analysis Services的经典MDX查询示例
- VC6.0 MFC操作Excel教程:亲测Win7下的应用与保存技巧
- 使用Python NetworkX处理网络图
- 科技驱动:计算机控制技术的革新与应用
- MF-1型机器人硬件与robobasic编程详解
- ADC性能指标解析:超越位数、SNR和谐波
- 通用示波器改造为逻辑分析仪:0-1字符显示与电路设计
- C++实现TCP控制台客户端
- SOA架构下ESB在卷烟厂的信息整合与决策支持
- 三维人脸识别:技术进展与应用解析
- 单张人脸图像的眼镜边框自动去除方法
- C语言绘制图形:余弦曲线与正弦函数示例
- Matlab 文件操作入门:fopen、fclose、fprintf、fscanf 等函数使用详解