SpringMVC執行流程


MVC

在SpringMVC中,MVC三部分的作用如下:

01

執行流程

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

SpringMVC執行流程示意圖如下:

02

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

  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 的存在降低了組件之間的耦合性。

HandlerMapping:處理器映射器

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

Handler:處理器

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

由於 Handler 涉及到具體的用戶業務請求,所以一般情況需要程序員根據業務需求開發Handler。

HandlAdapter:處理器適配器

通過 HandlerAdapter 對處理器進行執行,這是適配器模式的應用,通過擴展適配器可以對更多類型的處理器進行執行。

View Resolver:視圖解析器

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

View:視圖

SpringMVC 框架提供了很多的 View 視圖類型的支持,包括:jstlView、freemarkerView、pdfView 等。我們最常用的視圖就是jsp。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM