带你深入最新版本SpringMVC执行流程底层源码解析

本文详细解析了SpringMVC的执行流程,从用户请求到DispatcherServlet,经过HandlerMapping、HandlerAdapter、视图解析器等,再到最终的视图渲染。文中还介绍了不同版本的流程,并提供了源码分析,帮助读者深入理解SpringMVC的工作原理。
摘要由CSDN通过智能技术生成

SpringMVC执行流程

首先我们学过SpringMVC的一定会去学习SpringMVC的执行流程,而且那个流程如此复杂,各种步骤各个模块,流程繁杂,首先千篇一律的介绍流程。
本人也从网上查找到部分的讲解

image-20200808183131306
image-20200808183505473

版本一:

(1)用户发送请求至前端控制器DispatcherServlet;
(2) DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle;
(3)处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;
(4)DispatcherServlet 调用 HandlerAdapter处理器适配器;
(5)HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);
(6)Handler执行完成返回ModelAndView;
(7)HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet;
(8)DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析;
(9)ViewResolver解析后返回具体View;
(10)DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)
(11)DispatcherServlet响应用户。

版本二:

Springmvc完整执行流程(动态资源)
浏览器现将请求交给Tomcat服务器,然后调用Tomcat服务器中的web.Xml文件配置把请求分派给中央调度器,中央调度器判断请求能否处理,能处理把请求交给映射器,得到执行链对象,带着执行链对象返回给中央调度器,中央调度器在调用处理器适配器,获取适配器对象后执行拦截器的preHandle()方法,判断方法返回值true/false,为true,请求可以被执行,请求传递到处理器方法,返回ModelAndView对象,接着执行拦截器的postHandler()方法,调用processDispatchResult(),这个方法判断是否有异常,有异常调用异常解析器处理异常,然后执行视图解析器,没有异常,直接执行视图解析器,通过视图解析器创建视图对象,中央调度器调用视图的view.render()方法(渲染方法,)
渲染的作用把模型Model中的数据填充到视图之中,再结

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值