本文以tomcat6源码为基础,主要分享如下内容:
tomcat总体架构tomcat核心模块分析
本文主要目的是梳理清楚tomcat有哪些核心模块以及这些模块之间的关系。文章使用类图阐述这些内容。
总体架构
Tomcat是目前非常流行的web容器,tomcat总体架构见下图。
图1 Tomcat总体架构图
Tomcat最外层是一个Server模块,它控制整个tomcat的生命周期。Server由多个Service组成,一个Service是一个对外服务的实体。Service由多个Connector、一个Container、一个Executor和其它基础服务模块组成。其中Connector和Container是tomcat的核心模块,也是本文要重点剖析的模块。Executor是提供一个线程池,如果在Server.xml中没有配置,则tomcat启动时候会分配一个默认的线程池。
Connector好比酒店前台接待人员,Container好比一个酒店房间、床铺等硬件设施,一个酒店可以有多类不同职能的接待人员。比如:有的专职为vip客户服务,有的专职为普通用户服务,有的为领导干部服务等。同样在Server.xml中也可以配置不同类型的Connector,比