五分钟带你搞懂Springmvc的运行流程图

亦凉 2022-01-14 14:57 342阅读 0赞

一.常见类及其作用

HandlerExecutionChain : Handler执行链对象, 包含了请求处理器对象 以及所有的拦截器对象.

HandlerMapping : 定义了所有的请求与 所有的请求处理器之间的映射.

HandlerAdaptor: 请求处理器适配器对象, 负责完成请求处理器对象的调用 、 方法的执行等…

二. 运行流程:

1240

浏览器端发送请求到服务器端:

  • 1.1 当前的请求在DispatcherServlet中不存在对应的映射
  • ① 是否配置mvc:default-servlet-handler/
  • 如果没有配置, 404页面, 控制台 no mapping found 警告.
  • 如果有配置 , 将请求交给Tomcat 默认的Servlet进行处理,去找对应的资源
  • 如果有资源,则将对应的资源返回给浏览器端
  • 如果没有资源, 404页面.

当前的请求在DispatcherServlet中存在对应的映射

  • 2.1 通过HandlerMapping(RequestMappingHandlerMapping) 获取 HandlerExecutionChain 对象
  • 2.2 再获取HandlerAdaptor(RequestMappingaHandlerAdaptor)对象
  • 2.3 由HandlerExecutionChain对象执行拦截器的preHandle方法
  • 2.4 由HandlerAdaptor负责请求处理器 、 请求处理方法的执行 ,最终得到ModelAndView对象.
  • 2.5 由HandlerExecutionChain对象执行拦截器的postHandle方法.
  • 2.6 开始由视图解析器解析ModelAndView对象,得到视图对象
  • 2.7 由当前的视图对象开始处理模型数据, 最终完成重定向 、 转发的工作
  • 2.8 由HandlerExecutionChain对象执行拦截器的afterCompletion方法.

发表评论

表情:
评论列表 (有 0 条评论,342人围观)

还没有评论,来说两句吧...

相关阅读

    相关 分钟MySQL索引下推

    大家好,我是老三,今天分享一个小知识点——索引下推。 如果你在面试中,听到MySQL5.6”、“索引优化” 之类的词语,你就要立马get到,这个问的是“索引下推”。 什么

    相关 分钟定分布式事务

    前言 分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免,本文就围绕分布式事