1 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個贊
load-on-startup只是web.xml中一個配置,其意義表示是否在web應(yīng)用啟動后立即加載該servlet。
load-on-startup >=0
時,表示在web應(yīng)用啟動后立即加載,其中l(wèi)oad-on-startup的值越小,表示加載的優(yōu)先級越高,如果兩個servlet的load-on-startup值相同,則其加載優(yōu)先級有容器決定;load-on-startup 未配置時,則該servlet的加載由容器決定;
需要特別說明一下,如你所說,配置load-on-startup后,servlet在startup后立即加載,但只是調(diào)用servlet的init()方法,用以初始化該servlet相關(guān)的資源。初始化成功后,該servlet可響應(yīng)web請求;如未配置load-on-startup,容器一般在第一次響應(yīng)web請求時,會先檢測該servlet是否初始化,如未初始化,則調(diào)用servlet的init()先初始化,初始化成功后,再響應(yīng)請求。
PS:一般我們在開發(fā)web應(yīng)用時,都會配置這個參數(shù),有兩個好處:1、如果初始化過程失敗,則容器會提示啟動失敗,此時我們能夠提前知道相關(guān)錯誤;2、配置該參數(shù)相當(dāng)于將初始化servlet的工作轉(zhuǎn)移到容器啟動過程,使得容器只要啟動成功后,就可立即響應(yīng)web請求。
添加回答
舉報