九、J2EE的體繫結構和MVC設計模式

來源:互聯網
上載者:User

J2EE規範提出了自己的n-tiers結構。

在普通應用中,我們大多會按如下方式劃分:

展示層:系統管理使用者的請求,對使用者的請求做出相應的響應,並向使用者顯示出相應資訊。Struts架構在展示層可以對使用者的請求進行處理,有控制器可以調用下層商務邏輯,可以對異常進行處理,以及對使用者輸入的資訊進行驗證。展示層還可以選擇Velocity、JSF等。

商務邏輯層:負責商務邏輯的實現。Spring架構在商務邏輯層可以處理應用程式的商務邏輯、業務校正、對事務進行管理、管理業務層中各個對象的依賴關係,執行相應的業務程式來實現商務服務。

持久層:負責對資料庫的訪問。Hibernate架構在持久層為JAVA提供了物件導向的持久化機制和查詢服務。可以採用物件導向的方法儲存、更新、刪除資料庫的記錄,以及查詢資料庫資訊。持久層還可以選擇ibatis等

資料層:用來存放業務資料,供上層調用,主要指一些資料庫系統。

 

經典的ssh(Struts、Spring、Hibernate)這3個架構功能各不相同,根據Web應用的功能層次,可將這3個架構應用到不同的層次,最終來實現各層的功能以完成整合。

Struts應用在展示層、 Spring應用在商務邏輯層、Hibernate在持久層。

 

 

說到J2EE的分層結構,就不得不說說MVC設計模式。

MVC設計模式使“模型”、“視圖”、“控制”相分離,降低了組件之間的耦合性,同時“模型”組件可以被系統中的其他組件重複利用,提高了代碼的可重用性。

模型Model:獨立的組件、或者開發模組。在應用中負責商務邏輯的處理。模型將商務邏輯封裝成獨立的模組,而且提供給不同的開發人員使用。而且這些獨立的模組可根據需要進行組裝。

視圖View: 代表和使用者互動的介面。視圖負責 顯示從模型中採集的資料或使用者輸入的資料 和 請求的傳遞,將這些資料和請求傳遞給控制器和模型。

控制器Controller:負責將視圖的需求分發給視圖所依賴的所有模型,並在模型做了改變後,把這種改變分發到模型對應的所有視圖中,視圖中的內容會隨之改變。一個視圖可以依賴多個模型,一個模型可以對應多個視圖。

總之,MVC設計模式的原理是:當有事件發生時,View將用戶端請求發送給Controller,Controller將會改變Model或View。如果Controller改變了Model的資料,所有依賴Model的View都會被Controller通知,View會對Model進行狀態查詢,Model會對狀態查詢做出相應並通知視圖進行改變。同樣,如果Controller改變了View,View會從依賴的Model中擷取相關資料並重新整理View本身。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.