JavaWeb13.4【Tomcat&Servlet:Servlet中的生命周期方法】
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"> 6 7 <!--配置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 }