SpringMVC的运行过程

SpringMVC的运行过程

SpringMVC的运行过程

在web.xml中配置核心Servlet:DispatcherServlet

  1. TomCat容器启动时会创建DispatcherServlet
  2. DispatcherServlet调用生命周期init方法创建Spring容器,存放在Application域中,初始化SpringMVC九大组件
  3. 当请求到达时,调用doDispatch方法对请求进行处理
  4. 借助MultipartResolver组件,判断是否是文件上传请求
  5. 借助HandlerMappings组件根据请求路径找到对应的处理器调用链
  6. 根据对应处理器类型,获取HandlerAdapter组件
  7. 调用applyPreHandle方法进行前置拦截处理
  8. 通过HandlerAdapter进行处理器方法的调用,并统一返回ModelAndView对象
  9. 如果返回的ModelAndView对象不包含视图信息,则调用RequestToViewNameTranslator组件解析一个默认的视图名
  10. 调用applyPostHandle方法进行后置拦截处理
  11. 如果上述出现了错误,则记录异常信息,调用HandlerExceptionResolver组件处理
  12. 进行结果的处理,借助视图解析器ViewResolver和逻辑视图名解析出View对象,
  13. 调用View的render方法进行页面渲染
  14. 调用triggerAfterCompletion拦截器方法