-
M:Model,業務模型,處理業務
-
V:View,視圖,界面展示
-
C:Controller,控制器,處理請求,調用模型和視圖

控制器(serlvlet)用來接收瀏覽器發送過來的請求,控制器調用模型(JavaBean)來獲取數據,比如從數據庫查詢數據;控制器獲取到數據后再交由視圖(JSP)進行數據展示。
-
職責單一,互不影響。每個角色做它自己的事,各司其職。
-
有利於分工協作。
-
有利於組件重用
三層架構
三層架構是軟件設計的架構,能夠實施

com.yang.web/controller com.yang. service com.yang.dao/mapper
-
-
業務邏輯層:對業務邏輯進行封裝,組合數據訪問層層中基本功能,形成復雜的業務邏輯功能。例如
注冊業務功能,我們會先調用數據訪問層的selectByName()方法判斷該用戶名是否存在,如果不存在再調用數據訪問層的insert()方法進行數據的添加操作 -
表現層:接收請求,封裝數據,調用業務邏輯層,響應數據
而整個流程是,瀏覽器發送請求,表現層的Servlet接收請求並調用業務邏輯層的方法進行業務邏輯處理,而業務邏輯層方法調用數據訪問層方法進行數據的操作,依次返回到serlvet,然后servlet將數據交由 JSP 進行展示。
三層架構的每一層都有特有的包名稱:
-
表現層:
com.yang.controller或者com.yang.web -
業務邏輯層:
com.yang.service -
數據訪問層:
com.yang.dao或者
還有其它的一些框架,不同的框架是對不同層進行封裝的

區別和聯系

可以將 MVC 模式 理解成是一個大的概念,而 三層架構 是對 MVC 模式 實現架構的思想。 那么我們以后按照要求將不同層的代碼寫在不同的包下,每一層里功能職責做到單一,將來如果將表現層的技術換掉,而業務邏輯層和數據訪問層的代碼不需要發生變化。
