SpringMVC执行流程
初始化阶段:web应用会初始化前端拦截器DispatcherServlet,初始化的同时会走一遍常规的IOC启动流程,并把九大组件放入到容器中,其中最重要的三个是处理器映射器(handlerMappings)、处理器适配器(handlerAdapter)、视图解析器(ViewResolver)。
请求阶段:request请求进入以后,会被统一的DispatcherServlet拦截,拦截后调用doDispatch()方法,该方法的主体步骤:
- 根据url去handlerMappings中获取对应的handler,handler中有类、方法等信息。
- 找到handler后再获取对应的handlerAdapter,handlerAdapter会处理参数相关的数据,然后执行handler,返回ModelAndView对象。
- 拿到ModelAndView对象去ViewResolver中进行视图渲染,最终转换成response信息返回给前端。
简图大致如下