DWR:开启AJAX时代,简化Web远程调用

需积分: 0 0 下载量 54 浏览量 更新于2024-11-28 收藏 89KB DOC 举报
"DWR中文简介与用法" DWR(Direct Web Remoting)是一个用于构建AJAX技术网站的开源类库。它使开发人员能够直接在浏览器中的JavaScript代码中调用WEB服务器上的Java函数,实现了JavaScript与服务器端Java代码的无缝交互。DWR的核心功能分为两个部分:一是提供一个Servlet接口,让JavaScript可以通过AJAX方式从服务器获取数据;二是提供一套JavaScript库,方便开发者利用这些数据动态更新网页内容。 DWR的独特之处在于它采用了一种新的方式动态生成基于Java类的JavaScript代码,使得Java代码能在浏览器环境中如同本地代码一样使用,但实际运行在服务器端并能访问服务器资源。这种远程调用方式类似于RPC(Remote Procedure Call),如RMI或SOAP,但无需浏览器插件,且适应于Web环境。 为了安全性,开发者需要在配置中明确指定哪些Java类可以被外部调用。DWR处理了AJAX的异步特性和Java方法同步调用之间的差异,允许开发者提供一个回调函数,以处理Java方法调用的异步结果。 使用DWR时,主要涉及配置文件dwr.xml。在这个文件中,`<allow>`标签用于定义可以暴露给JavaScript访问的Java对象和方法。例如: ```xml <dwr> <allow> <create creator="new" javascript="testClass"> <include method="testMethod1"/> </create> </allow> </dwr> ``` 这段配置表明,JavaScript可以创建一个名为`testClass`的对象,并调用其`testMethod1`方法。`creator="new"`表示使用默认构造函数创建Java对象,而`<include>`标签指定了可调用的方法。 此外,DWR还支持Spring等IoC容器的集成,可以通过不同的`creator`属性值来指定不同的实例化策略。这使得DWR能够灵活地与现有的企业级应用框架结合,提供更加便捷的服务。 DWR为开发人员提供了一种强大且易于使用的工具,简化了AJAX应用程序的开发,让前端和后端的交互变得更加简单和高效。通过DWR,开发者可以利用AJAX技术实现实时的、无刷新的用户体验,同时充分利用服务器端的强大计算能力。