springMVC執行流程

先看一張流程圖,實線部分爲spring框架完成,虛線部分(即contronller調用業務層部分)纔是咱們須要動手完成的
在這裏插入圖片描述前端

簡要分析執行流程:

1.DispatcherServlet表示前置控制器,是整個SpringMVC的控制中心。用戶發出請求,DispatcherServlet接收請求並攔截請求,web

咱們假設請求的url爲:spring

http://localhost:9999/SpringMVC/input-product服務器

如上url拆分紅三部分:mvc

(1)http://localhost:9999 服務器域名app

(2)SpringMVC部署在服務器(http://localhost:9999)上的web站點框架

(3)input-product表示控制器url

經過分析,如上url表示爲:請求位於服務器localhost:9999上的SpringMVC站點的input-product控制器spa

2.HandlerMapping爲處理器映射。DispatcherServlet調用HandlerMapping,HandlerMapping根據請求url查找Handlerblog

3.HandlerExecution表示具體的Handler,其主要做用是根據url查找控制器,如上url被查找控制器爲:input-product

4.HandlerExecution將解析後的信息傳遞給DispatcherServlet,如解析控制器映射等

5.HandlerAdapter表示處理器適配器,其按照特定的規則去執行Handler

6.Handler讓具體的Controller執行

7.Controller將具體的執行信息返回給HandlerAdapter,如ModelAndView

8.HandlerAdapter將視圖邏輯名或模型傳遞給DispatcherServlet

9.DispatcherServlet調用視圖解析器(ViewResolver)來解析HandlerAdapter傳遞的邏輯視圖名

10.視圖解析器將解析的邏輯視圖名傳給DispatcherServlet

11.DispatcherServlet根據視圖解析器解析的視圖結果,調用具體的視圖

12.最終視圖呈現給用戶。

springmvc中最核心的組件:

(一)DispatcherServlet

DispatcherServlet就是所謂的SpringMVC前端控制器,做爲整個SpringMVC的控制中心,,其相關UML以下所示:
在這裏插入圖片描述

(二)HandlerMapping

HandlerMapping主要用來解析請求url,解析出控制器,從而映射控制器,其相關類有16個。
在這裏插入圖片描述

(三)HandlerAdapter

HandlerAdapter主要是調度Controller來處理業務邏輯等,想相關類有6個。
在這裏插入圖片描述

(四)ViewResolver

ViewResolver接口主要做用是解析DispatcherServlet傳遞的邏輯視圖名,並將解析結果傳回給DispatcherServlet。實現該接口的相關類或接口共有19個。
在這裏插入圖片描述

相關文章
相關標籤/搜索