先來介紹下tomcat 的目錄文件
bin 目錄:linux妓灌、windows的一些啟動腳本船殉,還有一些就是tomcat依賴的jar包,.sh是linux .bat是windows 。
conf目錄:這里就是配置文件的地方了,這里面我們可以看到一些熟悉的文件溺欧,比如context.xml、server.xml柏肪、web.xml文件姐刁。
lib目錄:tomcat依賴的一些jar
logs : 這個就肯定不用說了,存放日志的地方
temp: 存放一些臨時文件
webapps: 這個我們就很熟悉烦味,部署的時候 war聂使、jar 放在里面就可以了啟動就可以了。
work:這個是存運(yùn)行時放編譯后的class文件谬俄。
介紹完了目錄結(jié)構(gòu)柏靶,我們可以來看看官方文檔
8.0文檔地址傳送門
server:這個沒什么說的,tomcat服務(wù)器接口的實(shí)現(xiàn)溃论,代表整個容器
Service: 服務(wù)器內(nèi)部的中間組件屎蜓,把多個引擎綁定在一起。
Engine: 上面提到的引擎钥勋,處理所有連接器所有的請求的管道炬转,并且返回信息給客戶端辆苔。
Host:就是我們常用域名或者服務(wù)器的ip地址與tomcat相關(guān)聯(lián),一個Engine(引擎) 包含多個Host扼劈。
Connector:這個就是客戶端連接池驻啤,將tomcat連接到Apache HTTPD服務(wù)器等web服務(wù)器時使用的AJP協(xié)議的連接器。
Context:這個就是我們web項(xiàng)目测僵。
說完這些還是懵逼街佑,這些東西到底是做什么的呢?
下面我找了張圖捍靠,我們結(jié)合圖來說
我們可以看到沐旨,一個請求從客戶端過來,首先tomcat容器肯定是要先初始化榨婆,
也就 是Server 初始化磁携,然后就是Server的一些Listener、Resource良风、JNDI然后在
就Server下面的Service谊迄,Service里面的Connector。
看完上面的圖我們也只是知道了tomcat 處理請求的一些流程而已烟央,圖中的一些組
件我們并不知道在哪里统诺,還是有點(diǎn)懵,我們回過頭去看看 各個目錄里面的文件
(下面只研究conf目錄)
conf目錄解釋
我們看到這個里面對應(yīng)的是上面圖中的一些組件疑俭,可是service粮呢、connetor、
Engine钞艇、Host啄寡、Executor 這些組件我們還是沒有看到,再仔細(xì)看下這些組件都是包含在Server 里面的哩照,我挺物, 看下erver.xml的文件
上面圖片中的注釋我去掉了∑。可以看到這個里面的標(biāo)簽結(jié)構(gòu)识藤,圖中的組件是不是都對應(yīng)上了。
這個里提一下 這個web.xml文件時tomcat 默認(rèn)的次伶。
我們再看看 context.xml目錄
這個里面就是最后的conttext 組件蹋岩。
結(jié)合圖片里的組件我們都了解完了,后面我們就去結(jié)合源碼研究下tomcat 的啟動流程