spring
springmvc工作流程是什么?
流程图
拦截器执行方法图
文字大概解释
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
- DispatcherServlet请求view做页面解析和渲染
- 如果有拦截器会调用afterCompletion()方法
- 响应给用户