Struts2工作原理:
1.初始化一個指向servlet容器的請求。
2.請求經過web.xml中配置的過濾器過濾,FilterDispatcher(struts2控制器的核心)詢問ActionMapper是否需要調用某個Action來處理這個請求。如果ActionMapper決定需要調用某個Action,FilterDispatcher則把請求的處理交給ActionProxy。
3.ActionProxy通過配置文件Struts.xml配置文件找到需要調用的Action類。
4.ActionProxy創建一個ActionInvocation實例,同時ActionInvocation通過代理模式調用Action。但在調用之前,ActionInvocation會根據配置加載Action相關的所有Interceptor(攔截器)。
5.Action執行完畢后,ActionInvocation負責根據struts.xml中的配置找到對應的返回結果result。