dwr技术详解.doc

preview
需积分: 0 1 下载量 6 浏览量 更新于2010-01-08 收藏 65KB DOC 举报
DWR (Direct Web Remoting) 是一种开源的Java库,专为开发人员提供方便地在Web应用中使用AJAX(Asynchronous JavaScript and XML)技术。DWR的核心功能是使JavaScript能够调用服务器端的Java方法,仿佛这些方法是直接在浏览器环境中执行的,实现了客户端与服务器端的实时通信。 DWR的组成部分包括: 1. **DWR Servlet**:这是一个遵循AJAX原则的Servlet,负责处理JavaScript发起的请求,并调用相应的Java方法。 2. **JavaScript库**:提供了一套API,使得开发者可以轻松地利用从服务器获取的数据更新网页内容。 DWR的一个创新之处在于它通过动态生成基于Java类的JavaScript代码,让JavaScript代码能直接调用服务器端的Java方法。为了安全性,开发者需要在`dwr.xml`配置文件中明确指定哪些Java类和方法可以被外部访问。 配置DWR主要涉及以下步骤: 1. **dwr.xml配置**:`<allow>`标签用于定义哪些Java类和方法可以被JavaScript访问。`<create>`标签指定JavaScript中的访问名称和Java类的创建方式,如使用`new`或Spring等。`<include>`和`<exclude>`标签分别用来指定可访问的方法和禁止访问的方法。 2. **JavaScript调用**:首先需要引入DWR生成的JavaScript接口文件(如TestClass.js)、引擎文件(engine.js)和工具文件(util.js)。然后,可以直接调用生成的JavaScript对象及其方法。 对于具有简单返回值的Java方法的调用,可以使用回调函数来处理返回结果。例如,调用`testMethod2`并在`callBackFortestMethod2`中处理返回的数据。 DWR的优势在于简化了AJAX开发,提供了一种接近RPC(Remote Procedure Call)的体验,但无需浏览器插件,同时利用了AJAX的异步特性。它处理了异步调用中的同步问题,允许开发者提供一个回调函数来处理Java方法调用完成后的结果。 DWR是一个强大的工具,适用于那些希望在不离开浏览器的情况下实现丰富的用户交互和动态更新页面的Web开发者。通过合理的配置和使用,DWR可以极大地提升Web应用的用户体验和开发效率。