(转)SpringMVC(一)_Spring思维导图,让Spring不再难懂(mvc篇)
前言:先以思维导图的方式概述SpringMVC概貌,后续详细解析其使用。
本篇文章重点关注以下问题:
- spring mvc简介与运行原理
- 主要注解
- ContextLoaderListener
- DispatcherServlet
- applicationContext.xml中的标签
- 文件上传
- 异常处理
1. 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的作用。
- 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。web.xml文件是用来初始化配置信息:比如Welcome页面、servlet、servlet-mapping、filter、listener、启动加载级别等。当你的web工程没用到这些时,你可以不用web.xml文件来配置你的Application。
- 当要启动某个web项目时,服务器软件或容器如(tomcat)会第一步加载项目中的web.xml文件,通过其中的各种配置来启动项目,只有其中配置的各项均无误时,项目才能正确启动。web.xml有多项标签,在其加载的过程中顺序依次为:context-param >> listener >> fileter >> servlet。(同类多个节点以出现顺序依次加载)
而spring mvc启动过程大致分为两个过程:
- ContextLoaderListener初始化,实例化IoC容器,并将此容器实例注册到ServletContext中。
- DispatcherServlet初始化。
相关推荐
guangcheng 2020-08-31
加油奋斗吧 2020-07-04
林大夏 2020-05-14
唐宋源码清 2019-12-29
zhujiangtaotaise 2019-12-24
dhttony 2019-11-20
yifouhu 2019-11-19
garfieldcatcat 2019-11-04
西木 2011-12-24
cyjsky 2018-04-24
千锋 2019-08-27
czsay 2019-07-02
onandonandon 2019-07-01
Cypress 2019-07-01
binggege 2017-07-08
zmysna 2017-07-08