DWR(Direct Web Remoting)是Apache的开源项目,用于简化客户端与服务器之间的远程调用,特别是在基于Java的应用中。DWR实战学习笔记主要涵盖了如何在实际开发中集成和配置DWR,以及利用其特性进行Web应用程序的交互。
首先,让我们从配置DWRServlet开始。在web.xml文件中,有一个名为<dwr-invoker>的servlet,这是DWR的核心组件。设置`<servlet-name>`为"dwr-invoker",并指定`servlet-class`为`uk.ltd.getahead.dwr.DWRServlet`,这表明我们将使用GetAhead Limited提供的DWRServlet实现。`<init-param>`部分设置了debug参数为"true",这将开启调试模式,有助于开发过程中的错误追踪和调试。
接下来,`<servlet-mapping>`定义了DWRServlet的URL模式为"/dwr/*",这意味着所有以"/dwr"开头的请求都会被这个servlet处理。在部署DWR后,可以通过访问"http://localhost:8085/xxxx/dwr/index.html"这样的URL来测试DWR是否已经正确配置。
然后,我们看到一个dwr.xml文件,它是DWR的核心配置文件,定义了数据交换规则和允许的操作。`<allow>`标签下包含`<createcreator>`元素,它允许在JavaScript代码中通过指定的名称"hello"创建一个新的`lee.HelloDwr`对象。`<param>`标签用于传递创建时需要的参数,如类名。
`<convert>`标签则定义了类型转换规则,比如将`lee.Person`和`lee.Cat`对象转换为JavaScript中的相应类型。`force`参数为"true"表示即使没有默认的转换器,也应该强制转换。
在`<signatures>`部分,引入了所需的类和方法签名,包括`lee.HelloDwr`、`lee.Person`、`List`和`Map`等,这些将在客户端和服务器之间作为远程调用的接口暴露出来。
总结起来,DWR实战学习笔记介绍了如何在Java Web应用中集成DWR,包括添加DWRServlet到web.xml、配置dwr.xml以定义服务接口和数据类型转换,以及在客户端调用这些接口进行远程通信。理解并掌握这些基本步骤是实现高效、安全的Web前端与后端交互的关键。随着深入学习,还可以探索DWR的更高级功能,如事件驱动编程、缓存机制和安全性配置。