Struts原理

ActionServlet,和Action都是Servlet的範疇。Struts本身用的是Java,它是一個支柱、大梁其主要成分還是用Java的石子和水泥做的。
還有ActionServlet扮演中心控制器的角色根據配置文件,轉發到適當的處理器,一般就是指Action類了,當ActionServlet接收到用戶請求時只做初步的處理,至於具體的功能實現是交給Action類來做並和一個ActionForm,比如說用戶註冊對應功能實現是一個Action,刪除添加用戶購物車動作又是一個Action。。。

 

Struts原理:

Struts 使用 Model 2 架構。Struts 的ActionServlet 控制導航流。其他Struts 類,比如Action, 用來訪問業務邏輯類。當 ActionServlet 從容器接收到一個請求,它使用URI (或者路徑“path”) 來決定那個Action 將用來處理請求。(相當於Router吧。。嘻嘻。)一個 Action可以校驗輸入,並且訪問業務層以從數據庫或其他數據服務中檢索信息。    爲校驗輸入或者使用輸入來更新數據庫, Action 需要知道什麼指被提交上來。並不是強制每個Action 從請求中抓取這些值,而是由 ActionServlet 將輸入綁定到JavaBean中。
    輸入 bean是Struts ActionForm c類的子類。ActionServlet 通過查找請求的路徑可以決定使用哪個ActionForm,Action 也是通過同樣的方法選取的。
    ActionForm 擴展org.apache.struts.action.ActionForm類。每個都必須以HTTP 響應進行應答。 通常, StrutsAction 並不自行加工響應信息,而是將請求轉發到其他資源,比如JSP 頁面。Struts 提供一個ActionForward 類,用來將一個頁面的路徑存儲爲邏輯名稱。當完成業務邏輯後,Action 選擇並向Servlet返回一個ActionForward。Servlet 然後使用存儲在ActionForward 對象中的路徑來調用頁面完成響應。
    Struts 將這些細節都綁定在一個ActionMapping 對象中。每個ActionMapping 相對於一個特定的路徑。當某個路徑被請求時,Servlet 就查詢ActionMapping 對象。ActionMapping對象告訴servlet,哪個Actions, ActionForms, 和 ActionForwards 將被使用。
    所有這些細節,關於Action, ActionForm, ActionForward, ActionMapping,以及其他一些東西,都在struts-config.xml 文件中定義。 ActionServlet 在啓動時讀取這個配置文件,並創建一個配置對象數據庫。在運行時,Struts 應用根據文件創建的配置對象,而不是文件本身。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章