1、最小配置
2、當我們想看DWR自動生成的測試頁(Using debug/test mode)時,可在
這個參數(shù)DWR默認是false.如果選擇true.我們可以通過url http://localhost:port/app/dwr ,你就可以看到你部署的每個DWR class。并且可以測試java代碼的每個方法是否運行正常。為了安全考慮,在正式環(huán)境下你一定把這個參數(shù)設(shè)為false.
3、logging信息配置。
在 無java.util.logging的jdk1.3下運行DWR,我們不希望強制用戶加一個logging包,而是用HttpServlet.log ()方法來輸出日志。如果classpath中包括logging jar包,DWR自動切換用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文件的配置
可能有幾種情況,我們一一列舉。 一個servlet,多個dwr.xml配置文件;多個servlet,每個servlet對應(yīng)一個或多個dwr.xml.
一個servlet,多個dwr.xml配置文件;
在
這種配置下,param-name的值必須以config開頭。param-name可以有>=0個。如果沒有param-name,那么將會讀取
WEB-INF/dwr.xml。如果有大于零個param-name,那么WEB-INF/dwr.xml文件將不會被讀取。
多個servlet,每個servlet對應(yīng)一個或多個dwr.xml
在這種情況下,我們可以根據(jù)J2EE security來控制權(quán)限,針對不同url,加不同的角色。
5、dwr的幾個擴展點(Plug-ins)
DWR對以下接口提供的默認的實現(xiàn),用戶可以繼承DWR的默認實現(xiàn)類來達到我們想要的效果。但這至少需要我們讀了DWR源碼才能做這些工作(dwr源碼很是清晰,有興趣可以學(xué)習(xí)一下),以后可能補存這部分。
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、當我們想看DWR自動生成的測試頁(Using debug/test mode)時,可在
java代碼:? |
servlet中加 <init-param> ? <param-name>debug</param-name> ? <param-value>true</param-value> </init-param> |
3、logging信息配置。
在 無java.util.logging的jdk1.3下運行DWR,我們不希望強制用戶加一個logging包,而是用HttpServlet.log ()方法來輸出日志。如果classpath中包括logging jar包,DWR自動切換用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文件的配置
可能有幾種情況,我們一一列舉。 一個servlet,多個dwr.xml配置文件;多個servlet,每個servlet對應(yīng)一個或多個dwr.xml.
一個servlet,多個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> |
多個servlet,每個servlet對應(yīng)一個或多個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的幾個擴展點(Plug-ins)
DWR對以下接口提供的默認的實現(xiàn),用戶可以繼承DWR的默認實現(xiàn)類來達到我們想要的效果。但這至少需要我們讀了DWR源碼才能做這些工作(dwr源碼很是清晰,有興趣可以學(xué)習(xí)一下),以后可能補存這部分。
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>
問題是不能找到自動生成的JS對象
<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文件是這樣的,稍微有點錯但還是跑不了,錯誤現(xiàn)象還是一樣的。
好文章