1. 程式人生 > >Springmvc的運行原理圖和數據流向

Springmvc的運行原理圖和數據流向

hand 圖片 image patch com servlet ping src VC

一. Springmvc的運行原理圖

技術分享圖片

  1. 用戶請求發送到前端控制器DispatcherServlet。
  2. 前端控制器DispatcherServlet接收到請求後,DispatcherServlet會使用HandlerMapping來處理,HandlerMapping會查找到具體進行處理請求的Handler對象。
  3. HandlerMapping找到對應的Handler之後,並不是返回一個Handler原始對象,而是一個Handler執行鏈,在這個執行鏈中包括了攔截器和處理請求的Handler。HandlerMapping返回一個執行鏈給DispatcherServlet。
  4. DispatcherServlet接收到執行鏈之後,會調用Handler適配器去執行Handler。
  5. Handler適配器執行完成Handler(也就是我們寫的Controller)之後會得到一個ModelAndView,並返回給DispatcherServlet。
  6. DispatcherServlet接收到Handler適配器返回的ModelAndView之後,會根據其中的視圖名調用視圖解析器。
  7. 視圖解析器根據邏輯視圖名解析成一個真正的View視圖,並返回給DispatcherServlet。
  8. DispatcherServlet接收到視圖之後,會根據上面的ModelAndView中的model來進行視圖渲染完成之後,DispatcherServlet就可以將結果返回給用戶。

Springmvc的運行原理圖和數據流向