1. 程式人生 > >Spring MVC 處理HTTP請求的整體流程

Spring MVC 處理HTTP請求的整體流程

含義 alt myba 解析 patch ros ati 框架 ice

  DispatcherServlet是一個前端控制器,是整個Spring MVC框架的核心組件。它在接收HTTP請求之後,根據請求調用Spring MVC中的各個組件。

  常用接口及其含義:

  1. Controller:被@Controller修飾的類是控制器類。

  2. HandlerMapping:將用戶請求映射到控制器。

  3. HandlerInterceptor:攔截指定格式的URL請求。

  4. ModelAndView:控制器處理完請求後,將視圖的邏輯名稱和模型數據封裝成ModelAndView對象,把該對象交給DispatcherServlet。

  5. ViewResolver:視圖解析器,將視圖的邏輯名稱映射成具體的視圖。

  6. View:具體視圖。

  Spring MVC 處理HTTP請求的整體流程如下圖所示:

  技術分享圖片

  1. 用戶發送HTTP請求後,該請求交給DispatcherServlet處理。

  2. DispatcherServlet根據請求查找一個或多個HandlerMapping,根據HandlerMapping查找處理請求的Controller。

  3. DispatcherServlet將請求提交給Controller。

  4. Controller調用Service層處理請求。

  5. Controller處理請求後得到ModelAndView對象。

  6. DispatcherServlet查找一個或多個ViewResolver視圖解析器。

  7. 視圖解析後得到ModelAndView指定的視圖。

  8. HTTP響應,View展示數據。

  參考資料

  《MyBatis技術內幕》 P391-393

Spring MVC 處理HTTP請求的整體流程