一、通過順序圖剖析sturts執行流程.
由上圖可以struts1.x對請求的處理過程:
1、預設情況下,*.do請求都將交給struts框架處理,首先會由控制器actionservlet攔截請求,在處理請求前會做一些初始化的工作,然後再轉交給請求處理器requestprocessor處理.
2、requestprocessor根分析請求url,在配置檔案struts-config.xml中找到相對應的actionform,例項化actionform並根據類的反射填充actionform,將表單元素值封裝成乙個actionform物件.
3、對actionform物件每個成員屬性進行校驗,校驗失敗將直接返回的input屬性所指定的頁面。如果校驗成功就往下執行.
4、requestprocessor例項化action並呼叫action的execute方法。對於某一些action可能還會進行業務邏輯校驗。
5、業務邏輯校驗通過後,返回乙個actionforward物件並**到該物件指定的乙個成功頁面。
二、requestprocessor的處理過程
requestprocessor是處理請求的核心類,處理請求步驟如下 :
1、呼叫processpath()方法, 確定選擇將要處理的動作的路徑,如:/login.do,就會取出/login字串,賦值給變數path.
4、呼叫processpopulate()方法,填充與請求關聯的form bean (即把表單元素的資料封裝成乙個actionform物件).
7、呼叫processactionperform()方法,內部將呼叫action的execute() 方法,執行完後將返回actionforward物件所指定的頁面.
Struts1 x工作原理解析
1.struts 的體系結構 2.struts 的流程 1.讀取配置 初始化moduleconfig物件 struts框架總控制器 actionservlet 是乙個servlet,在web.xml中配置成自動啟動的servlet。讀取配置檔案 servlet config.xml 的配置資訊,為不...
struts1 x 學習筆記
struts1.x 工作流程 2.建立actionform物件,儲存表單引數 3.使用actionform的validate方法進行引數驗證 4.actionservlet傳遞請求給相應的action 5.action的execute方法返回相應的actionforward物件 6.actionse...
struts 1 x 學習 筆記1
配置struts 1.x 要做的以下幾件事,1.匯入jar 2.web.xml配置actionservlet 3.struts conf.xml 4.配置formbean 5.配置action path 必須 type 必須 name 是frombean的名字 scope 作用域,只有session...