1、最小配置
java代碼:?

<servlet>
? <servlet-name>dwr-invoker</servlet-name>
? <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
</servlet>
<servlet-mapping>
? <servlet-name>dwr-invoker</servlet-name>
? <url-pattern>/dwr/*</url-pattern>
</servlet-mapping>


2、當(dāng)我們想看DWR自動(dòng)生成的測(cè)試頁(yè)(Using debug/test mode)時(shí),可在
java代碼:?

servlet中加
<init-param>
? <param-name>debug</param-name>
? <param-value>true</param-value>
</init-param>

這個(gè)參數(shù)DWR默認(rèn)是false.如果選擇true.我們可以通過url http://localhost:port/app/dwr ,你就可以看到你部署的每個(gè)DWR class。并且可以測(cè)試java代碼的每個(gè)方法是否運(yùn)行正常。為了安全考慮,在正式環(huán)境下你一定把這個(gè)參數(shù)設(shè)為false.
3、logging信息配置。
在 無java.util.logging的jdk1.3下運(yùn)行DWR,我們不希望強(qiáng)制用戶加一個(gè)logging包,而是用HttpServlet.log ()方法來輸出日志。如果classpath中包括logging jar包,DWR自動(dòng)切換用logging輸出日志。
如果用HttpServlet.log()方法,以下配置是有效的。
java代碼:?

<init-param>
<param-name>logLevel</param-name>
<param-value>DEBUG</param-value>
</init-param>

有效的值是 FATAL, ERROR, WARN (the default), INFO and DEBUG

我是喜歡用log4j輸出日志,那么在log4j.properties下加,log4j.logger.uk.ltd.getahead.dwr = debug。這樣可以看DWR的調(diào)試日志。
4、多dwr.xml文件的配置
可能有幾種情況,我們一一列舉。 一個(gè)servlet,多個(gè)dwr.xml配置文件;多個(gè)servlet,每個(gè)servlet對(duì)應(yīng)一個(gè)或多個(gè)dwr.xml.
一個(gè)servlet,多個(gè)dwr.xml配置文件;
java代碼:?

<servlet>
? ? <servlet-name>dwr-invoker</servlet-name>
? ? <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
? ? <init-param>
? ? ? <param-name>config-1</param-name>
? ? ? <param-value>WEB-INF/dwr1.xml</param-value>
? ? </init-param>
? ? <init-param>
? ? ? <param-name>config-2</param-name>
? ? ? <param-value>WEB-INF/dwr2.xml</param-value>
? ? </init-param>
</servlet>

在 這種配置下,param-name的值必須以config開頭。param-name可以有>=0個(gè)。如果沒有param-name,那么將會(huì)讀取 WEB-INF/dwr.xml。如果有大于零個(gè)param-name,那么WEB-INF/dwr.xml文件將不會(huì)被讀取。

多個(gè)servlet,每個(gè)servlet對(duì)應(yīng)一個(gè)或多個(gè)dwr.xml
java代碼:?

<servlet>
? ?<servlet-name>dwr-invoker</servlet-name>
? ? <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<!--用classes/dwr.xml-->
</servlet>
<servlet>
? ?<servlet-name>dwr-invoker1</servlet-name>
? ?<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
? ?<init-param>
? ? ?<param-name>config-admin</param-name>
? ? ?<param-value>WEB-INF/dwr1.xml</param-value>
? ?</init-param>
? ?<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>
<servlet-mapping>
? ?<servlet-name>dwr-invoker1</servlet-name>
? ?<url-pattern>/dwr1/*</url-pattern>
</servlet-mapping>

在這種情況下,我們可以根據(jù)J2EE security來控制權(quán)限,針對(duì)不同url,加不同的角色。
5、dwr的幾個(gè)擴(kuò)展點(diǎn)(Plug-ins)
DWR對(duì)以下接口提供的默認(rèn)的實(shí)現(xiàn),用戶可以繼承DWR的默認(rèn)實(shí)現(xiàn)類來達(dá)到我們想要的效果。但這至少需要我們讀了DWR源碼才能做這些工作(dwr源碼很是清晰,有興趣可以學(xué)習(xí)一下),以后可能補(bǔ)存這部分。
java代碼:?

uk.ltd.getahead.dwr.AccessControl? ?
uk.ltd.getahead.dwr.Configuration
uk.ltd.getahead.dwr.ConverterManager
uk.ltd.getahead.dwr.CreatorManager
uk.ltd.getahead.dwr.Processor
uk.ltd.getahead.dwr.ExecutionContext