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>