我在这里有点困惑。在我们的应用程序中,我们定义了一些 servlet。web.xml以下是其中一个 servlet的摘录:
web.xml
<servlet> <servlet-name>AxisServlet</servlet-name> <display-name>Apache-Axis Servlet</display-name> <servlet-class>com.foo.framework.axis2.http.FrameworkServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet>
据我了解,它的值<load-on-startup>必须是一个正整数才能自动加载。我在谷歌上查找,但我遇到的回复只会让我更加困惑。
<load-on-startup>
Resin 3.0记录了这种行为:
load-on-startup 可以指定一个(可选的)整数值。如果该值为 0 或更大,则表示加载 servlet 的顺序,编号较大的 servlet 在编号较小的 servlet 之后加载。
JSP 3.1 规范(JSR 340) 在第 14-160 页这样说:
该元素load-on-startup指示应该在 Web 应用程序启动时加载(实例化并调用它的 init())这个 servlet。此元素的元素内容必须是一个整数,指示应加载 servlet 的顺序。如果该值为负整数,或者该元素不存在,则容器可以在选择时自由加载 servlet。如果该值为正整数或 0,则容器必须在部署应用程序时加载并初始化 servlet。容器必须保证在标有大整数的 servlet 之前加载标有小整数的 servlet。容器可以选择加载相同load-on-startup值的 servlet 的顺序。
load-on-startup
您可能不仅要检查 JSR,还要检查 Web 容器的文档。可能存在差异