servlet specification,init方法~~~

阅读更多

在前面一篇文章 “【新手记录】servlet的初始 化init方法什么时候被调用? ”中用实例验证了下servlet的init方法何时被调用,虽然有了测试结果。

不过还是感觉不放心,于是到sun官方网站看了下servlet的specification。

 

得到了肯定的答复:

 

首先是J2EE api里对servlet的init方法的说明:

 

init

void init(ServletConfig config)
          throws ServletException
Called by the servlet container to indicate to a servlet that the servlet is being placed into service.
The servlet container calls the init method exactly once after instantiating the servlet. The init method must complete successfully before the servlet can receive any requests.

The servlet container cannot place the servlet into service if the init method

Throws a ServletException
Does not return within a time period defined by the Web server

 

然后又看了下Java™ Servlet Specification Version 2.5 MR6的详细说明

 

The load-on-startup element indicates that this
    servlet should be loaded (instantiated and have
    its init() called) on the startup of the web
    application. The optional contents of these
    element must be an integer indicating the order in
    which the servlet should be loaded. If the value
    is a negative integer, or the element is not
    present, the container is free to load the servlet
    whenever it chooses. If the value is a positive
    integer or 0, the container must load and
    initialize the servlet as the application is
    deployed. The container must guarantee that
    servlets marked with lower integers are loaded
    before servlets marked with higher integers. The
    container may choose the order of loading of
    servlets with the same load-on-start-up value
 
 If the value is a negative integer, or the element is not present, the container is free to load the servlet 
 whenever it chooses. If the value is a positive
 integer or 0, the container must load and  initialize the servlet as the application is  deployed. 

    如果是负数,或者没有标识load-on-startup参数,这个就有容器自己去选择是否加载了。如果是正数或者0,

那么容器在应用部署的时候就必须要初始化这个servlet。

 

 

    好吧,不写或者为负数还是有意外的啊!看来还是找specification查东西靠谱。

 

 

 

你可能感兴趣的:(Servlet,Web,UP,SUN)