tomcat工作原理

2022-04-25 01:49:54 字數 828 閱讀 4791

tomcat server處理乙個http請求的過程

假設來自客戶的請求為:

請求被傳送到本機埠8080,被在那裡偵聽的coyote http/1.1 connector獲得

connector把該請求交給它所在的service的engine來處理,並等待來自engine的回應

engine獲得請求localhost/wsota/wsota_index.jsp,匹配它所擁有的所有虛擬主機host

engine匹配到名為localhost的host(即使匹配不到也把請求交給該host處理,因為該host被定義為該engine的預設主機)

localhost host獲得請求/wsota/wsota_index.jsp,匹配它所擁有的所有context

host匹配到路徑為/wsota的context(如果匹配不到就把該請求交給路徑名為""的context去處理)

context匹配到url pattern為*.jsp的servlet,對應於jspservlet類

構造httpservletrequest物件和httpservletresponse物件,作為引數呼叫jspservlet的doget或dopost方法

context把執行完了之後的httpservletresponse物件返回給host

host把httpservletresponse物件返回給engine

engine把httpservletresponse物件返回給connector

connector把httpservletresponse物件返回給客戶browser

Tomcat工作原理

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

Tomcat工作原理

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

Tomcat工作原理

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