我在这里有点困惑。在我们的应用程序中,我们定义了一些servlet。下面是其中一个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>
的值必须是一个正整数才能自动加载。我在谷歌上查找,但我遇到的回复只会增加我的困惑。
发布于 2009-05-01 00:47:59
它指示在请求尝试访问servlet之前不会启动它。
如果load- on -startup大于或等于0,那么当容器启动时,它将按照您设置的load on startup值的升序启动servlet (例如,0、1、2、5、10,依此类推)。
发布于 2011-12-20 17:48:25
正如在其他答案中所述,这个servlet 0是可以接受的,如果没有任何其他load-on-startup article,这将在加载和部署期间优先加载。load-on statup的最佳用途是在第一个请求到来之前加载需要更长时间初始化的servlet,比如创建连接池或进行网络调用或占用大量资源的servlet,这将显著减少最初几个请求的响应时间。
发布于 2010-12-29 18:52:47
是的,它可以有相同的value....the,给启动时加载编号的原因是定义服务器加载所有servlet的顺序。值为0的servlet将首先加载,值为1的servlet将在此之后加载。
如果两个servlet在启动时加载的值与相同,那么将按照从上到下在web.xml中声明它们的方式进行加载。首先加载web.xml中最先出现的servlet,然后再加载另一个servlet。
https://stackoverflow.com/questions/809775
复制相似问题