DWR中文教程:JavaScudWiki整理版
"DWR中文教程,由方佳玮编著,主要介绍DWR的开发和配置,适合有一定Jsp、JavaScript和应用服务器基础的程序员。教程内容包括DWR的基本知识、用户界面组件和远程方法调用,还提供了搭建DWR开发环境和快速开发的指导。" **DWR (Direct Web Remoting) 知识点详解** DWR是一款开源的Java库,它使得JavaScript可以与服务器端的Java对象进行交互,从而实现Ajax应用。DWR简化了客户端和服务器端的通信,允许开发者在不刷新整个页面的情况下更新网页部分。 1. **DWR入门** - **简介**: DWR的核心功能是提供一种简单的方式,使JavaScript可以直接调用Java方法,就像它们是本地函数一样。这使得在Web应用中构建动态、响应式的用户界面变得更加容易。 - **第一个DWR程序:HelloWorld** - **将DWR放入你的工程**: 首先需要在项目中添加DWR的依赖,通常是通过Maven或者Gradle引入相应的库。 - **编辑配置文件**: DWR的配置文件(通常为`dwr.xml`)定义了哪些Java类和方法可以被JavaScript访问。配置文件需要在Web应用的`WEB-INF`目录下。 - **编写Service**: 在Java后端创建一个公开的类和方法,这些方法将被JavaScript调用。 - **测试DWR**: 使用DWR的`Util`对象或自定义脚本进行调用,验证服务是否正常工作。 2. **DWR的工作原理** - DWR通过在服务器上运行一个Servlet,这个Servlet处理JavaScript的请求,将请求转发给相应的Java方法,并将结果返回给JavaScript。 - 客户端通过AJAX调用DWR Servlet,Servlet执行Java代码并以JSON或XML格式返回数据,这些数据在JavaScript中解析并用于更新DOM元素。 3. **DWR的主要特性** - **自动类型转换**: DWR自动处理Java和JavaScript之间的数据类型转换,使得跨语言的调用更加方便。 - **安全机制**: 提供安全配置,限制JavaScript可以访问的Java对象和方法,防止跨站脚本攻击(XSS)。 - **异步和同步调用**: 支持异步调用,允许在不阻塞用户界面的情况下进行后台处理。 - **批处理和缓存**: 提供批处理请求的能力,以及对结果的缓存,以提高性能。 4. **DWR的使用场景** - 实现动态表单验证,用户在输入时即时验证数据的正确性。 - 实现数据的无刷新更新,如图表的实时更新、表格的动态加载。 - 提供服务器端的计算能力,如复杂的查询或计算任务。 5. **DWR与其他Ajax框架的比较** - 相比于jQuery AJAX或其他轻量级解决方案,DWR提供了更全面的Java和JavaScript之间的绑定。 - 与GWT (Google Web Toolkit) 相比,DWR更适合那些希望保留现有HTML和JavaScript代码的项目,而GWT则更倾向于生成客户端的JavaScript代码。 6. **DWR的集成** - 可以轻松地与Spring、Struts等主流Java框架集成,增强其Ajax功能。 - 通过定制配置,DWR可以与各种应用服务器如Tomcat、Jetty等协同工作。 7. **学习DWR的准备** - 读者需要具备基本的JSP、JavaScript和应用服务器使用经验,理解DOM和CSS操作。 - 对于JavaScript新手,可以参考附录中的JavaScript教程。 8. **进阶主题** - DWR的Caucho Resin服务器支持,Resin提供了对DWR的优化和更好的性能。 - DWR的扩展和自定义,如编写自定义转换器、过滤器等。 - DWR的安全最佳实践,包括如何防止XSS攻击和CSRF攻击。 DWR是一个强大的工具,可以帮助开发者构建高度交互的Web应用,通过深入理解和实践DWR,可以显著提升Web开发的效率和用户体验。
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 10
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)