struts2和mvc的關係

來源:互聯網
上載者:User

首先要說的是,mvc是一種架構模式,它是一種思想,而不是一種架構,但是struts2是一種架構,它運用的是mvc思想。。

以下是struts2和mvc的一一對應關係:

核心控制器:FilterDispatcher 
    FilterDispatcher是Struts2架構的核心控制器,該控制器作為一個Filter運行在Web應用中,它負責攔截所有使用者請求,當使用者請求到達時,該Filter會過濾使用者請求。如果使用者請求以.action結尾,該請求將被轉入Struts2架構處理。 
業務控制器組件:使用者Action 
業務控制器組件就是使用者實現Action類的執行個體,Action類裡通常包含了一個execute方法,該方法返回一個字串--該字串就是一個邏輯視圖名,每個字串對應一個視圖名。 
每個Action都要處理一個使用者請求,而使用者請求總是包含了指定URL。當FilterDispatcher攔截到使用者請求後,根據請求的URL和Action處理URL之間的對應關係來處理轉寄。
模型組件 
    模型組件已經超出了MVC架構的覆蓋範圍。對於Struts2架構而言,通常沒有為模型組件的實現提供太多的協助。 
    J2EE應用裡的模型組件,通常指系統的商務邏輯組件以及隱藏其下的DAO、領域對象等組件。 
通常,MVC架構裡的業務控制器會調用模型組件的方法來處理使用者請求。也就是說,商務邏輯控制器不會對使用者請求進行任何實際處理,使用者請求最終由模型組件負責處理。業務控制器只是是間負責調度的調試器,這也是稱Action為控制器的原因。 
視圖組件 
    Struts2允許使用其他的模板技術,如FreeMarker、Velocity作為視圖技術。當Struts2的控制器返回邏輯視圖名時,邏輯視圖並未與任何的視圖技術關聯,僅僅是返回一個字串,該字元器作為邏輯視圖名。 
    當在struts.xml檔案中配置Action時,不僅需要指定Action的name屬性和class屬性,還要為Action元素指定系列result了元素,每個result子項目定義一個邏輯視圖和物理視圖之間的映射。當沒有在result子項目中指定type屬性時,預設使用JSP作為視圖資源

 

 

原文來自於:<a href="http://bbs.csdn.net/topics/310168215"/>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.