部署器
使用一个Web应用程序,必须表示该应用程序的Context实例,部署到一个Host实例。
在Tomcat中,可以用war文件的形式来部署。
对于部署的每个应用程序,可以包含一个描述文件。包含Context实例的配置信息
Deployer接口
部署器与一个Host实例相关联,用来安装Context实例。
之前,我们通过
Context context = new Context();
Host host = new Host();
context.addChild(host);
部署应用程序。
Tomcat是不会使用这种方式的。
在StandardHost实例使用org.apache.catalina.startup.HostConfig类的生命周期监听器。
在server.xml中,遇到“server/Service/Engine/Host”,就将HostConfig实例加入Host中。
StandardHost类的isDeployXML()指明,Host实例是否要部署一个Context实例的描述文件。
liveDeploy指明Host实例是否要周期性检测一个新的部署。
unpackWARs指明将WAR文件形式的web应用程序解压。
autoDeploy属性为true时,start方法会调用deployApps()方法,获取Host实例的appBase属性的值。
部署一个WAR
HostConfig类,提供deployWARs()方法。
StandardHostDeployer类,有两个install方法()用于安装描述符