Springmvc的运行流程图文详解
一.常见类及其作用
HandlerExecutionChain : Handler执行链对象, 包含了请求处理器对象 以及所有的拦截器对象.
HandlerMapping : 定义了所有的请求与 所有的请求处理器之间的映射.
HandlerAdaptor: 请求处理器适配器对象, 负责完成请求处理器对象的调用 、 方法的执行等…
二. 运行流程:
浏览器端发送请求到服务器端:
- 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方法.
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
相关文章
Spring Boot项目中使用 TrueLicense 生成和验证License的详细步骤
这篇文章主要介绍了Spring Boot项目中使用 TrueLicense 生成和验证License,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-10-10intellij idea14打包apk文件和查看sha1值
这篇文章主要为大家详细介绍了intellij idea14打包apk文件和查看sha1值,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2020-10-10SpringBoot+Redis BitMap实现签到与统计的项目实践
最近项目里需要集成签到和统计功能,连续签到后会给用户发放一些优惠券和奖品,以此来吸引用户持续在该品台进行活跃,本文就详细的介绍一下如何实现,感兴趣的可以了解一下2023-09-09Spring Security前后分离校验token的实现方法
这篇文章主要介绍了Spring Security前后分离校验token的方法,本次token生成采取jwt的方式,通过引入jwt依赖文件配置token管理器,对Spring Security校验token相关知识感兴趣的朋友一起看看吧2022-02-02
最新评论