Struts基礎之工作原理和文件結構


1.工作原理

1.1.工作原理圖解


1.1.1.過濾器:用戶通過HttpServletRequet發出請求至過濾器,ActionContextCleanUp(可選過濾器主要用於和其他框架進行集成),FilterDispatcher2.02.1.2版本替代爲StrutsPrepareAndExecuteFilter)。爲什麼替代?是因爲當我們自定義一個過濾器時候往往會放在最頂端,如果我們需要在執行Action之前添加我們自己的過濾器,那麼FilterDispatcher做不到而後者能做到。

1.1.2.當請求是.action後綴時候會通過AcitonMapper中驗證Action是否存在,返回過濾器並轉到ActionProxy,並通過ConfigurationManager去讀取struts.xml來找到具體的Action類。

1.1.3.通過ActionProxy代理來創建我們Action反向的實例,然後通過一系列的攔截器,執行到Action返回result,然後再通過一系列的攔截器,最後通過HttpServletResponse返回結果給用戶。

2.Struts2的核心文件

2.1.web.xml

2.1.1.只有配置在web.xml文件中Servlet纔會被應用加載。

2.1.2.所有的MVC框架都需要Web應用加載一個核心的控制器,對於Struts2而言,需要加載StrutsPrepareAndExecuteFilter,只要Web應用加載了StrutsPrepareAndExecuteFilterStrutsPrepareAndExecuteFilter就會加載Struts2框架。

2.2.struts.xml文件

2.2.1.主要負責管理Aciton的映射和以及該Aciton包含的Result定義等。

2.2.2.包含的內容

1)全局屬性

2)用戶請求和響應Action之間的關係

3)Action可能用到的參數和返回的結果

4)各種攔截器的配置

2.3.struts.properties

2.3.1.Struts2框架下的全局屬性文件,自動加載(該文件包含很多的key-value鍵值對),該文件也可以不要,可以在struts.xml中通過constants元素進行配置。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章