SpringBoot中如何启动Tomcat流程
前面在一篇文章中介绍了 Spring 中的一些重要的 context。有一些在此文中提到的 context,可以参看上篇文章。SpringBoot 项目之所以部署简单,其很大一部分原因就是因为不用自己折腾 Tomcat 相关配置,因为其本身内置了各种 Servlet 容器。关于该类前文已有介绍,只要记得它是专门为 web application提供context 的就好。代码第5行,获取到了一个EmbeddedServletContainerFactory,顾名思义,其作用就是为了下一步创建一个嵌入式的 servlet 容器:EmbeddedServletContainer。第6、7行,在 containerFactory 获取EmbeddedServletContainer的时候,参数为 getSelfInitializer 函数的执行结果。tomcat 中的 connector 主要负责用来处理 http 请求,具体原理可以参看 Tomcat 的源码,此处暂且不提。对所有的 ServletContextInitializer 进行合并后,利用合并后的初始化类对 context 进行配置。第11行正式启动 tomcat。
下载地址
用户评论