tomcat 目錄結(jié)構(gòu)及含義

先來(lái)介紹下tomcat 的目錄文件

bin 目錄:linux、windows的一些啟動(dòng)腳本,還有一些就是tomcat依賴的jar包,.sh是linux .bat是windows 。

conf目錄:這里就是配置文件的地方了,這里面我們可以看到一些熟悉的文件,比如context.xml、server.xml、web.xml文件。

lib目錄:tomcat依賴的一些jar

logs : 這個(gè)就肯定不用說(shuō)了,存放日志的地方

temp: 存放一些臨時(shí)文件

webapps: 這個(gè)我們就很熟悉,部署的時(shí)候 war、jar 放在里面就可以了啟動(dòng)就可以了。

work:這個(gè)是存運(yùn)行時(shí)放編譯后的class文件。

介紹完了目錄結(jié)構(gòu),我們可以來(lái)看看官方文檔
8.0文檔地址傳送門

server:這個(gè)沒(méi)什么說(shuō)的,tomcat服務(wù)器接口的實(shí)現(xiàn),代表整個(gè)容器

Service: 服務(wù)器內(nèi)部的中間組件,把多個(gè)引擎綁定在一起。

Engine: 上面提到的引擎,處理所有連接器所有的請(qǐng)求的管道,并且返回信息給客戶端。

Host:就是我們常用域名或者服務(wù)器的ip地址與tomcat相關(guān)聯(lián),一個(gè)Engine(引擎) 包含多個(gè)Host。

Connector:這個(gè)就是客戶端連接池,將tomcat連接到Apache HTTPD服務(wù)器等web服務(wù)器時(shí)使用的AJP協(xié)議的連接器。

Context:這個(gè)就是我們web項(xiàng)目。


說(shuō)完這些還是懵逼,這些東西到底是做什么的呢?

下面我找了張圖,我們結(jié)合圖來(lái)說(shuō)


tomcat系統(tǒng)結(jié)構(gòu)圖.png
我們可以看到,一個(gè)請(qǐng)求從客戶端過(guò)來(lái),首先tomcat容器肯定是要先初始化,
也就 是Server 初始化,然后就是Server的一些Listener、Resource、JNDI然后在          
就Server下面的Service,Service里面的Connector。
看完上面的圖我們也只是知道了tomcat 處理請(qǐng)求的一些流程而已,圖中的一些組 
件我們并不知道在哪里,還是有點(diǎn)懵,我們回過(guò)頭去看看 各個(gè)目錄里面的文件 

(下面只研究conf目錄)

conf目錄解釋

image.png

我們看到這個(gè)里面對(duì)應(yīng)的是上面圖中的一些組件,可是service、connetor、
Engine、Host、Executor 這些組件我們還是沒(méi)有看到,再仔細(xì)看下這些組件都是包含在Server 里面的,我, 看下erver.xml的文件



上面圖片中的注釋我去掉了??梢钥吹竭@個(gè)里面的標(biāo)簽結(jié)構(gòu),圖中的組件是不是都對(duì)應(yīng)上了。
這個(gè)里提一下 這個(gè)web.xml文件時(shí)tomcat 默認(rèn)的。
我們?cè)倏纯?context.xml目錄


image.png

這個(gè)里面就是最后的conttext 組件。
結(jié)合圖片里的組件我們都了解完了,后面我們就去結(jié)合源碼研究下tomcat 的啟動(dòng)流程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容