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>