SpringMVC執行流程

MVC

在SpringMVC中,MVC三部分的做用以下:前端

01

執行流程

具體到執行流程上,SpringMVC主要依賴了HandlerMapping 處理器映射器、HandlerAdapter 處理器適配器以及 ViewReslover 視圖解析器三個組件。程序員

SpringMVC執行流程示意圖以下:後端

02

圖中將SpringMVC的執行流程分紅了11個步驟:app

  1. 用戶發送請求至前端控制器 DispatcherServlet。
  2. DispatcherServlet 收到請求調用 HandlerMapping 處理器映射器。
  3. 處理器映射器根據請求 url 找到具體的處理器,生成處理器對象及處理器攔截器(若是有則生成)一併返回給 DispatcherServlet。
  4. DispatcherServlet 經過 HandlerAdapter 處理器適配器調用處理器。
  5. HandlerAdapter 執行處理器(handler,也叫後端控制器)。
  6. Controller 執行完成返回 ModelAndView。
  7. HandlerAdapter 將 handler 執行結果 ModelAndView 返回給 DispatcherServlet。
  8. DispatcherServlet 將 ModelAndView 傳給 ViewReslover 視圖解析器。
  9. ViewReslover 解析後返回具體 View 對象。
  10. DispatcherServlet 對 View 進行渲染視圖(即將模型數據填充至視圖中)。
  11. DispatcherServlet 響應用戶。
     

相關組件

這裏對用到的組件在進行一個彙總:框架

DispatcherServlet:前端控制器

用戶請求到達前端控制器,它就至關於 MVC 模式中的 C,DispatcherServlet 是整個流程控制的中心,由它調用其它組件處理用戶的請求,dispatcherServlet 的存在下降了組件之間的耦合性。jsp

HandlerMapping:處理器映射器

HandlerMapping 負責根據用戶請求找到 Handler 即處理器,SpringMVC 提供了不一樣的映射器實現不一樣的映射方式,例如:配置文件方式,實現接口方式,註解方式等。url

Handler:處理器

Handler 是繼 DispatcherServlet 前端控制器的後端控制器,在 DispatcherServlet 的控制下Handler 對具體的用戶請求進行處理。spa

因爲 Handler 涉及到具體的用戶業務請求,因此通常狀況須要程序員根據業務需求開發Handler。對象

HandlAdapter:處理器適配器

經過 HandlerAdapter 對處理器進行執行,這是適配器模式的應用,經過擴展適配器能夠對更多類型的處理器進行執行。blog

View Resolver:視圖解析器

View Resolve r負責將處理結果生成 View 視圖,View Resolver 首先根據邏輯視圖名解析成物理視圖名即具體的頁面地址,再生成 View 視圖對象,最後對 View 進行渲染將處理結果經過頁面展現給用戶。

View:視圖

SpringMVC 框架提供了不少的 View 視圖類型的支持,包括:jstlView、freemarkerView、pdfView 等。咱們最經常使用的視圖就是jsp。

相關文章
相關標籤/搜索