web.xml中load-on-startup的做用

以下一段配置,熟悉DWR的再熟悉不過了:
<servlet>
   <servlet-name>dwr-invoker</servlet-name>
   <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
   <init-param>
    <param-name>debug</param-name>
    <param-value>true</param-value>
   </init-param>
   <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
   <servlet-name>dwr-invoker</servlet-name>
   <url-pattern>/dwr/*</url-pattern>
</servlet-mapping>web

咱們注意到它裏面包含了這段配置:<load-on-startup>1</load-on-startup>,那麼這個配置有什麼做用呢?服務器

貼一段英文原汁原味的解釋以下:
Servlet specification:
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.app

翻譯過來的意思大體以下:
1)load-on-startup元素標記容器是否在啓動的時候就加載這個servlet(實例化並調用其init()方法)。jsp

2)它的值必須是一個整數,表示servlet應該被載入的順序this

2)當值爲0或者大於0時,表示容器在應用啓動時就加載並初始化這個servlet;url

3)當值小於0或者沒有指定時,則表示容器在該servlet被選擇時纔會去加載。spa

4)正數的值越小,該servlet的優先級越高,應用啓動時就越先加載。翻譯

5)當值相同時,容器就會本身選擇順序來加載。debug

因此,<load-on-startup>x</load-on-startup>,中x的取值1,2,3,4,5表明的是優先級,而非啓動延遲時間。orm

以下題目:

2.web.xml中不包括哪些定義(多選)

a.默認起始頁

b.servlet啓動延遲時間定義

c.error處理頁面

d.jsp文件改動後從新載入時間

答 :b,d

一般大多數Servlet是在用戶第一次請求的時候由應用服務器建立並初始化,但<load-on-startup>n</load-on-startup>   能夠用來改變這種情況,根據本身須要改變加載的優先級!

相關文章
相關標籤/搜索