DWR學習(二)

fightplane發表於2007-09-26

1、最小配置

程式碼
  1. <servlet>  
  2.   <servlet-name>dwr-invoker</servlet-name>  
  3.   <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>  
  4. </servlet>  
  5. <servlet-mapping>  
  6.   <servlet-name>dwr-invoker</servlet-name>  
  7.   <url-pattern>/dwr/*</url-pattern>  
  8. </servlet-mapping>  

2、當我們想看DWR自動生成的測試頁(Using debug/test mode)時,可在
程式碼
  1. servlet中加  
  2. <init-param>  
  3.   <param-name>debug</param-name>  
  4.   <param-value>true</param-value>  
  5. </init-param>  

3、logging資訊配置。
在無java.util.logging的jdk1.3下執行DWR,我們不希望強制使用者加一個logging包,而是用 HttpServlet.log()方法來輸出日誌。如果classpath中包括logging jar包,DWR自動切換用logging輸出日誌。
如果用HttpServlet.log()方法,以下配置是有效的。
程式碼
  1. <init-param>  
  2.  <param-name>logLevel</param-name>  
  3.  <param-value>DEBUG</param-value>  
  4. </init-param>  

我是喜歡用log4j輸出日誌,那麼在log4j.properties下加,log4j.logger.uk.ltd.getahead.dwr = debug。這樣可以看DWR的除錯日誌。
4、多dwr.xml檔案的配置
可能有幾種情況,我們一一列舉。 一個servlet,多個dwr.xml配置檔案;多個servlet,每個servlet對應一個或多個dwr.xml.
一個servlet,多個dwr.xml配置檔案;

程式碼
  1. <servlet>  
  2.     <servlet-name>dwr-invoker</servlet-name>  
  3.     <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>   
  4.     <init-param>  
  5.       <param-name>config-1</param-name>  
  6.       <param-value>WEB-INF/dwr1.xml</param-value>  
  7.     </init-param>  
  8.     <init-param>  
  9.       <param-name>config-2</param-name>  
  10.       <param-value>WEB-INF/dwr2.xml</param-value>  
  11.     </init-param>  
  12. </servlet>  

多個servlet,每個servlet對應一個或多個dwr.xml

程式碼
  1. <servlet>  
  2.    <servlet-name>dwr-invoker</servlet-name>  
  3.     <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>   
  4. <!--用classes/dwr.xml-->  
  5. </servlet>  
  6. <servlet>  
  7.    <servlet-name>dwr-invoker1</servlet-name>  
  8.    <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>   
  9.    <init-param>  
  10.      <param-name>config-admin</param-name>  
  11.      <param-value>WEB-INF/dwr1.xml</param-value>  
  12.    </init-param>  
  13.    <init-param>  
  14.      <param-name>debug</param-name>  
  15.      <param-value>true</param-value>  
  16.    </init-param>  
  17. </servlet>  
  18. <servlet-mapping>  
  19.    <servlet-name>dwr-invoker</servlet-name>  
  20.    <url-pattern>/dwr/*</url-pattern>  
  21. </servlet-mapping>  
  22. <servlet-mapping>  
  23.    <servlet-name>dwr-invoker1</servlet-name>  
  24.    <url-pattern>/dwr1/*</url-pattern>  
  25. </servlet-mapping>  

5、dwr的幾個擴充套件點(Plug-ins)
DWR對以下介面提供的預設的實現,使用者可以繼承DWR的預設實現類來達到我們想要的效果。但這至少需要我們讀了DWR原始碼才能做這些工作(dwr原始碼很是清晰,有興趣可以學習一下),以後可能補存這部分。
程式碼
  1. uk.ltd.getahead.dwr.AccessControl      
  2. uk.ltd.getahead.dwr.Configuration   
  3. uk.ltd.getahead.dwr.ConverterManager   
  4. uk.ltd.getahead.dwr.CreatorManager   
  5. uk.ltd.getahead.dwr.Processor   
  6. uk.ltd.getahead.dwr.ExecutionContext