第五部分 包拆解 1)org.directwebremoting包
AjaxFilter
2種類型接口
1,認證,日志,安全,
2,延遲
org.directwebremoting.filter.ExtraLatencyAjaxFilter
一般和AjaxFilterChain合作
Container
容器
hub
集線器,提供多個ajax互相操作接口,使得一個界面中多個ajax可以互相調用,參考openajax聯盟制定的規則,dwr已經是聯盟的會員之一
org.directwebremoting.export包會用到,具體細節不清楚
ScriptBuffer
采用list儲存script,功能類似于StringBuffer
ServerContext
服務器端上下文
WebContext
瀏覽器上下文,好像是每個客戶一個(紅色表示沒仔細看)
auth.js
AuthHandler負責讀取這個js文件
細節由CachingFileHandler讀取
readResource()將字節符轉換為字符串
繼承JavaScriptHandler接口,專門處理讀取js文件
JavaScriptHandler extends TemplateHandler implements CachingFileHandler implements Handler
CachingFileHandler
讀取數據文件,根據req的報頭屬性判斷,如果修改過,那么重新下載,否則不用
下載讀取資源文件,由不同的handle處理,這些handle都繼承于JavaScriptHandler
如:AuthHandler extends JavaScriptHandler
實際上客戶端會將js文件下載到緩存區,這種機制可以使得瀏覽的時候檢查是否js文件內容發生變化。從而重新下載。
dwr20.dtd
org.directwebremoting.impl.DTDEntityResolve處理
dwr20.xsd
實際上沒用到
兩種xml框架類型文件,可以被parse識別。
engine.js
引擎js,在瀏覽器緩存中會發現這個文件已經下載到本地。EngineHandler處理,
messages.properties
語言資源文件
由org.directwebremoting.util.Messages讀取
private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle("org.directwebremoting.messages");
posted on 2008-03-28 01:52 滿店香 閱讀(1021) 評論(0) 編輯 收藏 所屬分類: dwr源碼分析