隨筆-21  評論-29  文章-0  trackbacks-0
          上次登錄實例的工作原理圖


          struts工作原理圖

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

          PS:以上配置工作可以通過Myeclipse直接給項目添加Struts功能!
          不過第一次學(xué)習(xí),建議大家還是和我一樣配置以上信息,可以加深印象和理解。
          posted on 2009-05-02 14:43 特立獨行 閱讀(532) 評論(0)  編輯  收藏 所屬分類: Struts框架
          主站蜘蛛池模板: 谢通门县| 个旧市| 桂阳县| 五台县| 福州市| 桦南县| 金塔县| 鱼台县| 大同市| 九寨沟县| 曲阳县| 广丰县| 普兰县| 黄大仙区| 射洪县| 博野县| 房产| 宁晋县| 裕民县| 台州市| 苏尼特左旗| 黄山市| 高青县| 新沂市| 尤溪县| 香港| 安泽县| 元朗区| 正阳县| 铁力市| 保德县| 兴仁县| 乐平市| 古浪县| 伊川县| 务川| 原阳县| 额敏县| 张家口市| 湘潭县| 广安市|