【SSH】——Struts由來以及基本原理

          Struts,最初的意思是:框架的,支桿。用來支持JSPServlet等技術在Web項目中的應用。它的目的是幫助我們減少在運用MVC設計模型來開發Web應用的時間。


         在使用Struts之前,開發人員都是在JSP中頁面裏寫入業務邏輯處理的代碼。每個頁面都要寫上大量的冗餘代碼。開發J2EE Web項目都是使用Model的設計模式。

 

Model1

  model1模式,有三種常用開發方式:

1)將Java代碼寫入JSP頁面中

2)將部分業務邏輯代碼封裝成JavaBean,在JSP中調用這些JavaBean。解決了上述代碼冗餘的問題,並且從內存中讀取一次封裝的Java對象。

3)將Java中已經是標準的內置對象在JSP中調用,例如JDBC。此種方式和第二種方式不同的地方是,第二種方式是調用的開發者自己開發的類和方法,而此方式是調用的Java的標準類和方法。javaBean中含有簡單的業務邏輯處理。例如數據庫連接。

 

Model1模式的結構:

 


 

模式優點:架構簡單,比較適合小型項目開發

模式缺點:

1)修改需求或增加需求時,要改動很多代碼,開發工作量大。

2)業務邏輯代碼和頁面代碼都是寫到JSP中的,無法達到複用的效果。

 

model2

 

       model2模式是model1模式的進一步改進,它的基礎是組件化,基於MVC模式的開發。該模型採用業務邏輯和視圖分離的方法。JSP只負責展現表示功能,而業務邏輯由Java代碼來實現。當開發新需求或改動需求時,JSP無須更改,可以達到JSP頁面複用的效果。

      在Model2架構中,Servlet作爲前端控制器,負責接收客戶端發送的請求,在Servlet中只包含控制器邏輯和簡單的前端處理;然後,調用後端JavaBean來完成實際的邏輯處理;最後,轉發到相應的JSP頁面處理顯示邏輯。

 

 Model2模式結構:

 


 

        MVC模式中,Model代表的是業務邏輯,由Java代碼實現;View代表表示界面,由JSP技術實現;Controller代表的是處理流程控制,主要實現的是業務邏輯和表示界面相關聯的技術。

 

模式優點:職責清楚,適合大型項目開發,分離了控制,能夠更好的使用需求的變化。

模式缺點:不適合小型項目開發。

 

Struts


Struts就是運用MVC模式的Web項目開發框架。

 

 


 

 

Controller該組件由兩部分來組成-系統核心控制器,業務邏輯控制器。

 

       Struts中,ActionServlet爲系統核心控制器,負責攔截來自用戶的請求,該控制器負責攔截所有的HTTP請求,然後根據用戶請求決定是否要轉給業務邏輯控制器。

         Action,該控制器負責接收來自ActionServlet的請求,並根據該請求調用模型的業務邏輯方法處理請求,並將處理結果返回給JSP頁面顯示,本身不具備處理能力,而是調用Model來完成處理。

 

ModelActionFormJavaBean組成,其中ActionForm用於封裝用戶請求的參數,封裝成ActionForm對象,該對象被ActionServlet轉發給Action,Action根據ActionFrom裏面的請求參數處理用戶的請求。JavaBean則封裝了底層的業務邏輯,包括數據庫訪問等。

 

View:該部分由JSP視圖來實現,Struts提供了豐富的標籤庫,實現與Model的交互。

 

        到此,我們瞭解了Struts的一些基礎知識,那麼如何在項目中使用Struts呢?如何讓Struts生效?請看下篇博客的講解。

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