天天看點

Webwork 學習之路(三)核心類 ServletDispatcher 的初始化

<b>閱讀目錄</b>

<a href="http://www.cnblogs.com/java-class/p/5072023.html#_label0">1. webwork 與 xwork</a>

<a href="http://www.cnblogs.com/java-class/p/5072023.html#_label1">2.webwork配置</a>

<a href="http://www.cnblogs.com/java-class/p/5072023.html#_label2">3.核心類 servletdispatcher 和 它的初始化</a>

     搭建環境需要的的jar 為:webwork-core-1.0.jar,xwork-1.0.jar,搭建webwork 需要xwork 的jar呢?原因是這樣的,webwork2 被建構在xwork之上,以xwork為基礎。通過使用xwork的指令模式架構和攔截器架構,提供了一個支援web功能、能快速建構web應用的指令模式架構。而xwork是一個标準的command模式實作,并且完全從web層脫離出來。xwork提供了很多核心功能:前端攔截機(interceptor),運作時表單屬性驗證、ioc容器、類型轉換、強大的表達式語言ognl等......

    一切web項目開始的地方,都是web.xml。web.xml 具體都能幹什麼,都能配置什麼,根據需求自己配置了,俺這裡就不多說了。下面的webwork架構在在我的項目 web.xml 裡面配置項。

Webwork 學習之路(三)核心類 ServletDispatcher 的初始化
Webwork 學習之路(三)核心類 ServletDispatcher 的初始化

   終于轉的正題了。介紹下webwork 最核心排程類 com.opensymphony.webwork.dispatcher.servletdispatcher.

a. servletdispatcher是預設的處理web http請求的排程器,它是一個javaservlet,是webwork架構的控制器。

b. 所有對action調用的請求都将通過這個servletdispatcher排程。

c. servletdispatcher接受用戶端的http請求,将javaservlet的很多相關對象進行包裝。

   再傳給我們的xwork架構由我們的xwork架構去解析 xwork.xml 配置檔案。

   根據配置檔案的資訊,建立對應的action,組裝并調用相應的攔截器,執行action,傳回執行結果。

Webwork 學習之路(三)核心類 ServletDispatcher 的初始化
Webwork 學習之路(三)核心類 ServletDispatcher 的初始化

   上面是核心類 servletdispatcher 的初始化方法,init()隻有在使用架構第一次調用action時被使用,架構類 隻初始化一次,來具體看看它都做了點什麼?

a. 檢查是否支援配置檔案重新載入功能。如果webwork.configuration.xml.reload(見webwork.properties檔案)設定為true,每個request請求都将重新裝載xwork.xml配置檔案(說是這樣說,親測沒什麼卵用)

    在開發環境使用将會非常友善,但在生産環境必需設定為false;

b. 設定一些檔案上傳的資訊,比如:上傳臨時目錄,上傳的最大位元組等。都設定在webwork.properties檔案裡,如果在classpath中找不到這個屬性檔案,它會去讀取預設的default.properties;

c. 設定編碼方式、語言環境;

d. 針對weblogic應用伺服器做了相應的優化設定。

e. 告訴servlet 上下文,我webwork 已經産生了。

   差不多,先總結到這裡吧。還有許多不明朗的地方需要在多研究研究,本文中如有不正确的地方還請各位看客老爺們斧正。

如果,您認為閱讀這篇部落格讓您有些收獲,不妨點選一下右下角的【推薦】 

如果,您希望更容易地發現我的新部落格,不妨點選一下左下角的【關注我】 

如果,您對我的部落格内容感興趣,請繼續關注我的後續部落格,我是【orson】 

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段 聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。 

轉載:http://www.cnblogs.com/java-class/p/5072023.html