1.前言
为了更好的理解内置tomcat的运行流程,根据自己的理解以及断点调试,结合网上的帖子进行一个验证。特此总结,一方面方便自己复习,另一方面也希望能帮到需要的朋友。
2.时序图
3.说明
3.1 场景
该流程 适用于 内置tomcat的产品代码,不适用于独立部署的tomcat。 尤其是对于 servlet3.0部分的实现(如SPI机制)。 值得注意的是,Embedded Tomcat 与 Apache Tomcat 均是他们同一家公司的产品。
3.2 流程规范
由于代码本身的复杂性以及 个人客观因素,没有办法做到既详尽,又严谨的画出 其时序。 但是基本可以看出其是符合tomat架构的。 我在过程中也有截了一些debug的图,但是根据我以往的经验,它们的作用对阅读者帮助并不大,倒不如保证笔记的简洁性,重在动手实践。
需要调试的时候,可以从 SpringBoot的上下文开始,然后到tomcat启动的过程,效果更佳。 但是需要花更多的时间和精力。
4.关键类结构
5.参考资料
tomcat四大容器
注:网上带架构图的有很多,但是对每个组件介绍的不是那么详细,而且过于宏观,相比较之下,就选择这一篇 写的比较详细,因此具体的架构体系需要自己动手去建立起来。