springmvc工作流程

99 阅读1分钟

spring

springmvc工作流程是什么?

流程图

01-Springmvc执行流程.png

拦截器执行方法图

02-拦截器执行流程.png

文字大概解释

1.首先,用户发出请求,DispatcherServlet接收请求并拦截请求(是整个SpringMVC的控制中心)

2.DispatcherServlet调用HandlerMapping(处理器映射),HandlerMapping根据请求url查找Handler(controller)。url 到Controller 映射

3.HanlerMapping 返回一个执行器链(url 到Controller 映射的组件)给DispatcherServlet ,执行链就是执行顺序,里面可能包括 多个拦截器HandlerInterceptor

4.DispatcherServlet请求处理器适配器HandlerAdapter 去执行handler,如果有拦截器可能会执行

preHandler 等方法。实际中我们都是写的@Controller注解,实际上调用的是RequestMappingHandlerAdapter

5.执行handler方法,如果有拦截器 可能调用posthandler()方法

6.返回ModelAndView(JSON也是一种)给DispatcherServlet

7.DispatcherServlet调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图名。

8.ViewResolver视图解析器返回view给DispatcherServlet

  1. DispatcherServlet请求view做页面解析和渲染
  2. 如果有拦截器会调用afterCompletion()方法
  3. 响应给用户