Servlet 生命周期 :java
Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接口的 Java 类。Web 应用程序开发人员一般编写 Servlet 来扩展 javax.servlet.http.HttpServlet,并实现 Servlet 接口的抽象类专门用来处理 HTTP 请求。( javax.servlet.Servlet 接口、java.servlet.GenericSerlvet 抽象类、java.servlet.Http.HttpServlet 抽象类)ide
package javax.servlet; import java.io.IOException; public interface Servlet {
//Servlet 实例初始化完成后 (Servlet 为单实例,仅包含一个实例),将进入 init 函数,而且只执行一次 void init(ServletConfig var1) throws ServletException;
// 获取 ServletConfig 对象,该对象包括当前 Servlet 实例相关信息 ServletConfig getServletConfig();
//任何一次请求,都将进入 service 方法 void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException; String getServletInfo();
// 当 tomacat 关闭时,将执行该方法 void destroy(); }
ServletDemo 类实现 java.servlet.Servlet 接口:
import javax.servlet.*; import java.io.IOException; public class ServletDemo implements Servlet { private transient ServletConfig servletConfig; public ServletDemo() { System.out.println("constructor"); System.out.println(this.hashCode()); } @Override public void init(ServletConfig servletConfig) throws ServletException { this.servletConfig = servletConfig; System.out.println("init"); } @Override public ServletConfig getServletConfig() { return this.servletConfig; } @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println(this.hashCode()); } @Override public String getServletInfo() { return null; } @Override public void destroy() { System.out.println("destroy"); } }