Tomcat源码解读--代码走读之(二十六的1-2-4)HostConfig.deployApps()(二十七)

 

 

1、获取appbase,appbase为D:\workspace\test_tomcat\apache-tomcat-7.0.22-src\output\build\webapps

2、获取configBase,configbase为D:\workspace\test_tomcat\apache-tomcat-7.0.22-src\output\build\conf\Catalina\localhost,其中Catalina为配置文件server.xml中的Engine的name,localhost为Host的name。

3、过滤appbase里面的文件。filteredAppPaths为docs, examples, host-manager,manager, ROOT。4、部署xml文件从configBase里。其中deployDescriptor(cn, contextXml,file)为主要方法。



 

5、在appbase下部署war文件,本例中没有,所以跳过。



 

6、deployDirectories(appBase,filteredAppPaths),部署子文件。



 

(1)、过滤一些特殊的文件名,META-INF和WEB-INF

(2)、创建ContextName,构造的过程中,判断如果不等于root就在前面加上一个/,如/docs,如果为ROOT就直接name=“”,namepath一样。

(3)、serviced中是否已经包含了这个名字。

(4)、进行deployDirectory(cn, dir,files[i]),部署。

猜你喜欢

转载自83519144.iteye.com/blog/1886994