1、最小配置
2、當(dāng)我們想看DWR自動(dòng)生成的測(cè)試頁(yè)(Using debug/test mode)時(shí),可在
這個(gè)參數(shù)DWR默認(rèn)是false.如果選擇true.我們可以通過(guò)url http://localhost:port/app/dwr ,你就可以看到你部署的每個(gè)DWR class。并且可以測(cè)試java代碼的每個(gè)方法是否運(yùn)行正常。為了安全考慮,在正式環(huán)境下你一定把這個(gè)參數(shù)設(shè)為false.
3、logging信息配置。
在 無(wú)java.util.logging的jdk1.3下運(yùn)行DWR,我們不希望強(qiáng)制用戶加一個(gè)logging包,而是用HttpServlet.log ()方法來(lái)輸出日志。如果classpath中包括logging jar包,DWR自動(dòng)切換用logging輸出日志。
如果用HttpServlet.log()方法,以下配置是有效的。
有效的值是 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配置文件;
在
這種配置下,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
在這種情況下,我們可以根據(jù)J2EE security來(lái)控制權(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)類來(lái)達(dá)到我們想要的效果。但這至少需要我們讀了DWR源碼才能做這些工作(dwr源碼很是清晰,有興趣可以學(xué)習(xí)一下),以后可能補(bǔ)存這部分。
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> |
3、logging信息配置。
在 無(wú)java.util.logging的jdk1.3下運(yùn)行DWR,我們不希望強(qiáng)制用戶加一個(gè)logging包,而是用HttpServlet.log ()方法來(lái)輸出日志。如果classpath中包括logging jar包,DWR自動(dòng)切換用logging輸出日志。
如果用HttpServlet.log()方法,以下配置是有效的。
java代碼:? |
<init-param> <param-name>logLevel</param-name> <param-value>DEBUG</param-value> </init-param> |
我是喜歡用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> |
多個(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> |
5、dwr的幾個(gè)擴(kuò)展點(diǎn)(Plug-ins)
DWR對(duì)以下接口提供的默認(rèn)的實(shí)現(xiàn),用戶可以繼承DWR的默認(rèn)實(shí)現(xiàn)類來(lái)達(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 |
謝謝
<servlet-name>dwr-s0010-invoker</servlet-name>
<display-name>DWR S0010</display-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>config-s0010</param-name>
<param-value>WEB-INF/dwr-s0010.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>dwr-s0100-invoker</servlet-name>
<display-name>DWR S0100</display-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>config-s0100</param-name>
<param-value>WEB-INF/dwr-s0100.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-s0010-invoker</servlet-name>
<url-pattern>/dwr-s0100/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>dwr-s0100-invoker</servlet-name>
<url-pattern>/dwr-s0100/*</url-pattern>
</servlet-mapping>
問題是不能找到自動(dòng)生成的JS對(duì)象
<servlet-name>dwr-s0010-invoker</servlet-name>
<url-pattern>/dwr-s0010/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>dwr-s0100-invoker</servlet-name>
<url-pattern>/dwr-s0100/*</url-pattern>
</servlet-mapping>
上面的mapping文件是這樣的,稍微有點(diǎn)錯(cuò)但還是跑不了,錯(cuò)誤現(xiàn)象還是一樣的。
好文章