浅析Tomcat之StandardServer和StandardService

本文详细解析了Tomcat的核心启动类Bootstrap及其作用,如何通过Bootstrap接收命令来控制Catalina,以及Catalina如何解析配置文件创建服务器组件,并通过生命周期方法进行管理。着重介绍了StandardServer和StandardService的职责,以及它们如何配合实现Servlet引擎和Tomcat连接器的启动与关闭。同时,通过类图清晰展示了组件间的层次关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Tomcat的启动类是Boostrap,它的功用是接收控制台的命令,根据命令来控制Catalina.而Catalina负责的是解析Tomcat的配置文件,以此来创建服务器组件.并根据命令来对其进行管理.服务器组件和服务组件的任务就是组装并启动Servlet引擎,Tomcat连接器.

Catalina有个属性server这个就是它所管理的server.它的主要方法也是对其进行操作的.其中load方法就是根据server.xml来构造一系列的组件,并调用server的init方法来初始化整个web服务器.而其start,stop方法顾名思义也就是用来启动和停止服务器组件(默认实现是StandardServer).而Server对外提供服务是使用其service属性,该属性是一个数组.在Server.xml的配置中体现为Service节点.StandardServer的起停也就是service的启停.当然中间会包括一些生命周期事件.上述的StandardServer,StandardService都是继承自LifecycleMBeanBase.类图(猛击看图)可以很清晰地看出他们的类层次关系.感兴趣的话可以仔细研读其中的代码.StandardServer接受命令后是使用StandardServise来控制Servlet引擎和Tomcat连接器.

 

 

首发于泛泛之辈http://www.lihongkun.com/archives/92

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值