SpringMVC的认识及执行流程

什么是SpringMVC

SpringMVC是基于Java的实现了MVC设计模式的请求驱动类型的轻量级WEB框架,通过把ModelViewController分离,将web层进行的职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便开发组内人员之间的交流。

SpringMVC的流程

SpringMVC的认识及执行流程

  1. 用户发送请求至前端控制器(DispatcherServlet)
  2. 前端控制器(DispatcherServlet)收到请求后,调用处理器映射器(HandlerMapping)
  3. 处理器映射器(HandlerMapping)根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给前端控制器(DispatcherServlet)
  4. 前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)
  5. 处理器适配器(HandlerAdapter)经过适配调用具体的处理器(Handler)
  6. 处理器(Handler)执行完成后返回ModelAndView
  7. 处理器适配器(HandlerAdapter)将处理器(Handler)执行结果ModelAndView返回给前端控制器(DispatcherServlet)
  8. 前端控制器(DispatcherServlet)将ModelAndView传给视图解析器(ViewResolver)进行解析
  9. 视图解析器(ViewResolver)进行解析后返回具体的View
  10. 前端控制器(DispatcherServlet)对View进行渲染视图(即将模型数据填充至视图中)
  11. 前端控制器(DispatcherServlet)响应用户

SpringMVC的优点

  1. 可以支持各种视图技术
  2. 与Spring框架集成
  3. 角色分配清晰
  4. 支持各种请求资源的映射策略