Vin*_*ini 173 web.xml servlets java-ee
我在这里有点困惑.在我们的应用程序中,我们定义了一些servlet.以下是web.xml其中一个servlet 的摘录:
<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>
Run Code Online (Sandbox Code Playgroud)
根据我的理解,它的值<load-on-startup>必须是一个正整数才能自动加载.我在谷歌上查了一下,但我遇到的回复只会增加我的困惑.
Edd*_*die 183
Resin 3.0记录了这种行为:
load-on-startup可以指定(可选)整数值.如果值为0或更大,则表示要加载servlet的顺序,具有较高编号的servlet在具有较低编号的servlet之后加载.
在JSP 3.1规范(JSR 340)说,这14-160页:
该元素
load-on-startup表示应该在Web应用程序启动时加载(实例化并调用其init()).此元素的元素内容必须是一个整数,指示应加载servlet的顺序.如果值是负整数,或者元素不存在,则容器可以随时加载servlet.如果值为正整数或0,则容器必须在部署应用程序时加载并初始化servlet.容器必须保证在标记有更高整数的servlet之前加载标有较低整数的servlet.容器可以选择具有相同load-on-startup值的servlet的加载顺序.
您可能不仅要检查JSR,还要检查Web容器的文档.可能存在差异
小智 129
简答:value> = 0表示在部署Web应用程序或服务器启动时加载servlet.value <0:只要容器有问题,就会加载servlet.
答案很长(来自规范):
load-on-startup元素指示应该在Web应用程序的启动时加载(实例化并且调用其init()).这些元素的可选内容必须是一个整数,表示servlet的加载顺序.如果值是负整数,或者元素不存在,则容器可以随时加载servlet.如果值为正128或0,则容器必须在部署应用程序时加载并初始化servlet.容器必须保证在标记有更高整数的servlet之前加载标有较低整数的servlet.容器可以选择具有相同加载启动值的servlet的加载顺序.
cle*_*tus 11
它表示在请求尝试访问它之前不会启动servlet.
如果load-on-startup大于或等于零,那么当容器启动时,它将按照您放在那里的启动时的负载的升序开始该servlet(即0,1然后2然后5然后10等等) .
servlet的生命周期由部署了servlet的容器控制.当请求映射到servlet时,容器执行以下步骤.
如果servlet的实例不存在,则Web容器:
一个.加载servlet类
湾 创建servlet类的实例
C.通过调用init方法初始化servlet实例(初始化在创建和初始化Servlet中介绍)
0值load-on-startup表示当请求到达该servlet时执行第1点.其他值表示在容器启动时执行第1点.
| 归档时间: |
|
| 查看次数: |
264944 次 |
| 最近记录: |