SpringMVC工作流程
说到SpringMVC,面试过程中经常问到的面试题,下面来分析一下SpringMVC的工作流程:
1.用户通过浏览器发送请求到前端控制器DispatcherServlet.
2.前端控制器直接将请求转发给处理器映射器HandlerMapping.
3.处理器映射器HandlerMapping会根据请求,找到负责处理该请求的处理器,并将其封装为处理器执行链HandlerExecutionChina后返回给前端控制器DispatchererServlet.
4.前端控制器DispatcherServlet根据处理器执行链中的处理器,找到能够执行该处理器的处理器适配器HandlerAdaptor
5.处理器适配器HandlerAdaptor调用执行处理器Controller.
6.处理器Controller将处理结果及要跳转的视图封装到一个对象ModelView中,并将其返回给处理器适配器HandlerAdaptor
7.处理器适配器直接将结果返回给前端控制器DispatcherServlet.
8.前端控制器调用视图解析器,将ModelAndView中的视图封装成视图对象.
9.视图解析器ViewResolver将封装的视图View对象返回给前端控制器DispatcherServlet.
10.前端控制器DispatcherServlet调用视图对象,让其进行渲染,即进行数据填充,形成响应对象.
11.前端控制器响应浏览器.
注意:一定要理解这张图,而不是盲目的背面试题,理解其工作流程才是正确的!