首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与启动时加载值混淆

与启动时加载值混淆
EN

Stack Overflow用户
提问于 2013-05-16 03:01:59
回答 2查看 743关注 0票数 0

当我们在web.xml中提到任何servlet为loadOnStartup时,它的init方法在应用程序启动时被调用。

代码语言:javascript
复制
<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?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-16 03:04:08

0是最高优先级。

如果只有一个servlet,则看不出其中的区别。

ServletName load-on-start-up_value

代码语言:javascript
复制
Servlet1            4(3)

Servlet2            6(4)

Servlet3            3(2)

Servlet4            2(1)

首先创建Servlet4对象,然后创建Servlet3对象,然后创建Servlet1和Servlet2对象。

如果您提供-1,它将被忽略

票数 3
EN

Stack Overflow用户

发布于 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值表示最高优先级,依此类推。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16573007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档