DWR配置与传值完全指南:涵盖各种类型与配置

需积分: 0 0 下载量 5 浏览量 更新于2024-09-18 收藏 47KB DOC 举报
"这篇文档详细介绍了DWR(Direct Web Remoting)的配置和不同类型的传值方式,包括web.xml中的最小配置、调试模式开启、多dwr.xml文件配置以及多种情况下的配置示例。" 正文: DWR是一种开源Java库,它允许Web应用程序在客户端JavaScript与服务器端Java代码之间进行实时通信,极大地简化了Ajax开发。本文档主要讲解DWR的配置和值传递技术,确保开发者能够灵活地集成和使用DWR。 首先,DWR的最小配置涉及两个关键部分:servlet定义和URL映射。在`web.xml`中,你需要创建一个名为`dwr-invoker`的servlet,并指定`servlet-class`为`uk.ltd.getahead.dwr.DWRServlet`。接着,通过`servlet-mapping`将这个servlet与`/dwr/*`的URL模式关联起来,这样所有DWR相关的请求都会被这个servlet处理。 为了启用调试模式,可以在servlet的`init-param`中添加一个名为`debug`的参数,值设置为`true`。这样,通过访问`http://localhost:port/app/dwr`,开发者可以查看并测试DWR自动生成的测试页面,检查Java类和方法的运行状态。不过,出于安全考虑,这在生产环境中应设置为`false`。 当需要使用多个`dwr.xml`配置文件时,DWR提供了灵活性。例如,你可以通过`init-param`的`config-*`参数来指定不同的配置文件路径。如上文所示,可以配置`config-1`和`config-2`,分别指向`WEB-INF/dwr1.xml`和`WEB-INF/dwr2.xml`。 对于更复杂的场景,如多个servlet,每个servlet可能对应一个或多个`dwr.xml`文件。在这种情况下,每个servlet都需要类似的配置,但每个`servlet-name`和对应的`dwr.xml`文件应根据实际情况进行调整。 在DWR中,传值有很多种方式,包括基本类型、对象、数组和集合等。基本类型的传值直接通过JavaScript调用Java方法,如`MyService.callMethod(value)`。对于复杂类型的传值,如对象和集合,DWR提供了自动转换机制。例如,你可以直接传递一个JavaScript对象到Java方法,DWR会尝试将其映射为相应的Java对象。同样,Java方法返回的对象也会被转换为JavaScript对象。 此外,DWR还支持异步和同步调用,以及批量调用。异步调用允许在不阻塞用户界面的情况下执行远程方法,而同步调用则会等待结果返回。批量调用允许多个远程方法在一个请求中一起执行,提高效率。 DWR的配置和值传递功能强大且灵活,通过合理配置和利用这些特性,开发者可以构建出高效、交互性强的Web应用。在实际项目中,根据需求选择合适的配置和传值方式至关重要。