Tomcat有多個(gè)容器組成,而Container也就是容器與Connecter連接器是Tomcat最核心的兩個(gè)模塊,Connecter連接器接收客戶(hù)端的請(qǐng)求,并根據(jù)客戶(hù)端的請(qǐng)求傳遞給Container處理并作出相應(yīng)。
Tomcat中有多個(gè)層次的容器對(duì)象:Engine、Host、Context、Wrapper,這些容器是有層級(jí)關(guān)系的。
所有的容器都繼承ContainerBase抽象類(lèi), ContainerBase抽象類(lèi)實(shí)現(xiàn)Container接口,Container繼承Lifecycle接口用于實(shí)現(xiàn)對(duì)容器的生命周期的統(tǒng)一管理。
Container接口定義了靜態(tài)字段來(lái)表示添加或移除子容器時(shí)的事件類(lèi)型(如下圖):

通過(guò)下面圖片我們看下ContainerBase的類(lèi)結(jié)構(gòu),由于篇幅有限方法過(guò)多這里就不列出接口、類(lèi)的字段與方法了:

ContainerBase類(lèi)圖
1、Lifecycle接口:就是我們前面介紹過(guò)的用于控制Tomcat所有組件生命周期的接口定義。 2、LifecycleBase抽象類(lèi):實(shí)現(xiàn)了Lifecycle接口用戶(hù)Tomcat所有組件生命周期的管理類(lèi)。 3、MBeanRegistration接口:用于使Tomcat支持JMX而定義的接口。 4、LifecycleMBeanBase抽象類(lèi):繼承了LifecycleBase與實(shí)現(xiàn)了MBeanRegistration接口,實(shí)現(xiàn)了JMX的支持。 5、Container接口:就是我們所有容器的接口,定義了容器通用的字段還有方法。 6、ContainerBase抽象類(lèi):所有容器的基類(lèi),實(shí)現(xiàn)了一些子容器管理的方法(添加、移除、查找),子容器的啟動(dòng)、實(shí)現(xiàn)了容器事件監(jiān)聽(tīng)對(duì)象的管理、包括對(duì)Loader、 Logger、Manager、Realm、Resources組件的管理、還包括了Pipeline、Valve對(duì)象的管理等。Tomcat所有容器類(lèi)圖如下(省略了字段、方法):

容器類(lèi)圖
這節(jié)就先分析到這里,下面我們?cè)谠敿?xì)分析Tomcat中的每個(gè)容器。
文章首發(fā)地址:Solinx
http://www.solinx.co/archives/101
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注