SpringMVC执行流程:
- 用户发送请求至前端控制器 DispatcherServlet
- DispatcherServlet 收到请求调用处理器映射器 HandlerMapping。
- 处理器映射器根据请求 url 找到具体的处理器,生成处理器执行链 HandlerExecutionChain(包括处理器 handler 和拦截器 handlerInterceptor) 返回给 DispatcherServlet。
- DispatcherServlet 根据处理器 Handler 获取处理器适配器 HandlerAdapter 执行 HandlerAdapter 处理一系列的操作,如:参数封装,数据格式转换,数据验证等操作
- 执行处理器 (Controller) Handler.handleRequest()
- Handler 执行完成返回 ModelAndView
- HandlerAdapter 将 Handler 执行结果 ModelAndView 返回到 DispatcherServlet
- DispatcherServlet 将 ModelAndView 传给 ViewReslover 视图解析器
- ViewReslover 解析后返回具体 View
- DispatcherServlet 对 View 进行渲染视图(即将模型数据 model 填充至视图中)
- DispatcherServlet 响应用户
Filter -> Servlet -> Interceptor -> Controller