1、springmvc工作原理圖
2、springmvc工作流程
1、 用戶向服務端發送一次請求,這個請求會先到前端控制器DispatcherServlet(也叫中央控制器)。
2、DispatcherServlet接收到請求后會調用HandlerMapping處理器映射器。由此得知,該請求該由哪個Controller來處理(並未調用Controller,只是得知)
3、DispatcherServlet調用HandlerAdapter處理器適配器,告訴處理器適配器應該要去執行哪個Controller
4、HandlerAdapter處理器適配器去執行Controller並得到ModelAndView(數據和視圖),並層層返回給DispatcherServlet
5、DispatcherServlet將ModelAndView交給ViewReslover視圖解析器解析,然后返回真正的視圖。
6、DispatcherServlet將模型數據填充到視圖中
7、DispatcherServlet將結果響應給用戶
3、組件說明
- DispatcherServlet:前端控制器,也稱為中央控制器,它是整個請求響應的控制中心,組件的調用由它統一調度。
- HandlerMapping:處理器映射器,它根據用戶訪問的 URL 映射到對應的后端處理器 Handler。也就是說它知道處理用戶請求的后端處理器,但是它並不執行后端處理器,而是將處理器告訴給中央處理器。
- HandlerAdapter:處理器適配器,它調用后端處理器中的方法,返回邏輯視圖 ModelAndView 對象。
- ViewResolver:視圖解析器,將 ModelAndView 邏輯視圖解析為具體的視圖(如 JSP)。
- Handler:后端處理器,對用戶具體請求進行處理,也就是我們編寫的 Controller 類。