走在C++转Java的道路上。。。。。。
你看生活的真相里,有数不清的残酷,也有说得出的幸福,我们都是平凡世界里的英雄,有期待,有理想,有伸手可及的远方,也有遥不可及的梦想…送给还在坚持走开发的小伙伴们!
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响应:视图负责将结果显示到客户端。
主要注解说明:
在讲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启动过程大致分为两个过程:
(1)ContextLoaderListener初始化,实例化IoC容器,并将此容器实例注册到ServletContext中。
(2)DispatcherServlet初始化。