天天看點

Servlet生命周期

Servelt生命周期

生命周期:通俗來說就是從出生到死亡。(從建立到銷毀)

對象的生命周期:對象建立到銷毀的過程

servlet對象的建立:預設情況下是使用者第一次請求這個Servlet的時候會被建立,當然也可以設定(配置)它的loadOnStartup屬性,loadOnStartup=1隻要是設定為正整數就會在伺服器(tomcat)一啟動就會建立

servlet如何處理使用者請求:使用者每一次請求都會(建立新的線程)執行servlet的service方法處理使用者的請求     使用者每一次請求---對應一個線程(tomcat幫你建立)

servlet對象銷毀:servlet被銷毀了之前調用 ,關閉伺服器(tomcat)之前會調用這個destroy方法,關閉伺服器的時候會自動調用這個destroy方法

 注意:

1.Servelt對象是一個單例對象

2.每一次使用者請求   --------   一個線程

代碼如下:

public class ServletDemo1 implements Servlet {
    //servlet是一個單例對象
    //servlet生命周期
    //servlet初始化  對象建立之後會立馬執行
    //servlet預設情況下是在使用者第一次去請求這個servlet請求的時候被建立,
    // 建立的時候會執行init方法,init方法隻會被執行一次,servlet隻會被建立
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("servletDemo1被建立了");
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }
//servlet的service方法:處理使用者請求的方法(處理請求),每一次使用者請求都會執行這個方法
    //使用者每一次請求都會建立新的線程去執行servlet裡面的service方法處理請求
    //使用者每一次請求---對應一個線程(tomcat幫你建立)
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("Servlet..................");
    }

    @Override
    public String getServletInfo() {
        return null;
    }
    //servlet被銷毀了之前調用
    //關閉伺服器(tomcat)之前會調用這個destroy方法,關閉服務的時候會自動調用這個destroy方法
    @Override
    public void destroy() {
        System.out.println("servletDemo1被銷毀了");
    }
}      

在web.xml中配置如下:

<servlet>
    <servlet-name>ServletDemo1</servlet-name>
    <servlet-class>com.swlz.web.ServletDemo1</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ServletDemo1</servlet-name>
    <url-pattern>/servletDemo1</url-pattern>
</servlet-mapping>