1.在项目中的WEB-INF/lib/ 目录下添加dwr.jar文件javascript
2.在web.xml文件中配置servlet DwrServlethtml
<!-- 配置DWR --> <servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>
2.在WEB-INF/目录下添加 dwr.xml文件java
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd"> <dwr> <allow> <!-- 使用默认构造器建立类的实例--> <create javascript="userServiceDwr" creator="new" > <!-- <create javascript="userServiceDwr" creator="spring" > <!--value配置的是Bean的id--> <param name="beanName" value="userInfoImpl"> </param>--> <!--配置要生成实例的类--> <param name="class" value="com.han.service.impl.UserinfoImpl"> </param></create><convert match="com.han.service.pojo.Userinfo" converter="bean"> <param name="exclude" value="dept"></param></convert> </allow> </dwr>
1.allow部分定义了DWR可以建立和转换的类。
其中createor的属性分为,第一种使用new 来建立对象。它是DWR默认的creator方式。优势:安全、内存消耗低。第二种是采用spring框架的方式建立。
2.javascrpt属性,在浏览器中给你建立的对象命名。这个名字在页面做为JS导入。web
<create javascript="userServiceDwr" creator="spring" > <!--value配置的是Bean的id--> <param name="beanName" value="userInfoImpl"> </param>
3.scope属性默认为page ,还有application session request .
4.param属性,用来指定creator的其余参数。例如creator指定为new时,必须经过param指定对象的类型。
5.include属性和exclude属性。用来建立一个创造器限定进入类的方法。
6.auth属性指定一个J2EE角色做为访问控制检查。
7.dwr2只在第一次建立对象时,使用setAttribute();
8.convert属性:因为JavaScript不识别bean;因此须要配置convert进行转换;
配置以下:spring
<convert match="com.han.service.pojo.Userinfo" converter="bean"> <param name="exclude" value="dept"></param> </convert>
两个没有默认打开的转换器,bean 和 Object 转换器。数组
9.bean 转换器能够把pojo 转换成JavaScript支持的Json数组(以键值对的形式存储相似Java的Map)。或者反向转换。只有在你本身赞成的状况下,DWR才会去调用你的Java代码。
10.Object转换器于bean转换器相似,不一样的是它直接做用于对象的成员。而不是经过get/set 方法。
例如:你能够单独为一个类打开一个Bean 转换器。浏览器
<convert match="com.han.service.pojo.Userinfo" converter="bean"> <param name="exclude" value="dept"></param> </convert>
例如:你为一个包下的全部类或全部的子包下的全部类。安全
<convert match="com.han.service.pojo.*" converter="bean"> </convert>
你还可让DWR转换全部的类。session
<convert match="*" converter="bean"> </convert>
11.如何访问对象的私有成员? app
经过Object转换器的force参数,可让DWR来反射对象的私有成员。
例如:
<pre name="code" class="html"> <convert match="com.han.service.Userinfo" convertor="object"> <param name="force" value="true"/> </conver></pre><br> <br> <p></p> <pre></pre> <br> <br> <p></p>