您的位置:首页 > 编程语言 > Java开发

Spring学习总结(2.1)— Spring MVC

2015-04-29 23:52 423 查看

简介

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

流程



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

WEB与Spring MVC的关系

Spring MVC也是Spring框架的一部分,所以Spring MVC也要基于IOC容器来使用。而Spring IOC容器是一个独立的模块,它并不能直接的在web容器里使用。所以需要设计一个启动和初始化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配置了一个监听器,作用是监听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管理的类就构成了一个系统的上下文关系。也就是说,所谓的上下文可以简单的理解为Bean的集合吧。



上图为上下午关系的创建过程,根上下文是由WEB Context创建的,余下的子上下文关系都是由ContextLoader来创建的。这样Spring MVC在WEB Context中就搭建起来了。

总结:这篇博客讲了Spring MVC的基本流程和它与WEB 之间的关系。这些知识内容有助于对使用Spring MVC的理解。同时也是为了更好的使用吧。下篇再见!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: