前言:先以思维导图的方式概述SpringMVC概貌,后续详细解析其使用。
本篇文章重点关注以下问题:
- spring mvc简介与运行原理
- 主要注解
- ContextLoaderListener
- DispatcherServlet
- applicationContext.xml中的标签
- 文件上传
- 异常处理
转自:
http://www.jianshu.com/p/7c4bbf1ba9981. spring mvc简介与运行原理
Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等,甚至还能支持文件上传。
- (1) Http请求:客户端请求提交到DispatcherServlet。
- (2) 寻找处理器:由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller。
- (3) 调用处理器:DispatcherServlet将请求提交到Controller。
- (4)(5)调用业务处理和返回结果:Controller调用业务逻辑处理后,返回ModelAndView。
- (6)(7)处理视图映射并返回模型: DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图。
- (8) Http响应:视图负责将结果显示到客户端。
2. 主要注解
3. ContextLoaderListener
在讲ContextLoaderListener之前,首先来了解一下web.xml的作用。
而spring mvc启动过程大致分为两个过程:
- ContextLoaderListener初始化,实例化IoC容器,并将此容器实例注册到ServletContext中。
- DispatcherServlet初始化。