Struts2的工作流程

jopen 10年前發布 | 53K 次閱讀 Struts2 Web框架

Struts2工作原理及流程

     Struts2框架的基本思想是采用MVC設計模式,即將應用設計成模型(Model)、視圖(View)和控制器(Control)三個部分;

     那么Struts2框架中是如何實現MVC模式的呢?控制部分由DispatchFilter承擔,模型部分是由一系列的攔截器(Interceptors)、Action組件和ActionContext組件組成,視圖組件則是由Result組件組成;

那么Struts2框架是怎么工作的呢?

     如當我們在瀏覽器的地址欄中輸入:http://localhost:8080/Struts/TestMvc/add.action,瀏覽器就會把這個請求發送給tomcat,tomcat接收到這個請求后,會檢查一下應該交給哪個web程序處理,現在是交給Struts去處理,然后Struts會去參考此程序下的配置文件web.xml,在web.xml中找到過濾器(Filter),如(ActionContextCleanUp、其他過濾器(SiteMesh等)、 FilterDispatcher),注意這里是有順序的,先ActionContextCleanUp,再其他過濾器(SiteMesh等)、最后到FilterDispatcher;

     FilterDispatcher是控制器的核心,就是mvc中c控制層的核心,FilterDispatcher進行初始化并啟用核心 doFilter。FilterDispatcher詢問ActionMapper來決定這個請是否需要調用某個Action, 如果 ActionMapper決定需要調用某個Action,FilterDispatcher把請求的處理交給 ActionProxy ,ActionProxy通過struts.xml詢問框架的配置文件,找到需要調用的Action類和方法來處理這請求;

    Action執行完畢,根據struts.xml中的配置找到對應的返回結果result,并跳轉到相應頁面,最后返回HTTP響應到客戶端瀏覽器

 

  其實用最簡單的七個步驟:

  1:客戶端在瀏覽器中輸入一個url地址

  2:這個url請求通過http協議發送給tomcat

  3:tomcat根據url找到對應項目里面的web.xml文件

  4:在web.xml里面會發現有struts2的配置

  5:然后會找到struts2對應的struts.xml配置文件

  6:根據url解析struts.xml配置文件就會找到對應的class

  7:調用完class返回一個結果result,根據struts.xml返回到對應的jsp

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!