面试官当场给出Offer,因为我流利说出SpringMVC的执行流程

文章目录

  • SpringMVC执行流程图
  • 流程图步骤详解

SpringMVC执行流程图

面试官当场给出Offer,因为我流利说出SpringMVC的执行流程_第1张图片

流程图步骤详解

  1. 发送请求:用户发送的所有请求都会到前端控制器DispatcherServlet
  2. 请求查找Handler:DispatcherServlet收到请求会调用HandlerMapping(处理器映射器)查找Handler
  3. 返回Handler:处理器映射器根据url返回具体的处理器,生成HandlerExecutionChain对象,其中包含了目标Handler和若干拦截器(可能没有)
  4. 请求调用Handler:DispatcherServlet通过Handler寻找匹配到HandlerAdapter
  5. 执行Handler:HandlerAdapter调用Handler
  6. 返回结果:Handler执行完成,返回一个ModelAndView对象
  7. 返回结果给DispatcherServlet:HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet
  8. 如果Handler返回的View是逻辑视图名称而不是真正的View对象,DispatcherServlet调用resolveViewName方法在配置的所有视图解析器(ViewResolver)中,寻找合适的,最终通过ViewResolver将逻辑视图名解析成真正的View对象
  9. ViewResolver通过调用createView方法尝试将视图名解析成View,如果无法解析会返回Null(注: 如果ViewResolver是派生自AbstractCachingViewResolver则在调用createView方法前会先尝试根据viewName和Iocale从缓存中查找对应的视图对象)
  10. DispatcherServlet调用View的render方法进行渲染视图 (即将模型数据填充至request域)
  11. DispatcherServlet响应用户

你可能感兴趣的:(SSM核心技术,SpringMVC,SpringMVC执行流程)