SpringMVC执行流程 - 图1

    SpringMVC执行流程:

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

    Filter -> Servlet -> Interceptor -> Controller