DWR学习教程:带源码示例

需积分: 9 1 下载量 67 浏览量 更新于2024-07-29 收藏 61KB DOC 举报
"该资源提供了一个DWR(Direct Web Remoting)的实例代码,包括了Person类和HelloDwr类的实现,展示了如何通过DWR进行远程方法调用,以及处理JavaBean、对象列表等数据类型。" DWR(Direct Web Remoting)是一种Java技术,它允许JavaScript在浏览器端直接调用服务器端的Java方法,实现Web应用的异步更新,提高用户体验。在提供的代码示例中,我们可以看到DWR的基本使用方式。 首先,有一个名为`Person`的Java类,包含姓名属性`name`和对应的getter、setter方法。这个类是用来作为数据传输的对象,DWR会自动处理将此类实例转换成JavaScript对象的过程。 `HelloDwr`类是DWR中的核心组件,通常称为一个`Endpoint`。它定义了一系列可以被浏览器端JavaScript直接调用的方法。例如: 1. `hello`方法:接受一个字符串参数`name`,返回一个简单的欢迎消息。这个方法展示了如何传递基本类型的参数。 2. `sendObj`方法:接收一个`Person`对象,返回一个包含该对象姓名的消息。这演示了如何处理自定义JavaBean对象。 3. `getBean`方法:根据传入的`name`创建一个新的`Person`对象并返回。这个方法展示了服务器端如何创建和返回新的对象实例。 4. `getObject`方法:与`getBean`类似,但创建的是一个名为`Cat`的类的实例。这表示DWR可以处理多种类型的Java对象。 5. `getPersonList`方法:返回一个包含多个`Person`对象的列表。这展示了DWR处理集合类型的能力。 在实际的DWR配置中,你需要在服务器端设置DWR的Context,并暴露`HelloDwr`类,以便客户端JavaScript可以通过DWR接口调用这些方法。同时,客户端需要引入DWR生成的JavaScript文件,这些文件包含了与服务器端方法对应的函数。 在JavaScript端,你可以像调用本地函数一样调用这些远程方法,例如: ```javascript var helloDwr = new HelloDwr(); helloDwr.hello('王宇', function(response) { alert(response); // 显示欢迎消息 }); ``` DWR还提供了错误处理、缓存策略、安全控制等高级特性,使得在Web应用中进行异步通信更加便捷和安全。通过深入理解和实践这个DWR实例代码,你可以更好地理解DWR的工作原理,并能快速上手在自己的项目中使用DWR。