SpringMVC底层执行流程

以下是SpringMVC的执行流程,也是SpringMVC的核心功能: 首先明确SpringMVC的核心三要素,基于三要素,进行流程分析。水平不佳,技术有限,如有错误,请大佬指正!

在这里插入图片描述

  1. 首先,用户发送请求,DispatchServlet接收请求并拦截请求。DispatchServlet表示前置控制器,是SpringMVC的核心。(具体作用:通过请求URI定位具体位置[所以,需要在里面注册于Spring-MVC的配置文件,以寻找对应的处理器])
    在这里插入图片描述

一.处理器映射器

在这里插入图片描述

  1. HandlerMapping为处理器映射,其作用即:根据DispatcherServlet拦截到的url地址,通过关联的SpringMVC关联的配置文件,进行查找Handler
  2. HandlerExecution表示具体的Handler,作用是根据uri查找控制器
    看到这里,大家会有一个疑问,handler和控制器有什么区别呢?
    (Handler 会接管所有请求,包括静态请求,如 localhost/css/style.css 或者 locahost/img/logo.jpg,并且可以改变请求所指向的资源参数如 String target参数,所以 Handler 具有可以处理更多的事情,例如改变 target 参数做url 伪静态或者 url 重写。而控制器处理的一般是web请求,并返回带有视图的处理程序,功能比较专一)(就比如你是个厨师(Handler),我是个专门做川菜的川厨(Controller))
    此处若想了解更多,点击此链接进行深入研究
    4.HandlerExecution将解析后的信息传递回DispatcherServlet.

二.处理器适配器

在这里插入图片描述

5.HandlerAdapter(处理器适配器)找到实现Controller的类或者含有@Controller的注解,进行一一适配.

6.执行具体的Controller(并调用其后的service层和dao层).

7.controller将执行完的信息返回给HandlerAdapter,即ModelAndView.(携带的基本信息有传递的数据,以及要传递的是哪个视图).

8.HandlerAdapter将视图逻辑名或者模型返回给DispatcherServlet。

三.视图解析器 在这里插入图片描述

9.返回的数据经过视图解析器:获取了ModelAndView的数据,解析ModelAndView视图名,拼接视图名字,找到对应视图。

10.视图解析器将解析结果将解析的视图传回DispatchServlet.

11.DispatcherServlet根据解析的结果,调用对应视图.

12.发送给用户.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南风1789

时间宝贵,希望给与支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值