spring學習---spring MVC

目錄

  • 簡介
  • 名詞解釋
  • MVC(model-view-controller)概念
  • spring MVC 運行原理
    • 核心架構流程
    • 流程說明
    • 源碼流程

1. 簡介:

是一種基於Java的實現了Web MVC設計模式的請求驅動類型的輕量級Web框架,即使用了MVC架構模式的思想,將web層進行職責解耦,基於請求驅動指的就是使用請求-響應模型

2. 名詞解釋

名詞 作用
前端控制器(DispatcherServlet) 所有的請求都有經過它來統一分發,是整個流程控制的中心,請求 會被分發給對應的 Handler
處理器映射器(HandlerMapping) 解析請求鏈接,然後根據請求鏈接找到執行這個請求的類(HandlerMapping 所說的 handler)
處理器(Handler) 是繼DispatcherServlet前端控制器的後端控制器,在DispatcherServlet的控制下Handler對具體的用戶請求進行處理
處理器適配器(HandlerAdapter) 調用具體的方法對用戶發來的請求來進行處理
頁面控制器(Controller) 處理用戶請求,完成後返回 ModelAndView 對象給 DispatcherServlet 前端控制器
視圖解析器(ViewResolver) 解析 MdoelAndView,將 MdoelAndView 中的邏輯視圖名變爲一個真正的 View 對象,並將 MdoelAndView 中的 Model 取出

3. MVC(model-view-controller)概念

名詞 作用
model(模型) 數據模型,提供了模型數據查詢和模型數據的狀態更新等功能,包括數據和業務
view(視圖) 負責進行模型的展示,一般就是我們見到的用戶界面,客戶想看到的東西
controller(控制器) 接收用戶請求,委託給模型進行處理(狀態改變),處理完畢後把返回的模型數據返回給視圖,由視圖負責展示

4. spring MVC 運行原理

4.1 核心架構流程

核心架構流程

4.2 流程說明

  1. 用戶發送請求,由DispatcherServlet接收
  2. 前端控制器收到請求後自己不進行處理,而是委託給其他的解析器進行處理,作爲統一訪問點,進行全局的流程控制
  3. DispatcherServlet——>HandlerMapping,HandlerMapping將會把請求映射爲HandlerExecutionChain對象(包含一個Handler處理器(頁面控制器)對象、多個HandlerInterceptor攔截器)對象,通過這種策略模式,很容易添加新的映射策略
  4. DispatcherServlet——>HandlerAdapter,將handler當參數傳入,HandlerAdapter將會把處理器包裝爲適配器,從而支持多種類型的處理器,即適配器設計模式的應用,從而很容易支持很多類型的處理器
  5. handler中包含了controller等參數,進行處理請求
  6. 返回生成的modelAndView處理結果
  7. 返回結果給dispatcherServlet
  8. HandlerAdapter——>處理器功能處理方法的調用,HandlerAdapter將會根據適配的結果調用真正的處理器的功能處理方法,完成功能處理;並返回一個ModelAndView對象(包含模型數據、邏輯視圖名);
  9. 返回處理結果
  10. ModelAndView的邏輯視圖名——> ViewResolver, ViewResolver將把邏輯視圖名解析爲具體的View,通過這種策略模式,很容易更換其他視圖技術
  11. View——>渲染,View會根據傳進來的Model模型數據進行渲染,此處的Model實際是一個Map數據結構,因此很容易支持其他視圖技術
  12. 返回控制權給DispatcherServlet,由DispatcherServlet返回響應給用戶,到此一個流程結束

4.3 源碼流程

源碼流程


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章