tomcat应用加载顺序详解

2025-03-14 23:36:23

1、分析catalina.jar源码,在其中加入一些日志信息

tomcat应用加载顺序详解
tomcat应用加载顺序详解

2、启动tomcat,查看相关信息

tomcat应用加载顺序详解
tomcat应用加载顺序详解
tomcat应用加载顺序详解

3、根据日志,经过分析,我们可以看出,tomcat会先去读server.xml下配置的context标签的项目,之后会去加载conf/Catalina/localhost下面的.xml里面配置的项目,之后会去读取server.xml下<Host appBase="webapps"/>配置的appBase下的项目

tomcat应用加载顺序详解
tomcat应用加载顺序详解
tomcat应用加载顺序详解

4、好了,我们大概的了解了启动过旯皱镢涛程,我们再去分析源码吧,首先是server.xml下context标签项目的启动过程:读取docbase和path,如果path为/,/ROOT,那么bas髫潋啜缅eName就是ROOT,否则就为它本身

tomcat应用加载顺序详解
tomcat应用加载顺序详解

5、之后分析docBace对应的文件:docBase是war腻戴怯猡包,就解压到刚刚的baseName下面。如果docBase是文件夹,什么都不做。如果docBase文件夹不存在,再去蚕蝣鲢蹙目录下查找docBase(文件目录)对应的war包存在不存在,如果存在解压war包到baseName(url路径,ROOT就是域名根目录)

tomcat应用加载顺序详解

6、之后就会去加载该项目

tomcat应用加载顺序详解

7、context加载完成之后,会去加载conf/Catalina/localhost配置的项目,之后会去加载appBase下的war包项目,最后加载appBase目录下的文件夹项目

tomcat应用加载顺序详解

8、总结加载项目步骤:先是server.xml的context项目;之后是conf/Catalina/localhost的context项目,然后是appBase的war包项目,最后是appBase目录下的文件夹项目

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢