当我们在web.xml中提到任何servlet为loadOnStartup时,它的init方法在应用程序启动时被调用。
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd version="3.0">
<servlet>
<servlet-name>SimpleServlet</servlet-name>
<servlet-class>app01c.SimpleServlet</servlet-class>
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SimpleServlet</servlet-name>
<url-pattern>/simple</url-pattern>
</servlet-mapping>
</web-app>
<load-on-startup>10</load-on-startup>在这里,值10意味着什么?如果我把它改成5,会发生什么?拥有较少的值将使其更早加载?如果是,如果是0,是最早的吗?我有点困惑,因为我在谷歌上发现了一些在启动时加载的积极值,让它在启动时加载。这个正数是否大于0?0值是否等同于启动时加载中的nothing?
发布于 2013-05-16 03:04:08
0是最高优先级。
如果只有一个servlet,则看不出其中的区别。
ServletName load-on-start-up_value
Servlet1 4(3)
Servlet2 6(4)
Servlet3 3(2)
Servlet4 2(1)首先创建Servlet4对象,然后创建Servlet3对象,然后创建Servlet1和Servlet2对象。
如果您提供-1,它将被忽略
发布于 2014-05-30 18:38:02
默认情况下,servlet对象是在您向servlet发出第一个请求时创建的,但如果要在加载时(或启动时)创建servlet对象,则可以在web.xml中提供<load-on-startup></load-on-startup>值。
<load-on-startup></load-on-startup>是servlet方面的。如果您的应用程序中有两个servlet,那么您需要为每个servlet提供<load-on-startup></load-on-startup>值。
<load-on-startup></load-on-startup>值为0或任何正整数。如果您将<load-on-startup>10</load-on-startup>值设置为10,并且只有一个servlet,那么它不会影响任何事情,但是如果您有超过1个servlet,则0值表示最高优先级,依此类推。
https://stackoverflow.com/questions/16573007
复制相似问题