tomcat原始碼初識一 tomcat整理流程圖
tomcat原始碼初識二 用文字描述整體流程
tomcat原始碼初識三 tomcat如何實現熱載入與熱部署
tomcat原始碼初識四 tomcat如何打破雙親委派
tomcat原始碼初識五 tomcat如何處理http請求
上一章畫了tomcat流程圖,這章試著用文本來描述下tomcat流程
tomcat啟動類bootstrap,啟動時會執行這個類裡的main方法
建立bootstrap物件,執行init方法
service.init()-standardservice
engine.init()-standardengine
connector.init()
endpoint.init()-nioendpoint 建立nio的socket
// endpoint.init
serversock = serversocketchannel.
open()
; socketproperties.
setproperties
(serversock.
socket()
);inetsocketaddress addr =
(getaddress()
!=null
?new
inetsocketaddress
(getaddress()
,getport()
):newinetsocketaddress
(getport()
)); serversock.
socket()
.bind
(addr,
getacceptcount()
);....
initialisessl()
; selectorpool.
open()
;
start:catalina.start();責任鏈模式,一層往下一層執行
service.start()
engine.start()
new startchild(child)->child.start()-standardhost
hostconfig.start()
deploywars//根據war包載入專案
deploydirectories//根據資料夾載入專案
child.start()-standardcontext.start()
listenerstart()//載入listener
->getinstancemanager().newinstance(listener)
filterstart()//載入filter
->getinstancemanager().newinstance(filter)
loadonstartup(findchildren())//載入servlet
-> instancemanager.newinstance(servletclass);
tomcat原始碼初識一 tomcat整理流程圖
tomcat原始碼初識二 用文字描述整體流程
tomcat原始碼初識三 tomcat如何實現熱載入與熱部署
tomcat原始碼初識四 tomcat如何打破雙親委派
tomcat原始碼初識五 tomcat如何處理http請求
TOMCAT原始碼學習所得(二)
這裡主要學習工具類,digester和convertutils,stringtokenizer,file類的3個獲取路徑的方法 1.stringtokenizer 如果為字串的簡單分隔,那麼如果由split方法來分隔字串,效率必然低下 其引數被識別為正規表示式 這時,我們可以使用stringtoke...
Tomcat原始碼分析
本文將會介紹tomcat的原始碼,並給出一些分析。org.apache.catalina.startup.bootstrap 該類是tomcat啟動的入口類,包含有main方法。它的主要工作包括 引數解析 環境變數讀取 設定 類載入器初始化 通過反射的方式來呼叫catalina。org.apache...
Tomcat 原始碼分析
tomcat 原始碼分析 bootstrap 引導過程 1 初始化自定義的類載入器 common shared catalina 2 建立並例項化第乙個元件類 catalina tomcat 元件體系 server service connector engine host context 實現li...