SpringMVC 的运行流程

  • 首先,上图

  • 流程概述

  1. 用户请求提交到 DispatchServlet
  2. 由DispatchServlet 控制器查询一个或多个HandlerMapping, 找到处理请求的Controller
  3. DispatchServlet将访问请求转发到Controller
  4. Controller调用业务逻辑处理后。返回ModelAndView
  5. DispatchServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图
  6. 视图负责将结果显示给客户端
  • 部分总结

一、从2个Handler 中,找到合适的控制器。

BeanNameUrlHandlerMapping                XML的配置方式的控制器

RequestMappingHandlerMapping           注解方式的控制器

handlerMapping 返回一个 HandlerExecutionChain(执行链), 给DispatchServlet。然后DispatchServlet 调用 HandlerAdapter(适配器)

二、从3个Adapter 中,找到合适的处理器

HttpRequestHandlerAdapter                   XML的配置方式的Adapter

SimpleControllerHandlerAdapter            XML的配置方式的Adapter(implements Controller的方式创建的)

RequestMappingHandlerAdapter           注解方式的Adapter

SimpleControllerHandlerAdapter  :下图可以看出 对Handler 进行了强转 ,所以必须实现 Controller。

 

mappedHandler.applyPreHandle(processedRequest, response) 循环调用拦截器方法

猜你喜欢

转载自blog.csdn.net/wangfei19910000/article/details/88911764
今日推荐