Spring MVC框架的執行流程如下:
- 客戶端發送一個HTTP請求到服務器,并且請求被DispatcherServlet接收。
- DispatcherServlet根據請求的URL路徑找到對應的HandlerMapping,獲取處理該請求的Controller。
- HandlerMapping將請求轉發給Controller,并返回一個HandlerExecutionChain對象,包含了該請求要執行的處理方法以及相關的攔截器。
- Controller執行處理方法,處理請求,并返回一個ModelAndView對象,包含了處理結果及視圖名稱。
- HandlerInterceptor攔截器對處理方法執行前后進行攔截處理。
- Controller將ModelAndView對象傳遞給DispatcherServlet。
- DispatcherServlet根據視圖名稱,使用ViewResolver解析器找到對應的View視圖。
- View視圖渲染ModelAndView對象,生成最終的響應內容。
- 最終響應內容返回給客戶端。
需要注意的是,上述流程中的步驟3和步驟5可以有多個攔截器參與,攔截器可以對請求進行預處理和后處理,以及對異常進行處理。