-
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 模式
實現架構的思想。 那么我們以后按照要求將不同層的代碼寫在不同的包下,每一層里功能職責做到單一,將來如果將表現層的技術換掉,而業務邏輯層和數據訪問層的代碼不需要發生變化。