Sun Java System Application Server Platform Edition 9 发行说明

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

web.xml 中的可选 load-on-startup Servlet 元素表示相关的 Servlet 将在启动对其进行声明的 Web 应用程序期间被装入和初始化。


注 –

此限制仅适用于基于 Servlet 2.4 的 web.xml;可以使用基于 Servlet 2.5 的 web.xml 指定空 load-on-startup 元素。


此元素的可选内容是一个整数,用于表示该 Servlet 相对于 Web 应用程序的其他 Servlet 而被装入和初始化的顺序。空 <load-on-startup/> 表示顺序无关紧要,只要该 Servlet 在其包含的 Web 应用程序启动期间被装入并进行了初始化即可。

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 装入顺序无关紧要。