Servlet 生命周期
Servlet 内的方法有以下几个:
init()方法
在实例化的过程中,HttpServlet 中的 init()方法会被调用
init()方法
在实例化的过程中,HttpServlet 中的 init()方法会被调用
doGet()/doPost()/service()方法
doGet()在以 get 方式请求 Servlet 时运行。常见的 get 请求方式有:链接、get 方式表单提交、直接访问 Servlet
doPost()在以 post 方式请求 Servlet 时运行
doGet()在以 get 方式请求 Servlet 时运行。常见的 get 请求方式有:链接、get 方式表单提交、直接访问 Servlet
doPost()在以 post 方式请求 Servlet 时运行
destroy()方法
destroy()方法在 Servlet 实例消亡时自动调用。在 Web 服务器运行 Servlet 实例时,会因为一些原因,Servlet 对象会消亡。如果在此 Servlet 消亡之前,还必须进行某些操作,比如释放数据库连接以节省资源等,这时就可以重写 destroy()方法
destroy()方法在 Servlet 实例消亡时自动调用。在 Web 服务器运行 Servlet 实例时,会因为一些原因,Servlet 对象会消亡。如果在此 Servlet 消亡之前,还必须进行某些操作,比如释放数据库连接以节省资源等,这时就可以重写 destroy()方法
package TestServlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet {
public HelloServlet() {
System.out.println("构造方法--");
}
public void destroy() {
System.out.println("销毁helloservlet--");
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.println("helloservlet,你好!");
System.out.println("helloservlet--");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
public void init() throws ServletException {
// Put your code here
System.out.println("初始化方法--");
}
}
结果