Tomcat原始碼初識二 用文字描述整體流程

2021-10-08 07:49:55 字數 1740 閱讀 3754

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...