8. tomcat的启动流程

  1. 在这里插入图片描述
    在windows系统中,点击startup.bat即可启动,那么启动之后,做了哪些操作呢?
    (1)调用BootStrap组件的main()方法启动,在startup.bat批处理脚本中,调用了catalina.bat的批处理脚本,而在catalina.bat批处理脚本中,又调用了BootStrap组件。最后是通过BootStrap的main()方法来启动加载的。如图所示:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    (2)调用main()方法的时候,会先去调用init()方法进行初始化,去加载类加载器需要的东西.
    (3)然后调用load()方法,这个时候,load方法会去调用另外一个组件catalina组件,catalina是整个容器的名称,
    (4)catalina容器在加载的时候会去创建一个Server,这个Server就是tomcat服务器本身,并且调用init方法进行初始化.
    (5)server在初始化的时候,会调用service的init()方法,原因是一个server下面可以有多个service。
    (6)根据流程图依次去调用各个组件的init方法.父容器在初始化的时候,去调用子容器的init初始化方法.
    (7)在service组件调用到Context的init()方法初始化之后,会调用init()方法,在这个init()方法中,去初始化了Executor,这个executor是java并发包下面的,是线程池。即初始化了线程池.
    (8)service再次调用init()方法,初始化Connector连接器组件
    (9)connector组件调用了ProtocolHandler的init()方法,这个handler就是前面提到的,会去创建一个endpoint,而在这个endpoint中,就绑定了tomcat需要去监听的端口. 就是我们再tomcat的配置文件中配置的connector中的port端口,8080和8009
    (10)在所有的初始化工作完成之后,bootstrap调用start方法,依次启动各个组件。

总结: 加载配置文件
初始化容器组件
监听对应的端口
准备接受客户端请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值