Servlet的生命周期相关的方法有init(),service(),destroy()
init()方法在实例化Servlet时执行,在整个生命周期中仅执行一次
service()方法是客户端每次请求Servlet都会运行.
destroy()方法是当服务器关闭时或项目被移除时执行,在整个生命周期中仅执行一次
代码演示:
package com.itheima.action; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class ServletDemo12 implements Servlet { @Override /** * Servlet对象实例化的时候init方法就会执行,而且值执行一次.(Servlet是单例的) */ public void init(ServletConfig config) throws ServletException { System.out.println("init方法被执行了..."); } @Override /** * service方法:任何一次请求都会执行service方法,可以执行多次 */ public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { System.out.println("service方法被执行了..."); } @Override /** * Servlet从服务器中移除或服务器关闭的时候销毁Servlet实例,执行一次 */ public void destroy() { System.out.println("ServletDemo12被销毁了..."); } @Override public ServletConfig getServletConfig() { // TODO Auto-generated method stub return null; } @Override public String getServletInfo() { // TODO Auto-generated method stub return null; } }
web.xml的相关配置(不相关的配置忽略):
<servlet> <servlet-name>ServletDemo12</servlet-name> <servlet-class>com.itheima.action.ServletDemo12</servlet-class> </servlet> <servlet-mapping> <servlet-name>ServletDemo12</servlet-name> <url-pattern>/ServletDemo12</url-pattern> </servlet-mapping>