Springmvc的運行原理圖和數據流向
阿新 • • 發佈:2018-06-24
hand 圖片 image patch com servlet ping src VC
一. Springmvc的運行原理圖
- 用戶請求發送到前端控制器DispatcherServlet。
- 前端控制器DispatcherServlet接收到請求後,DispatcherServlet會使用HandlerMapping來處理,HandlerMapping會查找到具體進行處理請求的Handler對象。
- HandlerMapping找到對應的Handler之後,並不是返回一個Handler原始對象,而是一個Handler執行鏈,在這個執行鏈中包括了攔截器和處理請求的Handler。HandlerMapping返回一個執行鏈給DispatcherServlet。
- DispatcherServlet接收到執行鏈之後,會調用Handler適配器去執行Handler。
- Handler適配器執行完成Handler(也就是我們寫的Controller)之後會得到一個ModelAndView,並返回給DispatcherServlet。
- DispatcherServlet接收到Handler適配器返回的ModelAndView之後,會根據其中的視圖名調用視圖解析器。
- 視圖解析器根據邏輯視圖名解析成一個真正的View視圖,並返回給DispatcherServlet。
- DispatcherServlet接收到視圖之後,會根據上面的ModelAndView中的model來進行視圖渲染完成之後,DispatcherServlet就可以將結果返回給用戶。
Springmvc的運行原理圖和數據流向