SpringMVC的执行流程

1. SpringMVC的执行流程

先给出执行流程的示意图:
在这里插入图片描述

  1. 浏览器发出请求到达中央处理器
  2. (2-3步)DispatchServlet接收到请求后,把请求交给处理器映射器,处理器映射器是springmvc框架中的一种对象,框架把视线了HandlerMapping接口的类均叫做处理器映射器(在框架中是多个)。
    处理器映射器的作用:根据请求从springmvc容器中获取处理器对象即:
    MyController myController = ct.getBean(“xxx.do”);
    处理器映射器把获得的controller对象放在执行器执行链当中,这也是一个类:HandlerExecutionChain.java。

HandlerMapping.java:

@Nullable
HandlerExecutionChain getHandler(HttpServletRequest var1) throws Exception;
12

在这里插入图片描述

类实现类很多。现在我们使用注解了之后就方便了很多。

HandlerExecutionChain.java:

//处理器(MyController)
private final Object handler;

//拦截器
@Nullable
private HandlerInterceptor[] interceptors;
123456
  1. (4-7步)中央处理把HandlerExecutionChain交给处理器适配器(多个),适配器是springmvc中的组件,只要实现了HandlerAdapter接口的均叫处理器适配器。会调用handle方法,具体实现就是myController中的相应方法。得到ModelAndView对象(这个ModelAndView重新回到DispatchServlet中央调度器手中)
    在这里插入图片描述
    HandlerAdapter的实现类:(和映射器一一对应)

在这里插入图片描述
\4. (8-9) 视图解析器,使用前后缀配成实体,使用View类来表示
在这里插入图片描述
比如:RedirectView 对象代表的就是的就是redirect:/EEB-INF/view/first.jsp这里的视图。

在这里插入图片描述
然后把view对象返回给中央调度器DispatchServlet

  1. DispatchServlet把view对象,调用view对象自己的方法相应给页面。

2. DispatchServlet中的重要节点

DispatchServlet中的重要节点:
的到执行链:
在这里插入图片描述
调用适配器:
在这里插入图片描述

3. 总结

这个在面试过程中用的多。开发中实际应用不大。
各个器君合DispatchServlet中央调度器交互,各自之间没有耦合!
建议源码有余力详细研究!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值