在web應用啟動時,加載并初始化ActionServlet,ActionServlet會從struts-config.xml配置文件中按照以下流程讀取信息。
Action在action-mappings子元素中配置,當ActionServlet接收一個請求時,首先檢索是否有用戶請求的actionMapping實例,如果存在,則在響應的Action中處理請求;如果不存在,則返回提示用戶請求路徑無效信息。
檢索ActionForm實例,如果該實例存在就創(chuàng)建該實例,將用戶提交的表格數(shù)據(jù)保存到ActionForm對象中。
根據(jù)配置文件中,action子元素的validate屬性值,判斷是否需要表單驗證;如果是true則需要驗證,調用ActionForm的validate方法進行驗證。
若validate方法返回null表示驗證成功;若返回包含有ActionMessage的ActionError對象,則表示失敗,ActionServlet會將請求直接轉發(fā)給包含用戶提交表單的JSP組件,此時不會調用Action的execute方法。
execute方法返回一個ActionForm對象,ActionServlet把客戶請求轉發(fā)給ActionForward對象指向的JSP組件,返回給用戶
struts2環(huán)境搭建,了解相關依賴jar包,在web文件中配置終極過濾器filter
客戶端請求--過濾器組件(前端處理器,ActionContextCleanUp和filterDispatcher)--webwork核心部分--攔截器--自己開發(fā)的業(yè)務邏輯部分。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??