Tomcat Server.xml解析

1.Tomcat 各组件逻辑图(网络引用)

    说明:1.由于此图是之前网上转的,但后面调试源码后觉得其后注释说明部分的关系线并不实际存在,而是由各组件的上下层关系维持.不知道原图上这几条线是否也是这个意思.

      2.由于一个Engine可以有多个Host,一个Host也可以有多个Context,而一个Engine和Host却只有一个pipeline,从这个角度去看,图国的注释的关系线也不可能存在.

  2.Tomcat 启动时序

   从上面的DeBug视图可以大概看清楚Tomcat启动程序上的执行过程,现主要说一个Digester解析Server.xml文件,生成各组件(StandardServer,StandardService,StandardEngine,StandardHost,StandardContext等相关对象)实例,组装以上对象并启动的过程

      1.Catalina.createStartDigester方法:(Digester通过sax方式解析Server.xml)生成Server.xml中配置的各组件对象(此成并成形成逻辑关系),并通过Rule设置各组件在逻辑上的层次关系(此时的关系只存在Digester对象的).

      2.Digester.startElement方法:调用各Rule实现类(如:ObjectCreateRule,SetNextRule)的begin方法,当遇到不同的组件时,生成相应的对象(反射),并依次栈中.

      3.Digester.endElement方法:调用各Rule实现类(如:ObjectCreateRule,SetNextRule)的end方法,当遇到不同的组件时,设置相应的上下层关系.(此时各组件还未启动).  

      

   3.Tomcat BIO处理Http请求逻辑

    

(未完待继)

转载于:https://www.cnblogs.com/every/archive/2013/04/18/3029206.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值