DWR+SSH2项目实战:配置与步骤解析

需积分: 9 5 下载量 175 浏览量 更新于2024-09-11 收藏 52KB DOC 举报
"本资源主要介绍如何在SSH项目中集成DWR技术,包括DWR的配置步骤和web.xml的设置。" DWR (Direct Web Remoting) 是一个开源的JavaScript库,它允许Web应用程序与服务器端进行实时通信,实现AJAX功能。在SSH(Struts + Spring + Hibernate)项目中,DWR可以作为一个强大的工具,帮助开发人员在不刷新整个页面的情况下更新部分网页内容,提高用户体验。 DWR集成SSH项目的步骤: 1. 引入DWR库 - 首先,需要将dwr.jar文件添加到项目的类路径中,通常放在`lib`目录下,以便应用能够访问DWR的API和实现。 2. 创建dwr.xml配置文件 - 在`WEB-INF`目录下创建`dwr.xml`文件,这是DWR的核心配置文件,用于定义哪些服务器端对象可以被JavaScript调用,以及如何转换数据类型。 - `dwr.xml`示例: ```xml <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.ltd.uk/dwr/dwr20.dtd"> <dwr> <allow> <create creator="spring" javascript="DWRques1" scope="application"> <param name="beanName" value="userinfoAction"/> </create> <convert converter="bean" match="com.gaojunwei.pojo.Userinfo"/> </allow> </dwr> ``` - 在这个配置中,`<create>`标签指定了一个Spring管理的bean(`userinfoAction`),该bean可以通过JavaScript对象`DWRques1`访问。`<convert>`标签则定义了如何将Java的`Userinfo`类转换成JavaScript可以理解的格式。 3. 配置web.xml - 配置`web.xml`文件以启动DWR的Servlet。 - `web.xml`示例: ```xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-- ... --> <servlet> <servlet-name>DWRController</servlet-name> <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>crossDomainSessionSecurity</param-name> <param-value>false</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>DWRController</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> <!-- ... --> </web-app> ``` - 这里定义了一个名为`DWRController`的Servlet,映射到`/dwr/*`路径,允许DWR处理所有相关的请求。`debug`参数开启调试模式,`crossDomainSessionSecurity`参数控制是否启用跨域会话安全。 4. 页面引入DWR - 在需要使用DWR功能的JSP或HTML页面中,通过引入DWR生成的JavaScript文件来使用远程调用的方法。 ```html <script type="text/javascript" src="/dwr/interface/DWRques1.js"></script> <script type="text/javascript" src="/dwr/engine.js"></script> <script type="text/javascript" src="/dwr/util.js"></script> ``` 完成上述步骤后,你就可以在客户端JavaScript中调用服务器端的方法,如`DWRques1.someMethod()`,实现实时的数据交互。DWR提供了丰富的错误处理、缓存策略和安全性控制,使其成为SSH项目中增强用户体验的有效工具。同时,由于DWR支持Spring集成,可以方便地与Spring MVC的控制器进行交互,使得业务逻辑的处理更加灵活。