MVC基本概念和流程
MVC的概念
Model(模型):包含數據和行為。不過現在一般都分離開來:Value Object(數據) 和 服務層(行為)。
View(視圖):負責進行模型的展示,一般就是展示給用戶的界面。
Controller(控制器):接收用戶請求,委托給模型進行處理,處理完畢后把返回的模型數據返回給視圖,由視圖負責展示,起了調度的作用。
spring MVC
Spring MVC圍繞DispatcherServlet設計。
處理流程:
1. 客戶端發出HTTP請求,服務器接收
如果匹配DispatcherServlet的請求映射路徑(在web.xml中指定),Web容器將該請求轉交給DispatcherServlet處理。
2. DispacherServlet接收到此請求后,根據請求的信息(URL、HTTP方法、請求報頭文、請求參數、Cookie等)及HandleMapping的配置匹配Handler
匹配成功,則返回一個HandlerExecutionChain對象(包含一個Handler處理器對象、多個HandlerInterceptor攔截器)。
3. DispacherServlet得到Handler后,把Handler封裝為適配器
以適配器接口真正調用了處理器的功能處理方法(先執行攔截器的preHandler方法)
返回ModelAndView(如其名,包含了視圖邏輯名和模型數據信息)。
4. DispacherServlet借由ViewResolver完成邏輯視圖名到真實對象的解析工作。
5. DispacherServlet得到視圖對象View,使用它對ModelAndView中的模型數據進行渲染。
6. 客戶端得到響應(可能是HTML頁面、XML、JSON串、PDF……)
整理自《spring 3.x企業應用開發實戰》以及 一些博客……
P.S.我用的是4
做了一個spring MVC 處理請求流程的視頻,spring MVC流程
有點丑不過很清楚呀 ~