1. 程式人生 > >Struts學習筆記:Struts Framework工作原理

Struts學習筆記:Struts Framework工作原理

首先說一下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),將結果頁面展現給使用者。