Java Web開發過程中,經常會用到MVC三層架構思想;今天,我就來談談自己對MVC的認識。
三層架構指: Model(模型層)、View(視圖層)、Controller(控制層)。
View:視圖,爲用戶提供操作系統的頁面,與用戶進行直接交互。
Controller:控制器,接收前端頁面通過HTTP協議傳過來的請求,並將請求轉發給相應的Model進行處理,再將Model處理後的結果響應給前端頁面,以便用戶查看。
Model:模型,裝載數據,並處理用戶請求的模塊;個人認爲模型層分兩類:
1> 數據承載Bean。【實體類:數據的載體】
2>業務處理Bean。【Service和Dao:處理用戶提交的請求】
爲了更好的降低各層間的耦合度,在這三層架構設計中,採用面向抽象編程。即上層對下層的調用,是通過接口實現的。而下層對上層的真正的服務提供者,是下層接口的實現類。服務標準(接口)是相同的,服務提供者(實現類)可以更換,這就實現了各層級間的解耦合。
MVC架構的工作流程是這樣的:
(1)用戶通過View頁面向服務端發出請求。【表單請求/超鏈接請求/Ajax請求】
(2)服務端Controller控制器接收到請求後對請求進行解析,找到相應的Model對用戶請求進行處理。
(3)Model處理後,將處理結果再交給Controller。
(4)Controller在接到處理結果後,將處理結果響應給前端頁面,頁面經渲染(數據填充)後,再發給客戶端。
實例講解:SSM框架與MVC架構的關係
SSM:即SpringMVC+Spring+Mybatis
SpringMVC:View層的實現者,接收用戶請求。作爲整個應用的控制器,完成用戶請求的轉發並響應給前端。
Mybatis:Dao層的實現者,完成對數據庫的增刪改查操作。
Spring:整個應用的大管家,管理所有Bean的生命週期行爲;整個應用中所有對象的創建、初始胡、銷燬、對象間關聯關係的維護,均由Spring來管理。