1. 程式人生 > >Tomcat 3.0版本的一些說明 以及 servlet 生命週期的簡單介紹

Tomcat 3.0版本的一些說明 以及 servlet 生命週期的簡單介紹

1.在Eclipse 內部可以把Tomcat 版本設定成3.0 這樣就可以省略掉書寫web.xml 檔案


2.在接下來的操作過程中以下專案不要勾選


3.這個時候可以觀察project Exploer中,WEB-INF 底下的lib 是沒有所謂的 web.xml 這個檔案

.

3.然後在src 底下建立一個servlet 並對其進行一些簡單的配置


4.可以選中以下這些的,後面對servlet 執行的週期會進行說明

.

5.程式碼如下:內部可以設定成一個@WebServlet(urlPatterns="/FristServlet",loadOnStartup=0)  其中loadOnStartup (1.)可以不進行設定,也就是預設,預設值為一個負數,此時執行Tomcat 控制檯不會有任何輸出,當你在瀏覽器輸入http://localhost/day25/FristServlet時,控制檯會輸出:  例項化--  初始化--  demo--最後當在servers 右擊stop 時,控制檯還會顯示 銷燬。(2.)當你對loadOnStartup 進行設定時,比如loadOnStartup=0;或者正數,這時啟動Tomcat 會發現控制檯會打印出  例項化-- 初始化 ,在瀏覽器輸入http://localhost/day25/FristServlet 時,控制檯會相應的輸出 demo ,最後當在servers 右擊stop 時,控制檯還會顯示銷燬。當然數字越大,啟動Tomcat 後相應的例項化、初始化、也會變慢。

package com.lin.servlet;

import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Tomcat設定為3.0
 */
@WebServlet(urlPatterns="/FristServlet",loadOnStartup=0)
public class FristServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public FristServlet() {
        super();
        System.out.println("例項化");
    }
	public void init(ServletConfig config) throws ServletException {
		System.out.println("初始化");
	}

	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("demo");
	}
	
	public void destroy() {
		System.out.println("銷燬");
	}
}

6.以上說明的就是servlet 的一個週期問題:可以做如下總結:

servlet生命週期:

Servlet在第一次被訪問時建立Servlet例項, 建立之後伺服器會立即呼叫init方法進行初始化的操作, 建立之後, Servlet例項會一直駐留在伺服器的記憶體中, 為後續的請求服務. 只要有請求來訪問這個Servlet, 伺服器就會呼叫service方法來處理請求, 直到伺服器關閉, 或者WEB應用被移出容器, 隨著WEB應用的銷燬, Servlet例項也會跟著銷燬, 在銷燬之前伺服器會呼叫destroy方法進行善後的處理.