tomcat web应用加载

web应用加载时序图
在这里插入图片描述

Host

host加载web应用(context)的入口有两个

  • 在catalina解析Server.xml构造Server实例时,若配置文件的Host元素存在Context子元素,则将解析出的context作为子元素添加
    在这里插入图片描述
  • HostConfig自动扫描部署目录,创建Context实例并启动

HostConfig对于Context的部署
默认情况下,server.xml中不会配置context,仅包含Host配置如下
在这里插入图片描述
appBase指定了Web应用部署的基础目录,Tomcat通过HostConfig自动扫描拷贝到该目录下的web应用并进行自动部署

Host共有如下部署Context的方式

  • contex描述文件部署
    将Server中的context的配置单独拿出生成一个xml文件,Host扫描这些文件的路径由Host的xmlBase属性指定
  • web目录部署
    扫描Host配置的appBase下的webApp自动部署,若webApp的META-INF/context.xml存在,解析META-INF/context.xml替代默认配置
  • war包部署
    同web目录部署,增加了解压缩的处理

从代码中也可以看出这三种部署方式

//org.apache.catalina.startup.HostConfig#deployApps()
protected void deployApps() {
   

        File appBase = host.getAppBaseFile();
        File configBase = host.getConfigBaseFile();
        String[] filteredAppPaths = filterAppPaths(appBase.list());
        // Deploy XML descriptors from configBase
        deployDescriptors(configBase,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值