Struts2的MVC思想

1.MVC思想概述
  1.          MVC思想將一個應用分成三個基本部分:Model(模型)、View(視圖)、Controller(控制器),這三個部分以最少的耦合協同工作,從而提高應用的可擴展性及可維護性。

             在經典的MVC模型中,事件由控制器處理,控制器根據事件的類型改變模型或視圖,反之亦然。具體地說,每個模型對應一系列的視圖列表,這種對應關係通常採用註冊來完成,即:把多個視圖(View)註冊到同一個模型(Model),當模型發生改變時,模型向所有註冊過的視圖發送通知,接下來,視圖從對應的模型中獲得信息,然後完成視圖顯示的更新

             MVC有一下特點:

  1. 多個視圖可以對應一個模型。按MVC設計模式,一個模型對應多個視圖,可以減少的複製及代碼的維護量,一旦發生改變,也易於維護

  2. 模型返回的數據與顯示邏輯分離。模型數據可以應用任何的顯示技術,例如:JSP頁面、Excell文檔等。

  3. 應用被分隔爲三層,降低各層之間的耦合,提供了應用的可擴展性。

  4. 控制層的概念也很有效,由於它把不同的模型和不同的視圖組合在一起,完成不同的請求。因此,控制層可以說是包含了用戶請求權限的概念。

  5. MVC更符合軟件工程化管理精神。

2.MVC模式的java Web實現

                 如下是Struts2MVC實現瀏覽器請求/服務器響應的完整流程圖

        Struts2是一個非常優秀的MVC框架。Struts2允許使用普通的、傳統的Java對象作爲ActionActionexecute()方法不在於Servlet API耦合,因而更易測試;支持更多的視圖技術;基於AOP思想的攔截器機制,提供了極好的可擴展性;更強大、更易用的輸入校驗功能;整合的Ajax支持等,這些都是Struts2的巨大吸引力。

        Servlet作爲前端控制器,負責接受客戶端發送的請求,在Servlet中只包含控制邏輯和簡單的前端處理;然後,調用後端JavaBean來完成實際的邏輯處理;最後轉發到相應的JSP頁面處理顯示邏輯。Jsp不再承擔控制器的責任,它僅僅是表現層角色,僅僅用於將結果呈現給用戶,Jsp頁面的請求與Servlet(控制器)交互,而Servlet負責與後臺的JavaBean通信。模型(Model)由JavaBean充當,視圖(View)由Jsp頁面充當,而控制器(Controller)則由Servlet充當。


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