前言:很多文章已经对springmvc 的加载细节进行详细的介绍,但是并没有去介绍服务容器是如何触发这一系列动作的。这里我们将通过实际项目进行分步骤介绍web 启动加载步骤。如下是一个实际的springMVC下web项目的结构。
那么问题是tomcat 启动过程中是如何使得该项目生效的呢。大致分为两个步骤。
步骤一、解析server.xml
启动Tomcat,会去读取web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常的被启动起来。但是加载webapps中的web.xml 是通过解析server.xml获取的。如下为server.xml的配置:
可见,server.xml 配置文件中含有webapps的位置。而解析server.xml 是通过位于org,apache.catalina.startup包下的Bootstrap中main方法完成的。当然主要作用是解析server.xml配置文件。详细步骤下一篇相关文章将会进行介绍容器启动过程介绍,此处主要描述一个总体的概念。
步骤二、解析web.xml文件
当完成上述步骤之后,便开始了web.xml 的解析和springMVC模块中各个组件协调运行处理过程。以下为web.xml的主要构成部分
tomcatj容器主要是围绕着dispatchServerlet 获取请求并返回响应。这里可以自行从搜索关键字“web.xml的加载过程”。