SpringMVC工做原理流程
一、 用戶發送請求至前端控制器DispatcherServlet。
二、 DispatcherServlet收到請求調用HandlerMapping處理器映射器。
三、 處理器映射器找到具體的處理器(能夠根據xml配置、註解進行查找),生成處理器對象及處理器攔截器(若是有則生成)一併返回給DispatcherServlet。
四、 DispatcherServlet調用HandlerAdapter處理器適配器。
五、 HandlerAdapter通過適配調用具體的處理器(Controller,也叫後端控制器)。
六、 Controller執行完成返回ModelAndView。
七、 HandlerAdapter將controller執行結果ModelAndView返回給DispatcherServlet。
八、 DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器。
九、 ViewReslover解析後返回具體View。
十、DispatcherServlet根據View進行渲染視圖(即將模型數據填充至視圖中)。
十一、 DispatcherServlet響應用戶。前端
組件說明:
如下組件一般使用框架提供實現:
DispatcherServlet:做爲前端控制器,整個流程控制的中心,控制其它組件執行,統一調度,下降組件之間的耦合性,提升每一個組件的擴展性。
HandlerMapping:經過擴展處理器映射器實現不一樣的映射方式,例如:配置文件方式,實現接口方式,註解方式等。
HandlAdapter:經過擴展處理器適配器,支持更多類型的處理器。
ViewResolver:經過擴展視圖解析器,支持更多類型的視圖解析,例如:jsp、freemarker、pdf、excel等。後端