DWR入门教程:Java代码示例

需积分: 9 0 下载量 155 浏览量 更新于2024-11-01 收藏 54KB DOC 举报
"Dwr入门详细例子.doc" 本文档提供了一个关于DWR(Direct Web Remoting)的入门实例,主要展示了如何使用DWR在Java后端和JavaScript前端之间进行异步通信。DWR是一个开源库,允许Web应用程序在浏览器和服务器之间直接调用Java对象的方法,使得Web应用能够实现类似桌面应用的交互体验。 首先,我们看到两个`Person`类的定义。`Person`类是简单的Java Bean,包含一个`name`属性,带有对应的getter和setter方法。这样的类通常用于存储和传递数据。在DWR中,这些Java对象可以被透明地暴露给JavaScript,使得前端可以直接操作它们。 接下来是`HelloDwr.java`中的代码,这是一个关键的Java类,它包含了多个DWR可调用的方法。`hello`方法接收一个字符串参数并返回一个欢迎消息,展示了基本的参数传递。`sendObj`方法接收一个`Person`对象作为参数,并返回一个问候消息,证明了DWR可以处理Java对象的传递。`getBean`方法返回一个新的`Person`对象,这演示了如何从服务器端创建并返回对象。最后,`getObject`方法和`getPersonList`方法分别返回一个自定义的`Cat`对象和一个`Person`对象的列表,展示了DWR对复杂数据结构的支持。 在前端JavaScript中,我们可以使用DWR的配置来映射这些Java方法,并在页面上直接调用它们,就像调用本地函数一样。例如,可以创建一个DWR接口来调用`HelloDwr`类的方法: ```javascript var helloDwr = DWRUtil.createAsyncProxy(HelloDwr); helloDwr.hello('用户姓名', function(message) { // 更新HTML元素显示消息 document.getElementById('greeting').innerHTML = message; }); ``` 这段代码创建了一个异步的`HelloDwr`代理,然后调用`hello`方法并将结果传递给回调函数,更新页面上的某个元素。同样,可以调用其他方法如`sendObj`、`getBean`等,将Java对象和列表直接操作于JavaScript中。 DWR的工作原理是通过在服务器端运行一个Servlet,该Servlet处理来自浏览器的请求,并调用相应的Java方法。然后,它将结果序列化成JSON或XML格式,通过HTTP响应返回给客户端。客户端的JavaScript库接收到响应后,将数据反序列化并调用预先注册的回调函数。 DWR简化了前后端之间的通信,使得开发者可以更方便地构建动态、实时的Web应用。这个入门例子展示了如何开始使用DWR,包括创建Java Bean、定义可调用的方法以及在JavaScript中使用这些方法。通过这种方式,开发者可以利用DWR实现更加丰富、交互性更强的Web应用界面。