2017-08-15 32 views
-1

我試圖保證一些servlet上init方法調用的順序。我的想法是爲我想要初始化的第一個servlet指定1的啓動時加載值,爲我想要初始化的第二個servlet的啓動時加載值指定2的值。容器在加載啓動之前如何處理servlet請求?

我的問題是如果在servlet 1初始化完成之前得到servlet 2的請求會發生什麼?

嗨Jarrod, 我不相信我的問題是重複的。 謝謝,查理

+0

澄清

的更多信息,請:在什麼地方回答問題上面註明使用時加載的啓動提供服務,直到時加載的啓動完成了沒有請求任何Servlet所有具有啓動時加載的servlet? – Charlie

回答

-1

在Web應用程序啓動之前,Web應用程序不會處理請求。如果您指定了一個非負數load-on-startup值,這意味着將在Web應用程序啓動過程中發生該方法調用的servlet init()。結果,這樣一個servlet將不會處理任何請求,直到它的init()方法結束。

所以servlet容器將在servlet上調用init(),其中非負load-on-startup(按順序),只有這樣它才能允許它們處理請求。

Tomcat 7具有默認配置延遲在應用程序啓動期間收到的請求(至少在我的情況下)。在Tomcat具體的答案Prevent Tomcat from caching request during starup

+0

謝謝。這回答了我的問題。當指定load-on-startup時,請求無法潛入並觸發init。 – Charlie

+0

請接受答案:) –

相關問題