SpringMVC工作流程

流程如下:

  1. DispatcherServlet : 接收请求, 是springmvc的核心找HandlerMapping 解析请求
  2. HandlerMapping :对应请求路径的Handler
  3. HandlerMapping返回一个执行链 HandlerExecutionChain(具体的handler 拦截器集合)
  4. 根据Handler的实现方式找对应的HanlderAdapter适配器
  5. HanlderAdapter调用Handler处理业务逻辑
  6. Handler返回ModelAndView(数据模型 视图名称)
  7. HanlderAdapter返回ModelAndView给DispatcherServlet
  8. DispatcherServlet找ViewResolver视图解析器
  9. ViewResolver返回具体的视图给DispatcherServlet
  10. 渲染视图
  11. 返回渲染后的视图给DispatcherServlet
  12. 响应给用户

组件说明:

以下组件通常使用框架提供实现:

  • DispatcherServlet:作为前端控制器,整个流程控制的中心,控制其它组件执行,统一调度,降低组件之间的耦合性,提高每个组件的扩展性。
  • HandlerMapping:通过扩展处理器映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。
  • HandlAdapter:通过扩展处理器适配器,支持更多类型的处理器。
  • ViewResolver:通过扩展视图解析器,支持更多类型的视图解析,例如:jsp、freemarker、pdf、excel等。

组件复述:

  • 前端控制器(DispatcherServlet):接收请求,响应结果,相当于电脑的CPU。
  • 处理器映射器(HandlerMapping):根据URL去查找处理器
  • 处理器(Handler):(需要程序员去写代码处理逻辑的)
  • 处理器适配器(HandlerAdapter):会把处理器包装成适配器,这样就可以支持多种类型的处理器,类比笔记本的适配器(适配器模式的应用)
  • 视图解析器(ViewResovler):进行视图解析,多返回的字符串,进行处理,可以解析成对应的页面

你可能感兴趣的:(Java,java,spring)