1. 程式人生 > >loadOnStartup & load-on-startup

loadOnStartup & load-on-startup

Servlet是單例物件 整個tomcat執行階段只有一個物件,預設情況第一次訪問的時候呼叫無引數的構造器建立物件,如果在web.xml檔案中配置類標籤<load-on-startup> 該物件的Servlet會隨著tomcat的啟動建立。(或在註解,tomcat啟動專案的時候會自動掃描所有Servlet檔案,有註冊會把註解和類關聯記錄loadOnStartup該servlet物件隨tomcat啟動而建立,值表示建立的優先順序值越小越先建立(負數是第一次訪問的時候建立(預設的))) 註解等價於web.xml的配置

package com.briup.web.Servelt;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/*
 * 註解等價於web.xml的配置
 * <servlet>
    <servlet-name>four</servlet-name>
    <servlet-class>com.briup.web.Servelt.FourServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>four</servlet-name>
    <url-pattern>/FourSer</url-pattern>
  </servlet-mapping>
 * 
 * 註解,tomcat啟動專案的時候
 * 會自動掃描所有Servlet檔案,
 * 有註冊會把註解和類關聯記錄
 * loadOnStartup該servlet物件隨tomcat啟動
 * 而建立,值表示建立的優先順序
 * 值越小越先建立(負數是第一次訪問
 * 的時候建立(預設的))
 */
//@WebServlet("/FourSer")
@WebServlet(urlPatterns={"/FourSer",
		"/FS"},name="fourTT",
		loadOnStartup=0)
public class FourServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	/*
	 * 1.Servlet是單例物件,整個tomcat執行
	 * 階段只有一個物件,預設情況
	 * 第一次訪問的時候呼叫無引數的
	 * 構造器建立物件,如果在web.xml檔案
	 * 中配置類標籤<load-on-startup> 該物件
	 * 的Servlet會隨著tomcat的啟動建立
	 * 2.構建物件之後呼叫init方法初始化
	 * 3.直接呼叫service方法,傳入封裝
	 * 好的ServletRequest物件和
	 * ServletResponse物件
	 * 4.tomcat正常關閉呼叫destory方法
	 */
	public FourServlet() {
		System.out.println("FourServlet create");
	}
	@Override
	public void destroy() {
		System.out.println("destroy......");
	}
	@Override
	public void init() throws ServletException {
		System.out.println("init.....");
	}
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("service......");
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}