J2EE五層架構概念[轉+整理]

摘自:
https://blog.csdn.net/u010376788/article/details/49338225
https://blog.csdn.net/cactusz/article/details/74558721
https://baike.baidu.com/item/%E4%B8%89%E5%B1%82%E6%9E%B6%E6%9E%84/11031448?fr=aladdinjava

一、三層架構
3-tier architecture:一般意義上的三層架構就是將整個業務應用劃分爲:
表現層(User Interface layer)
業務邏輯層(Business Logic Layer)
數據訪問層(Data access layer)
區分層次的目的即爲了「高內聚低耦合」的思想。android

表現層(UI):爲客戶端提供應用程序的訪問。主要表示WEB方式,也能夠表示成WINFORM方式,WEB方式也能夠表現成:aspx,若是邏輯層至關強大和完善,不管表現層如何定義和更改,邏輯層都能完善地提供服務。
業務邏輯層(BLL):主要是針對具體的問題的操做,也能夠理解成對數據層的操做,對數據業務邏輯處理,若是說數據層是積木,那邏輯層就是對這些積木的搭建。
數據訪問層(DAL):主要是對非原始數據(數據庫或者文本文件等存放數據的形式)的操做層,而不是指原始數據,也就是說,是對數據庫的操做,而不是數據,具體爲業務邏輯層或表示層提供數據服務。ios


二、J2EE的五層架構
java一共有三個版本:
J2SE——指標準版,通常用於用戶學習JAVA語言的基礎也是使用其餘兩個版本的基礎主要用於編寫C/S項目和提供標準的JAVA類庫(網上copy的,沒用過,我作的都是B/S項目)
J2EE——指企業版依託互連網技術提供企業級平臺應用說白了就是用來構建大型網站和B/S系統。本身理解爲web項目,經過瀏覽器訪問的服務。
J2ME——指移動版微小型移動器械搭建使用平臺主要是用來爲手機編程,製做手機相關軟件的。好像如今沒有什麼東西用到,移動端基本都是android、ios。web

J2EE架構
   J2EE是Java2平臺企業版,它的核心是一組技術規範與指南,提供基於組件的方式來設計、開發、組裝和部署企業應用。J2EE使用多層分佈式的應用模型。j2EE應用的分層模型大體分爲如下幾層:
  (1)表現層
  (2)控制器層
  (3)業務邏輯層
  (4)數據訪問對象層(Data Access Object)——DAO
  (5)領域對象層(Domain Object)——Entity數據庫

表現層:
  此層有系列的JSP頁面、Velocity頁面、PDF文檔視圖組件組成。還能夠由FreeMarker和Tapestry等技術完成。負責收集用戶需求,並顯示處理結果。
控制器層:
  類同MVC設計模型的Controller層,攔截用戶請求,調用業務邏輯處理,根據結果轉發不一樣的業務邏輯方法。
業務邏輯層:
  由系列的業務邏輯組件構成,實現業務所須要的邏輯方法。這些方法多是對Domain Object對象所實現的邏輯方法,也多是依賴與DAO組件的邏輯方法。
DAO層:
  此層由系列的DAO組件組成,這些DAO組件實現了對數據庫的建立、查詢、更新和刪除等原子操做。爲了業務邏輯組件的實現 和 DAO組件的實現 分離,爲每一個DAO組件都提供接口,業務邏輯組件面向DAO接口編程,從而實現更好解耦。
領域對象層:編程

  或數據持久層,由系列POJO(Plain Ordinary Java Object)組成,每一個POJO對象對應數據庫中的一個或多個數據表。瀏覽器


Java的Web應用中經常使用的框架:
(1)Struts/SprintMVC:做爲一個表示層框架,主要做用是界面展現,接收請求,分發請求。
(3)Spring Framwork:做爲一個業務層框架,是一個整合的框架,可以很好的粘合表示層和持久層。
(2)Mybatis/Hibernate/JdbcTemplate:做爲一個持久層框架,它只負責與關係數據庫的操做。架構

相關文章
相關標籤/搜索