LifeServlet.java:
package cn.itcast.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LifeServlet extends HttpServlet {
public LifeServlet() {
System.out.println("construction");
}
public void init() throws ServletException {
System.out.println("in init");
}
public void service(HttpServletRequest arg0, HttpServletResponse arg1)
throws ServletException, IOException {
System.out.println("in service");
}
public void destroy() {
System.out.println("in destroy");
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
}
public void doPos(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
}
}
web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<servlet>
<servlet-name>helloWorldServlet</servlet-name>
<servlet-class>cn.itcast.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloWorldServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>LifeServlet</servlet-name>
<servlet-class>cn.itcast.servlet.LifeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LifeServlet</servlet-name>
<url-pattern>/LifeServlet</url-pattern>
</servlet-mapping>
</web-app>
验证:
要能够验证到destroy的话,则是需要在工程中重新Redeploy
servlet生命周期:servlet当第一次访问的时候,构造方法执行,创建servlet 实例,会调用init方法完成初始化操作。会开启一个线程,去调用service方法。当下次再被访问时,servlet会再次开启一个线程去调用service方法。也就是说:servlet实例会常驻内存,init方法只被调用一次。service方法是每一次请求开启一个线程来调用service方法。destroy方法只有servlet关闭时,会被调用,用于销毁servlet...