web.xml中 筆記

web.xml示例

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <servlet>
        <servlet-name>springDispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springDispatcherServlet</servlet-name>
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>
</web-app>

在配置spring mvc 的DispatcherServlet 時,有時會配置
< load-on-startup>1< /load-on-startup>

該配置的作用:
英文註釋爲:
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.

總結幾點大致爲:

  • load-on-startup元素 標記容器是否在啓動的時候就加載這個servlet(實例化並調用其init()方法)。
  • 它的值必須是一個整數,表示servlet應該被載入的順序
  • 當值爲0或者大於0時,表示容器在應用啓動時就加載並初始化這個servlet;
  • 當值小於0或者沒有指定時,則表示容器在該servlet被選擇時(第一次請求時)纔會去加載。
  • 正數的值越小,該servlet的優先級越高,應用啓動時就越先加載。
  • 當值相同時,容器就會自己選擇順序來加載。

    通常大多數Servlet是在用戶第一次請求的時候由應用服務器創建並初始化,但< load-on-startup>n< /load-on-startup> 可以用來改變這種狀況,根據自己需要改變加載的優先級!

原文鏈接:http://www.blogjava.net/xzclog/archive/2011/09/29/359789.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章