struts2流程

一個請求在Struts2框架中的處理大概分為以下幾個步驟:
1) 客戶端初始化一個指向Servlet容器(例如Tomcat)的請求。
2) 這個請求經過一系列的過濾器(Filter)。
3) 接著FilterDispatcher被調用,FilterDispatcher詢問ActionMapper來決定這個請求是否需要調用某個Action。
4) 如果ActionMapper決定需要調用某個Action,FilterDispatcher把請求的處理交給ActionProxy。
5) ActionProxy通過Configuration Manager詢問框架的配置文件,找到需要調用的Action類。
6) ActionProxy創建一個ActionInvocation的實例。
7) ActionInvocation實例使用命名模式來調用,在調用Action的過程前后,涉及到相關攔截器(Intercepter)的調用。
8) 一旦Action執行完畢,ActionInvocation負責根據struts.xml中的配置找到對應的返回結果。
Struts2的核心就是攔截器。Struts.xml中所有的package都要extends="struts-default"。同理與所有的Java類都要extends自Object一樣。struts-default.xml里面就是要做以上事情。