JavaWeb13.4【Tomcat&Servlet:Servlet中的生命週期方法】
阿新 • • 發佈:2021-06-29
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 5 version="3.1"> 67 <!--配置Servlet--> 8 <servlet> 9 <servlet-name>demo1</servlet-name> 10 <servlet-class>com.haifei.servlet.ServletDemo1</servlet-class> 11 </servlet> 12 <servlet-mapping> 13 <servlet-name>demo1</servlet-name> 14 <url-pattern>/demo1</url-pattern> 15 </servlet-mapping> 16 17 <servlet> 18 <servlet-name>demo2</servlet-name> 19 <servlet-class>com.haifei.servlet.ServletDemo2</servlet-class> 20 21 <!--指定Servlet的建立時機 22 1.第一次被訪問時,建立23 * <load-on-startup>的值為負數,預設值-1 24 * 比如-5,則首次訪問http://localhost:8080/day13_tomcat/demo2時才輸出init.... 25 2.在伺服器啟動時,建立 26 * <load-on-startup>的值為0或正整數 27 * 比如5,則啟動tomcat時,控制檯就輸出init.... 28 --> 29 <load-on-startup>-5</load-on-startup> 30 </servlet> 31 <servlet-mapping> 32 <servlet-name>demo2</servlet-name> 33 <url-pattern>/demo2</url-pattern> 34 </servlet-mapping> 35 36 </web-app>
1 package com.haifei.servlet; 2 3 import javax.servlet.*; 4 import java.io.IOException; 5 6 /** 7 * Servlet的方法 8 */ 9 public class ServletDemo2 implements Servlet { 10 // private int age = 3; 11 12 /** 13 * 初始化方法 14 * 在Servlet被建立時執行。只會執行一次 15 * @param servletConfig 16 * @throws ServletException 17 */ 18 @Override 19 public void init(ServletConfig servletConfig) throws ServletException { 20 System.out.println("init...."); 21 /* 22 tomcat啟動,第一次訪問http://localhost:8080/day13_tomcat/demo2 23 --> init.... 24 service..... 25 26 重新整理頁面,再訪問該頁面 27 --> service..... 28 */ 29 } 30 31 /** 32 * 獲取ServletConfig物件 33 * ServletConfig:Servlet的配置物件 34 * @return 35 */ 36 @Override 37 public ServletConfig getServletConfig() { 38 return null; 39 } 40 41 /** 42 * 提供服務方法 43 * 每一次Servlet被訪問時執行。執行多次 44 * @param servletRequest 45 * @param servletResponse 46 * @throws ServletException 47 * @throws IOException 48 */ 49 @Override 50 public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { 51 System.out.println("service....."); 52 } 53 54 /** 55 * 獲取Servlet的一些資訊,版本,作者等等。。 56 * @return 57 */ 58 @Override 59 public String getServletInfo() { 60 return null; 61 } 62 63 /** 64 * 銷燬方法 65 * 在伺服器正常關閉時執行,執行一次。 66 * 非正常關閉:比如直接x掉tomcat的dos啟動視窗,此時不會呼叫該方法 67 */ 68 @Override 69 public void destroy() { 70 System.out.println("destroy....."); 71 /* 72 控制檯 點選空色方塊 stop tomcat 73 --> destroy..... 74 */ 75 } 76 }