面試必問–Spring MVC的執行流程

Spring MVC的執行流程

一、名詞解釋

1、前端控制器(DispatcherServlet)

  • 接收請求,響應結果,相當於轉發器,中央處理器

2、處理器映射器(HandlerMapping)

  • 根據請求的url查找Handler(處理器/Controller)
  • 可以通過XML和註解方式實現映射。

3、處理器適配器(HandlerAdapter)

  • 按照HandlerAdapter所要求的規則執行Handler

4、處理器Handler(也稱之為Controller)

  • 接收用戶請求資訊,調用業務方法處理請求,也稱之為後端控制器

5、視圖解析器(ViewResolver)

  • 進行視圖解析,把邏輯視圖名解析成真正的物理視圖

6、視圖(View)

  • 把數據展現給用戶的頁面

二、執行流程

1. 用戶發送請求到前端控制器DispatcherServlet

2. DispatcherServlet收到請求調用處理器映射器HandlerMapping

3. HandlerMapping通過註解或XML找到具體的處理器,並生成執行鏈返回給DispatcherServlet。

4. DispatcherServlet調用處理器適配器HandlerAdapter

5. HandlerAdapter經過適配調用具體的處理器(Controller)

6. Controller執行完成返回ModelAndView對象

7. HandlerAdapter將Controller執行結果ModelAndView返回給DispatcherServlet

8. DispatcherServlet將ModelAndView傳給視圖解析器ViewReslover

9. ViewReslover解析後返回具體的視圖View

10. DispatcherServlet根據View進行渲染視圖

11. DispatcherServlet將頁面響應給用戶

三、圖解

Tags: