欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringMVC的执行流程

程序员文章站 2022-05-10 11:39:53
上一篇:11-SpringMVC核心之拦截器的应用实践用户登录验证https://blog.csdn.net/fsjwin/article/details/1096363251. SpringMVC的执行流程先给出执行流程的示意图:浏览器发出请求到达*处理器(2-3步)DispatchServlet接收到请求后,把请求交给处理器映射器,处理器映射器是springmvc框架中的一种对象,框架把视线了HandlerMapping接口的类均叫做处理器映射器(在框架中是多个)。处理器映射器的作用:根...

上一篇:11-SpringMVC核心之拦截器的应用实践用户登录验证https://blog.csdn.net/fsjwin/article/details/109636325

1. SpringMVC的执行流程

先给出执行流程的示意图:
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;

SpringMVC的执行流程

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

HandlerExecutionChain.java:

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

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

SpringMVC的执行流程
4. (8-9) 视图解析器,使用前后缀配成实体,使用View类来表示
SpringMVC的执行流程
比如:RedirectView 对象代表的就是的就是redirect:/EEB-INF/view/first.jsp这里的视图。

SpringMVC的执行流程
然后把view对象返回给*调度器DispatchServlet

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

2. DispatchServlet中的重要节点

DispatchServlet中的重要节点:
的到执行链:
SpringMVC的执行流程
调用适配器:
SpringMVC的执行流程

3. 总结

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

本文地址:https://blog.csdn.net/fsjwin/article/details/109636887