我在tomcat的webapps的Root文件夹下web.xml里定义了几个servlet,如下,请问tomcat启动时创建这些实例,还是当有用户访问的时候,tomcat才创建servlet的实例。
         <servlet>
<servlet-name>GetName</servlet-name>
<servlet-class>com.ajax.GetNameServlet</servlet-class>
</servlet>
         <servlet>
<servlet-name>GetEvents</servlet-name>
<servlet-class>com.ajax.GetEventsServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GetEvents</servlet-name>
<url-pattern>/GetEvents</url-pattern>
</servlet-mapping>    <servlet>
        <servlet-name>InitServlet</servlet-name>
        <servlet-class>com.application.core.InitServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

解决方案 »

  1.   

    用户第一次访问这个servlet时,创建实例,且只创建一个
    当关掉或reload 这个 web application时,destroy
      

  2.   

    看load-on-startup的配置属性情况而定
    <load-on-startup>1 </load-on-startup>在servlet的配置当中,<load-on-startup的含义是:
    标记容器是否在启动的时候就加载这个servlet。
    当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;
    当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。
    正数的值越小,启动该servlet的优先级越高。