简介
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成,从tomcat7开始支持了Server3.0(主要是异步Servlet,基于注解及片段化web.xml构建应用)规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务。本系列tomcat源码分析文章基于tomcat 8.5.11 源码进行分析。
tomca应用广泛,采用java编写,所以对于正在从事java的后端开发工程师来讲,阅读tomcat源码,了解tomcat 工作原理,也是进阶的必经之路。
总体结构
组件构成
上图是tomcat的总体架构。Server 是最外层的容器,一个Server中会包含多个Service组件,每个Service会包含多个Connector 与一个Engine,一个Engine 会有多个Host,一个Host会有多个Context,一个Contex可能会有多个Wrapper。Engine,Host,Context,Wrapper都是Containe