2013年3月23日星期六

2.Servlet的生命周期

1.通过程序代码我们可以看出Serlet的生命周期。代码如下:
Java代码  收藏代码
  1. package com.taoistwar.jsp.servlet;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. import javax.servlet.ServletConfig;  
  6. import javax.servlet.ServletException;  
  7. import javax.servlet.http.HttpServlet;  
  8. import javax.servlet.http.HttpServletRequest;  
  9. import javax.servlet.http.HttpServletResponse;  
  10.   
  11. /** 
  12.  * @author TaoistWar 
  13.  * 
  14.  */  
  15. @SuppressWarnings("serial")  
  16. public class TestLifeCycleServlet extends HttpServlet {  
  17.       
  18.     public TestLifeCycleServlet() {  
  19.         super();  
  20.         System.out.println(" Construct");  
  21.     }  
  22.       
  23.     @Override  
  24.     public void init(ServletConfig config) throws ServletException {  
  25.         System.out.println(" init");  
  26.     }  
  27.   
  28.     @Override  
  29.     public void destroy() {  
  30.         System.out.println(" destory");  
  31.     }  
  32.   
  33.     @Override  
  34.     protected void doGet(HttpServletRequest request, HttpServletResponse response)  
  35.             throws ServletException, IOException {  
  36.         this.doPost(request, response);  
  37.     }  
  38.   
  39.     @Override  
  40.     protected void doPost(HttpServletRequest request, HttpServletResponse response)  
  41.             throws ServletException, IOException {  
  42.         System.out.println(" method");    
  43.     }  
  44.   
  45. }  
 运行结果为:
Html代码  收藏代码
  1. Construct  
  2. init  
  3. method  
  4. destory  
 另外,Servlet采用的单例模式,也就是一个应用只会实例化一个对象。当再次调用Servlet时也就不会再次调用构造方法、init初始化方法。只有当服务器关闭时才会调用destory方法。

二:结论
     执行顺序为构造方法->init方法->doGet/doPost方法->destroy方法。因此,Servlet的整个生命周期为:加载、实例化、初始化、处理请求、退出请求

没有评论:

发表评论