關於Struts框架簡介

weixin_34402090發表於2014-07-07
一,什麼是框架? 所謂框架就是提供了一組統一的介面和程式設計方式的可以重用元件,同時我們可以在框架中擴充我們自己的特定邏輯。 二,MVC設計模式 將應用程式分為3個部分:模型 Model,檢視View,控制器Controller; 模型元件:負責業務邏輯; 模型包含應用程式的核心功能。模型封裝了應用程式的狀態。有時它包含的唯一功能就是狀態。它對檢視或控制器一無所知。 檢視元件:負責表示業務範圍的檢視; 檢視提供模型的表示。它是應用程式的 外觀。檢視可以訪問模型的讀方法,但不能訪問寫方法。此外,它對控制器一無所知。當更改模型時,檢視應得到通知。 控制器元件:負責控制使用者輸入的流和狀態; 控制器對使用者的輸入作出反應。它建立並設定模型。 Struts,它是使用 servlet 和 JavaServer Pages 技術的一種MVC 實現; Struts,Apache組織的一個專案,MVC 的一種開放原始碼實現; 三,什麼是Struts框架 Struts 是一組相互協作的類、servlet 和 JSP 標記組成的一個可重用的 MVC 2 設計。 這個定義表示 Struts 是一個框架,而不是一個庫,但 Struts 也包含了豐富的標記庫和獨立於該框架工作的實用程式類。 四,Struts 概覽 1,Client browser(客戶瀏覽器) 來自客戶瀏覽器的每個 HTTP 請求建立一個事件。Web 容器將用一個 HTTP 響應作出響應。 2,Controller(控制器) 控制器接收來自瀏覽器的請求,並決定將這個請求發往何處。就Struts而言,控制器是以 servlet 實現的一個命令設計模式。 struts-config.xml 檔案配置控制器命令。 3,業務邏輯 業務邏輯更新模型的狀態,並幫助控制應用程式的流程。就Struts而言,這是通過作為實際業務邏輯“瘦”包裝的 Action 類完成的。 4,Model(模型)的狀態 模型表示應用程式的狀態。業務物件更新應用程式的狀態。 ActionForm bean 在會話級或請求級表示模型的狀態,而不是在持久級。 JSP 檔案使用 JSP 標記讀取來自 ActionForm bean 的資訊。 5,View(檢視) 檢視就是一個 JSP 檔案。其中沒有流程邏輯,沒有業務邏輯,也沒有模型資訊 —— 只有標記。 標記是使 Struts 有別於其他框架(如 Velocity)的因素之一。 五, Struts中的Controller(控制器) 命令設計模式的實現: Struts 的控制器將事件(事件通常是 HTTP post)對映到類的一個 servlet. ActionServlet (Command) 建立並使用 Action 、 ActionForm 和 ActionForward . 通過struts-config.xml 檔案配置該 Command.從而擴充套件 Action 和 ActionForm 來解決特定的問題。 可以通過擴充套件 ActionServlet 來新增 Command 功能。 在Struts框架中控制器元件由三個部分構成: 1,訊息控制模組; 使用者所有的提交請求都發往訊息控制模組,在由訊息匯流排模組根據檢視對映模組找到訊息處理模組來執行處理邏輯。 訊息控制模組接收所有使用者的請求,並根據請求檢視找到處理。 Strtus中通過ActionServlet和RequestProcessor類來完成。 2,訊息處理模組; 該模組執行該訊息的邏輯處理,因此通常由使用者擴充套件實現。 Struts中通過Action類來實現。 3,檢視對映模組; 控制器邏輯和檢視邏輯之間的結合是通過配置模組和配置檔案建立其的連結。 Struts中配置模組通過ModuleConfig類來完成,而配置檔案由struts-config.xml檔案提供。  六,Struts中的View(檢視) 檢視元件通過JSP元件實現的。Struts框架對檢視元件進行了擴充套件和封裝。 Struts對檢視的擴充套件提供了一組擴充套件伺服器標籤用來提供檢視顯示以及傳遞資料到處理緩衝,而處理緩衝由ActionForm的擴充套件類來實現。 Struts框架利用ActionForm Bean來實現檢視與控制器之間的資料的互動,維持會話級或請求級的模型的狀態。 伺服器標籤主要包括:Html檢視標籤;Logic邏輯流程控制標籤;Bean資料緩衝讀取標籤; 七,Struts中的Model(模型) 1,Struts框架中並沒有定義特定的模型元件,而是希望由使用者自己決定選擇合理的模型元件。 J2EE中可用的模型元件包括:JavaBean 使用者定義元件;EJB 元件,由EJB容器實現元件;JDO 未來J2EE資料訪問模型;一些擴充套件框架如:Hibernate; 2,模型中狀態的級別 會話級或請求級:ActionForm bean來維持 ; 持久級:模型元件來維持;

相關文章