国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Tomcat源碼分析之—容器整體結(jié)構(gòu)

2019-11-14 22:06:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Tomcat源碼分析之—容器整體結(jié)構(gòu)

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)系的。

  • Engine:代表整個(gè)Tomcat的Servlet引擎,可以包含一個(gè)或多個(gè)子容器
  • Host: 表示一個(gè)虛擬主機(jī),包含多個(gè)Context
  • Context :表示一個(gè)ServletContext,包含一個(gè)或多個(gè)Wrappers容器
  • Wrappers:表示一個(gè)獨(dú)立的Servlet定義,可以是多個(gè)servlet或一個(gè)servlet實(shí)例

所有的容器都繼承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


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南靖县| 江油市| 镇赉县| 龙南县| 陈巴尔虎旗| 湛江市| 陆丰市| 景德镇市| 眉山市| 茌平县| 绥化市| 原阳县| 松江区| 南江县| 轮台县| 鹤山市| 定远县| 朔州市| 惠来县| 赤城县| 东台市| 同德县| 疏附县| 巴南区| 曲水县| 永兴县| 霍林郭勒市| 许昌县| 那坡县| 拜城县| 枣阳市| 清水县| 施秉县| 苍南县| 台南市| 孟州市| 邢台县| 屯留县| 北京市| 阆中市| 江津市|