Engine、Host及Context的解析过程

本文详细介绍了Tomcat中Engine、Host和Context的解析过程,包括Engine的创建、集群配置、安全配置,Host的实例化、集群配置、安全配置,以及Context的实例化、类加载器设置、会话管理、初始化参数、安全配置和资源管理等方面的内容。
摘要由CSDN通过智能技术生成

1、Engine解析过程

  1.1创建Engine实例

//EngineRuleSet.addRuleInstances
digester.addObjectCreate(prefix+"Engine","org.apache.catalina.core.StandardEngine","className");
digester.addSetProperties(prfix+"Engine");
digester.addRule(prefix+"Engine",new LifecycleListenerRule("org.apache.catalina.startup.EngineConfig","engineConfigClass"));
digester.addSetNext(prefix+"Engine","setContainer","org.apache.catalina.Engine");

  创建Engine实例,并将其通过setContainer()方法添加到Service实例,Catalina默认实现为org.apache.catalina.core.StandardEngine。同时,还为Engine添加了一个生命周期监听器EngineConfig。注意,此类是在创建时默认添加的,并非由server.xml配置实现。该监听器用于打印Engine启动和停止日志。

  1.2为Engine添加集群配置

//EngineRuleSet.addRuleInstances
digester.addObjectCreate(prefix+"Engine/Cluster",null,"className");
digester.addSetProperties(prefix+"Engine/Cluster");
digester.addSetNext(prefix+"Engine/Cluster","setCluster","org.apache.catalina.Cluster");

  具体集群实现类由className属性指定。

  1.3为Engine添加生命周期监听器

//EngineRuleSet.addRuleInstances
digester.addObjectCreate(prefix+"Engine/Listener",null,"className");
digester.addSetProperties([refix+"Engine/Listener");
digester.addSerNext(prefix+"Engine/Listener"."addLifecycleListener","org.apache.catalina.LifecycleListener");

  与EngineConfig不同,此部分监听器由server.xml配置。默认情况下,Catalina未指定Engine监听器。

  1.4为Engine添加安全配置

//EngineRuleSet.addRuleInstances
digester.addObjectCreate(new RealmRUleSet(prefix+"Engine/"));
digester.addObjectCreate(prefix+"Engine/Value",null,"className");
digester.addSetProperties(prefix+"Engine/Value/");
digester.addSetNext(prefix+"Engine/Value","addValue","org.apache.catalina.Value");

  为Engine添加安全配置以及拦截器Value,具体的拦截器类由className属性指定。

2、Host解析过程

  2.1创建Host实例

//HostRuleSet.addRuleInstances
digester.addObjectCreate(prefix+"Host","org.apache.catalina.core.StandardHost","className");
digester.addSetProperties(preifx+"Host");
digester.addRule(prefix+"Host",new CoypParentClassLoaderRule(
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值