SpringMVC執行流程前端
Spring MVC 框架像許多其餘 MVC 框架同樣, 以請求爲驅動 , 圍繞一箇中心 Servlet 分派請求及提供其餘功能,DispatcherServlet 是一個實際的 Servlet (它繼承自 HttpServlet 基類)web
當發起請求時被前置的控制器攔截到請求,根據請求參數生成代理請求,找到請求對應的實際控制器,控制器處理請求,建立數據模型,訪問數據庫,將模型響應給中心控制器,控制器使用模型與視圖渲染視圖結果,將結果返回給中心控制器,再將結果返回給請求者
數據庫
1.DispatcherServlet表示一個前端控制器,是整個SpringMVC的控制中心。服務器
當用戶發出請求,DispatchServlet接收請求並攔截請求。app
2.HandlerMapping表示處理器映射,因此DispatchSerlvet去調用HandlerMapping,而後HandlerMapping根據url去查找Handler。框架
3.HandlerExcution表示具體的Handler,主要做用是根據URL去找控制器。url
4.HandlerExcution將解析後的信息傳遞給DispatcherServlet。spa
5.HandlerAdapter表示處理器適配器,它是按照特定的規則去執行Handler。代理
6.Handler讓具體的Controller執行。blog
7.Controller將具體的執行信息返回給HanderAdapter,好比ModelAndView。
8.HandlerAdapter將視圖邏輯名或模型傳遞給DispatcherServlet。
9.DispatcherServlet調用視圖解析器(ViewResolver)來解析HandlerAdapter傳遞的邏輯視圖名。
10.視圖解析器將解析的邏輯視圖名傳遞給DispatcherServlet。
11.DispatcherServlet根據視圖解析器解析的視圖結果,調用具體的視圖。
12.最後呈現給用戶。