首先說一下Framework的概念:人們用於解決相同或者相似類型問題的方案
特點:可重用行,可擴充性,可收縮性
基於請求響應模式的應用framework的邏輯結構:
1,控制層;
2,商務邏輯層;
3,資料邏輯層
Struts的概念和體繫結構:
* 主要採用serlvet和Jsp技術實現的MVC模式
* 很好的一個控制層架構
關於struts其他的介紹就不多說了,先看一張流程圖
1,讀取配置(初始化ModuleConfig對象)
Struts架構總控制器(ActionServlet)是一個Servlet,在web.xml中配置成自動啟動的Servlet,讀取設定檔(Struts-config.xml)的配置資訊,為不同的Struts模組初始化相應的ModuleConfig對象:
* ActionConfig
* ControlConfig
* FormBeanConfig
* FowardConfig
* MessageResourcesConfig
2,發送請求
使用者提交表單或調用URL向Web應用程式器提交一個請求,請求的資料用Http協議上傳給web伺服器
3,填充Form(執行個體化,複位,填充資料,校正,儲存)
(*.do)從ActionConfig中找出對應該請求的Action子類,如沒有對應的Action,控制器直接轉寄給JSP或靜態頁面,如有對應的Action且這個Action有一個相應的ActionForm,ActionForm被執行個體化並用HTTP請求的資料填充其屬性,並且儲存在ServletContext中(request或者session),這樣它們就可以被其它Action對象或者JSP調用
4,派發請求
控制器根據配置資訊ActionConfig將請求派發到具體的Action,相應的FormBean一併傳給這個Action的execute()方法
5,處理業務
Action一般只包含一個execute()方法,它負責執行相應的商務邏輯(調用其他業務模組),完畢後返回一個ActionForward對象,控制器通過該ActionForward對象來進行轉寄工作
6,返迴響應
Action根據業務處理的不同結果返回一個目標響應對象給總控制器,該目標響應對象對應一個具體的JSP頁面或者另一個Action
7,尋找響應(翻譯響應)
總控制器根據業務功能Action返回的目標響應對象,找到對應的資來源物件,通常是一個具體的JSP頁面
8,響應使用者
目標響應對象將結果展現給使用者目標響應對象(jsp),將結果頁面展現給使用者。