Struts 使用 Model 2 架構。Struts 的ActionServlet 控制導航流。其他Struts 類,比如
Action, 用來訪問業務邏輯類。當 ActionServlet 從容器接收到一個請求,它使用URI (或者
路徑“path”) 來決定那個Action 將用來處理請求。一個 Action可以校驗輸入,并且訪問業務
層以從數據庫或其他數據服務中檢索信息。
為校驗輸入或者使用輸入來更新數據庫, Action 需要知道什么指被提交上來。并不是
強制每個Action 從請求中抓取這些值,而是由 ActionServlet 將輸入綁定到JavaBean中。
輸入 bean是Struts ActionForm c類的子類。ActionServlet 通過查找請求的路徑可以決定使用
哪個ActionForm,Action 也是通過同樣的方法選取的。ActionForm 擴展
org.apache.struts.action.ActionForm類。每個都必須以HTTP 響應進行應答。 通
常, Struts
Action 并不自行加工響應信息,而是將請求轉發到其他資源,比如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 應用根據文件創建的配置對象,而不是文件
本身
posted on 2007-12-08 10:52
Dong 閱讀(253)
評論(0) 編輯 收藏