在servlet的配置當中,<load-on-startup>6</load-on-startup>的含義是:
標記容器是否在啟動的時候就加載這個servlet。
當值為0或者大于0時,表示容器在應用啟動時就加載這個servlet;
當是一個負數時或者沒有指定時,則指示容器在該servlet被選擇時才加載。
正數的值越小,啟動該servlet的優先級越高。
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.
我以配置數據庫連接為例。
1,web.xml文件的內容如下:
<servlet>
<servlet-name>LoadDBConfigServlet</servlet-name>
<servlet-class>org.svse.action.LoadDBConfigServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
2,配置連接參數的servlet類如下:
public class LoadDBConfigServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
public void init(ServletConfig config) throws ServletException {
InputStream in = LoadDBConfigServlet.class
.getResourceAsStream("/dbconfig.properties");
Properties dbconfig = new Properties();
try {
dbconfig.load(in);
System.out.println("ddd"+dbconfig.getProperty("url"));
DBConfig.driver = dbconfig.getProperty("driver");
DBConfig.url = dbconfig.getProperty("url");
DBConfig.username = dbconfig.getProperty("username");
DBConfig.pwd = dbconfig.getProperty("pwd");
System.out.println("數據配置設置完成!"+DBConfig.driver);
} catch (IOException e) {
e.printStackTrace();
}
}
}
3,DBConfig類如下:
public class DBConfig {
public static String driver;
public static String url;
public static String username;
public static String pwd;
}
4,dbconfig.properties內容如下:
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://localhost:1433;databasename=svse
username=sa
pwd=sa