上次登錄實(shí)例的工作原理圖
struts工作原理圖
step1:讀取配置(初始化ModuleConfig對象)
Struts框架總控制器(ActionServlet)是一個(gè)Servlet,在web.xml中配置成自動(dòng)啟動(dòng)的Servlet。讀取配置文件(struts-config.xml)的配置信息,為 不同的Struts模塊初始化相應(yīng)的ModuleConfig對象:ActionConfig、ControlConfig、FormBeanConfig、ForwardConfig、MessageResourceConfig
step2:發(fā)送請求
用戶提交表單或調(diào)用URL向WEB應(yīng)用服務(wù)器提交一個(gè)請求,請求的數(shù)據(jù)用HTTP協(xié)議上傳給WEB服務(wù)器。
step3: 填充FORM(實(shí)例化、復(fù)位、填充數(shù)據(jù)、校驗(yàn)、保存)
(*.do請求)從ActionConfig中找出對應(yīng)請求的Action子類,如沒有對應(yīng)的Action,控制器直接轉(zhuǎn)發(fā)給JSP或靜態(tài)頁面。如有對應(yīng)的Action且這個(gè)Action有一個(gè)相應(yīng)的ActionForm,ActionForm被實(shí)例化并用HTTP請求的數(shù)據(jù)填充其屬性,并且保存在Servlet Context中(request或session中),這樣它們就可以被其他Action對象或者JSP調(diào)用。
step4: 派發(fā)請求
控制器控制配置信息ActionConfig將請求派發(fā)到具體的Action,相應(yīng)的FormBean一并傳給這個(gè)Action的execute()方法。
step5: 處理業(yè)務(wù)
Action一般只包含一個(gè)execute方法,它負(fù)責(zé)執(zhí)行相應(yīng)的業(yè)務(wù)邏輯(調(diào)用其他業(yè)務(wù)模塊)。完畢返回一個(gè)ActionForward對象,控制器通過該ActionForward對象來進(jìn)行轉(zhuǎn)發(fā)工作。
step6: 返回響應(yīng)
Action根據(jù)業(yè)務(wù)處理的不同結(jié)果返回一個(gè)目標(biāo)響應(yīng)對象給總控制器,該目標(biāo)響應(yīng)對象對應(yīng)一個(gè)具體的JSP頁面或另一個(gè)Action。
step7: 查找(翻譯)響應(yīng)
總控制器根據(jù)業(yè)務(wù)功能Action返回的目標(biāo)響應(yīng)對象,找到對應(yīng)的資源對象,通常是一個(gè)具體的JSP頁面。
step8: 響應(yīng)用戶
用戶目標(biāo)響應(yīng)對象(JSP)將結(jié)果頁面展現(xiàn)給用戶。
PS:以上配置工作可以通過Myeclipse直接給項(xiàng)目添加Struts功能!
不過第一次學(xué)習(xí),建議大家還是和我一樣配置以上信息,可以加深印象和理解。
posted on 2009-05-02 14:43
特立獨(dú)行 閱讀(525)
評論(0) 編輯 收藏 所屬分類:
Struts框架