> 文档中心 > Spring MVC的工作流程

Spring MVC的工作流程


1、什么是Spring MVC?

SpringMVC是基于Java实现的一种MVC设计架构的轻量级框架

MVC

  • M:Model主要用于完成业务操作
  • V: View 展示数据
  • C:Controller 获取数据,处理数据,将数据交给视图

这种分层设计有效的进行了解耦操作,使设计更加灵活。

2、Spring MVC的工作流程

  • Web容器启动,通知Spring进行初始化容器,加载Bean的类信息,初始化单例Bean
  • 遍历所有Bean,获取每一个Controller中每一个方法的 URL,把 Controller和相应的 URL保存到一个Map集合中
  • 把集合转发给 DispatcherServlet(前端控制处理器),DispatcherServlet请求 HandlerMapping找到所有标注了 Controller的类和 RequestMapping的方法和类,生成 Handler(处理器)和 HandlerInterceptor(拦截器)(如果有的话生成),再以HandlerExcutionChain(处理器执行链)的形式返回。
  • 根据 Handler找到 HandlerApapter(处理器适配器),执行方法处理请求并返回 ModelAndViewDispatcherServlet
  • DispatcherServletModelAndView转发给 ViewResolver(视图解析器)进行视图的解析于渲染。并将渲染后的视图返回给 DispatcherServlet
  • DispatcherServlet 将视图返回给客户端

Spring MVC的工作流程

3、Spring MVC的优点:

  • 容易和其它View框架(Titles等)无缝集成,采用IOC便于测试。
  • 它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架,spring适用于初学者或者想了解mvc的人。
  • 它和tapestry一样是一个纯正的servlet系统,这也是它和tapestry相比 struts所没有的优势。而且框架本身有代码,而且看起来也不费劲比较简单可以理解。

水平有限,若有错误,还望大佬们给予指正,不胜感激!