Struts理解

Struts是一個基於Sun J2EE平臺的MVC框架,主要是採用Servlet和JSP技術來實現的。由於Struts能充分滿足應用開發的需求,簡單易用,敏捷迅速,Struts把Servlet、JSP、自定義標籤和信息資源(message resources)整合到一個統一的框架中,開發人員利用其進行開發時不用再自己編碼實現全套MVC模式,極大的節省了時間,所以說Struts是一個非常不錯的應用框架。

1. Struts的起源 

Struts是作爲Apache Jakarta項目的組成部分。該項目的目標是爲建立Java web 應用程序而提供的一個開源框架,目前大家一般使用的版本爲1.2,但也出現了2.0。通過使用struts 框架可以改進和提高Java Server Pages (JSPs)、Servlet、標籤庫以及面嚮對象的技術在web應用程序中的應用。應用Struts框架可以減少你應用MVC(Model- View -Controller)設計模式的開發時間,從而提高開發效率。把Struts應用於J2ee客戶端,應該是一個不錯的選擇。 

2. Struts的工作原理 

談到Struts,我們就不得不提到MVC設計模式。MVC即Model-View-Controller的縮寫,它是web應用當中的常用的設計模式。MVC 減弱了業務邏輯接口和數據接口之間的耦合,以及讓視圖層更富於變化。 

Struts是MVC的一種實現,它很好的結合了Jsp,Java Servlet,Java Bean ,Taglib等技術。那麼我們來看看Struts框架的工作原理: 

控制:在Struts中,ActionServlet起着一個控制器(Controller)的作用。ActionServlet是一個通用的控制組件。這個控制組件提供了處理所有發送到Struts的HTTP請求的入口點。它截取和分發這些請求到相應的動作類(這些動作類都是Action類的子類)。另外控制組件也負責用相應的請求參數填充 Action Form(通常稱之爲FromBean),並傳給動作類(通常稱之爲ActionBean)。動作類實現核心商業邏輯,它可以訪問java bean 或調用EJB。所有這些控制邏輯利用Struts-config.xml文件來配置。 

視圖:主要是由Jsp來控制頁面輸出的。它接收到Action Form中的數據,利用html,taglib,bean,logic等顯示數據。 

模型:在Struts中,主要存在三種bean,分別是:Action,ActionForm,EJB或者Java Bean。ActionForm用來封裝客戶請求信息,Action取得ActionForm中的數據,再由EJB或者Java Bean進行處理。 

3 Struts 優點與缺點 

優點:1.利用Struts提供的taglib可以大大節約開發時間。2. 表現與邏輯分離。 3.維護擴展比較方便。 4 便於團隊開發 

缺點:大量的使用標籤,對於初學者難度較大。 

4 總結 

通過使用Struts框架,可以提高系統的可維護性和可重用性。 

 

Struts核心類: ActionServlet,RequestProcessor

1.       ActionServlet負責Struts架構的整個初始化工作,當ActionServlet實例接受到HTTP請求時,在doGet()doPost()方法中都會調用process()方法,Process()中又會調用RequestProcessorprocess()方法。

2.       RequestProcessor中的processActionPerform()調用actionexecute()方法。RequestProcessor可以根據需要進行擴展,如Spring中的org.springframework.web.struts.DelegatingRequestProcessor。擴展後必須在StrutsConfig中加入<controller processorClass="XXXXXX"/>

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