Tomcat工作原理

2021-08-15 18:51:25 字數 611 閱讀 3539

tomcat內存在乙個process連線池,有請求過來會去連線池內獲取process物件對該請求進行處理,連線池有最小連線數和最大連線數,當前請求數超過最大連線數後超出的連線請求將會被丟棄,如果最大連線數設定為負數,則表示無最大連線數限制。

乙個process物件接收到請求後不對請求做任何處理,直接建立聯結器connector物件。

connector物件才會對該次請求做進一步的處理。

通過聯結器connector獲取該次請求的socket例項,再通過socket獲取輸入流inputstream建立httpservletrequest請求物件,獲取socket的輸出流outputstream建立httpservletresponse響應物件。

根據httpservletrequest物件獲取請求的servlet(請求路徑),呼叫tomcat自身實現的類載入器載入該servlet並建立物件例項。

如果過濾後的servlet可用,在該過濾器的dofilter最後會呼叫chain.dofilter(request, response);方法,呼叫下乙個過濾器進行處理。如果最後沒有呼叫chain.dofilter,下乙個過濾器將不會被呼叫。如果是最後乙個過濾器,則呼叫該servlet的service方法進入自身業務方法內。

Tomcat工作原理

總體結構 tomcat 的結構很複雜,但是 tomcat 也非常的模組化,找到了 tomcat 最核心的模組,您就抓住了 tomcat 的 七寸 下面是 tomcat 的總體結構圖 從 上圖中可以看出 tomcat 的心臟是兩個元件 connector 和 container,關於這兩個元件將在後面...

Tomcat工作原理

engine容器 engine 容器比較簡單,它只定義了一些基本的關聯關係,介面類圖如下 它的標準實現類是 standardengine,這個類注意一點就是 engine 沒有父容器了,如果呼叫 setparent 方法時將會報錯。新增子容器也只能是 host 型別的,如下 public void ...

Tomcat工作原理

一 apache tomcat方式 配置檔案 server.xml 主要配置項 1 server server port 8005 shutdown shutdown server 指定8005埠,監聽關閉tomcat進行的請求。2 connector 共兩個,定義客戶端和伺服器之間的連線。獲取客戶...