適用於 Microsoft Windows 的 Sun Java System Application Server Enterprise Edition 8.2 版本說明

無法使用基於 Servlet 2.4 且包含空 <load-on-startup> 元素的 web.xml 部署 WAR (ID 6172006)

web.xml 檔案中的選擇性 load-on-startup servlet 元素表示在宣告該 servlet 的 Web 應用程式啟動過程中,將要載入關聯的 servlet 並將其初始化。

該元素的可選內容是一個整數,表示要載入並初始化與 Web 應用程式之其他 servlet 相關的 servlet 的順序。空的 <load-on-startup> 元素表示順序無關緊要,只要是在 servlet 所含 Web 應用程式的啟動過程中將該 servlet 載入並初始化即可。

web.xml 的 Servlet 2.4 模式不再支援空的 <load-on-startup>,這意味著在使用基於 Servlet 2.4 的 web.xml 檔案時,必須指定一個整數。如果指定空 <load-on-startup> (與 <load-on-startup/> 中相同),web.xml 檔案將無法針對 web.xml 的 Servlet 2.4 模式進行驗證,進而導致部署 Web 應用程式失敗。

向下相容性問題。指定空的 <load-on-startup> 仍可使用基於 Servlet 2.3 的 web.xml

解決方案

使用基於 Servlet 2.4 的 web.xml 時,指定 <load-on-startup>0</load-on-startup>,以表示 servlet 載入順序並不重要。