Spring MVC必須知道的執行流程
阿新 • • 發佈:2020-05-23
# 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將頁面響應給使用者**
## 三、圖解
![](https://img2020.cnblogs.com/blog/1937051/202005/1937051-20200523203906185-1786364441.png)