程序员人生 网站导航

Spring学习总结(2.1)― Spring MVC

栏目:综合技术时间:2015-05-27 07:58:45

简介

    Spring MVC是MVC模式在UI中的使用,固然Spring MVC只是其中的1种。这个模式的特点是:分离了模型、视图、控制器3种角色。将业务处理从UI设计中独立出来,分装到模型和控制器设计中去,使得他们相互之间解耦。这样的话,它们就能够独立扩大。

流程


  1. 客户端要求提交到DispatcherServlet
  2. 由DispatcherServlet控制器查询1个或多个HandlerMapping,找到处理要求的Controller
  3. DispatcherServlet将要求提交到Controller
  4. Controller调用业务逻辑处理后,返回ModelAndView
  5. DispatcherServlet查询1个或多个ViewResoler视图解析器,找到ModelAndView指定的视图
  6. 视图负责将结果显示到客户端

WEB与Spring MVC的关系

    Spring MVC也是Spring框架的1部份,所以Spring MVC也要基于IOC容器来使用。而Spring IOC容器是1个独立的模块,它其实不能直接的在web容器里使用。所以需要设计1个启动和初始化IOC容器的进程。看以下配置文件:
<span style="font-family:FangSong_GB2312;font-size:18px;"> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-mvc.xml,classpath:config/applicationContext-common.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet></span>
    这两个配置项listener配置了1个监听器,作用是监听WEB容器的启动,然后触发Spring IOC加载到WEB 容器中来。Servlet配置项配置的是Spring MVC的主分发器。其中参数指定了配置的bean的xml文件路径。这里的listener和DispatcherServlet为WEB Context访问Spring MVC提供了入口。

上下文在WEB容器中的启动

  其实,在WEB中启动Spring MVC就是创建上下文关系。首先DispatcherServlet拦截的Http要求时需要Spring MVC为其提供相应的处理类。所有的配置好的需要Spring MVC管理的类就构成了1个系统的上下文关系。也就是说,所谓的上下文可以简单的理解为Bean的集合吧。     
    上图为上下午关系的创建进程,根上下文是由WEB Context创建的,余下的子上下文关系都是由ContextLoader来创建的。这样Spring MVC在WEB Context中就搭建起来了。
    总结:这篇博客讲了Spring MVC的基本流程和它与WEB 之间的关系。这些知识内容有助于对使用Spring MVC的理解。同时也是为了更好的使用吧。下篇再见!
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐