01Servlet_快速入門=>Servlet生命週期

Servlet中的生命週期方法:

1. 被建立:執行init方法,只執行一次
        * Servlet何時被建立?
            * 默認狀況下,第一次被訪問時,Servlet被建立
            * 能夠配置執行Servlet的建立時機。
                * 在<servlet>標籤下配置
                    1. 第一次被訪問時,建立
                        * <load-on-startup>的值爲負數
                    2. 在服務器啓動時,建立
                        * <load-on-startup>的值爲0或正整數


        * Servlet的init方法,只執行一次,說明一個Servlet在內存中只存在一個對象,Servlet是單例的
            * 多個用戶同時訪問時,可能存在線程安全問題。
            * 解決:儘可能不要在Servlet中定義成員變量。即便定義了成員變量,也不要對修改值

    2. 提供服務:執行service方法,執行屢次
        * 每次訪問Servlet時,Service方法都會被調用一次。
    3. 被銷燬:執行destroy方法,只執行一次
        * Servlet被銷燬時執行。服務器關閉時,Servlet被銷燬
        * 只有服務器正常關閉時,纔會執行destroy方法。
        * destroy方法在Servlet被銷燬以前執行,通常用於釋放資源

建立項目的方法

1建立javaee項目

clipboard.png

2配置tomcat

clipboard.png

clipboard.png

3配置註解

clipboard.png
package cn.itcast.web.servlet;java

import javax.servlet.*;
import java.io.IOException;web

/**tomcat

  • Servlet快速入門

*/
public class ServletDemo1 implements Servlet {安全

@Override
public void init(ServletConfig servletConfig) throws ServletException {

}

@Override
public ServletConfig getServletConfig() {
    return null;
}

//提供服務的方法
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    System.out.println("Hello Servlet");
}

@Override
public String getServletInfo() {
    return null;
}

@Override
public void destroy() {

}

}
package cn.itcast.web.servlet;服務器

import javax.servlet.*;
import java.io.IOException;ide

/**spa

  • Servlet的方法

*/
public class ServletDemo2 implements Servlet {線程

private int age = 3;

/**
 * 初始化方法
 * 在Servlet被建立時,執行。只會執行一次
 * @param servletConfig
 * @throws ServletException
 */
@Override
public void init(ServletConfig servletConfig) throws ServletException {
    System.out.println("init.....");
}

/**
 * 獲取ServletConfig對象
 * ServletConfig:Servlet的配置對象
 * @return
 */
@Override
public ServletConfig getServletConfig() {
    return null;
}

/**
 * 提供服務方法
 * 每一次Servlet被訪問時,執行。執行屢次
 * @param servletRequest
 * @param servletResponse
 * @throws ServletException
 * @throws IOException
 */
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    System.out.println("service.....");
    int number = 3;
}

/**
 * 獲取Servlet的一些信息,版本,做者等等。。
 * @return
 */
@Override
public String getServletInfo() {
    return null;
}

/**
 * 銷燬方法
 * 在服務器正常關閉時,執行,執行一次。
 */
@Override
public void destroy() {
    System.out.println("destroy.....");
}

}code

相關文章
相關標籤/搜索