第四部分 DWRServlet類分析
org.directwebremoting.servlet.DwrServlet主要分為三部分,也就是三個主要方法:init;doGet;doPost;
1,init,初始化。
DWR對于Servelet容器內(nèi)部設(shè)一個配置容器,該容器裝載dwr映射相關(guān)信息。











































比較細致的環(huán)節(jié):
init()調(diào)用
createAndSetupDefaultContainer()
調(diào)用
setupDefaultContainer(defaultContainer, servletConfig)
調(diào)用如下步驟
1)setupDefaults(container);
包括:
容器相關(guān)管理工具配置集,也就是要實現(xiàn)的一些接口。這種方式蠻好,當容器需要具備很多接口功能時,把這些接口全部做成隱射,并設(shè)置成可配置的實現(xiàn)
container.addImplementation(AccessControl.class, DefaultAccessControl.class);
// Mapping handlers to URLs,路徑配置
createUrlMapping(container, "/index.html", IndexHandler.class, "indexHandlerUrl");
//讀取servlet配置屬性
2)setupFromServletConfig(container, servletConfig);
額外處理1)中多選類型
3)resolveMultipleImplementations(container, servletConfig);
里面使用了通用yui型壓縮器
【使用 YUI Compressor 壓縮 Javascript 和 CSS
工具下載: http://www.julienlecomte.net/yuicompressor/
英文介紹: http://com3.devnet.re3.yahoo.com/yui/compressor/
YUI Compressor是使用Java編寫的工具,需要Java版本大于等于1.4。
工作原理簡介:
主要是去掉冗余的空白,主要包括空格,換行符、制表符。
對于 Javascript,還采用縮短變量名的方法壓縮文件,就是在保證代碼正確性的情況下將變量名用只有1個字符的字符串代替,或者2個、3個字符,總之盡量短。
對于 CSS,還有采用優(yōu)化0值屬性值的表示,優(yōu)化顏色值的方法壓縮文件。
CSS的優(yōu)化比 CSSTidy 功能弱。CSSTidy還能支持一些相關(guān)屬性的合并。】
//工具配置集 加載,顯現(xiàn),檢查
4)container.setupFinished();
容器內(nèi)容bean初始化 ,包括系統(tǒng)默認???
initContainerBeans
實際調(diào)用doPost,看到這里最好溫習下servlet的doGet方法和doPost的區(qū)別




3,doPost
在工程中,有個樣例Dynamically Text,地址是http://localhost:5050/dwr/simpletext/index.html,當點擊按鈕時,實際上就是觸發(fā)了org.directwebremoting.servlet.DwrServlet的下面的方法。














posted on 2008-03-28 01:41 滿店香 閱讀(1611) 評論(0) 編輯 收藏 所屬分類: dwr源碼分析