概念      

Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:

  • Servlet 通过调用 init () 方法进行初始化。
  • Servlet 调用 service() 方法来处理客户端的请求。
  • Servlet 通过调用 destroy() 方法终止(结束)。
  • 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

 Servlet 生命周期方法

   

Servlet 的四个重要的生命周期方法
构造方法 创建 Servlet对象 时被调用,只调用了1次,证明了servlet是单例的。
init () 方法 创建完对象之后调用的,只调用了1次,该方法用于初始化对象。
service() 方法 在每次请求时调用,调用n次。该方法为入口方法,我们的逻辑代码在这里被调用。
destroy() 方法 在servlet对象销毁之后调用,只调用了1次。重新部署网站或停止服务器,servlet对象就会销毁。

伪代码演示tomcat服务器调用四个方法:

字符串:gz.itcast_servlet.HelloWorld

  • 通过反射,创建HelloServlet对象
    ①得到HelloServlet的Class对象
            Class clazz = Class.forName("gz.itcast_servlet.HelloWorld");
    ②通过class对象调用构造方法
             Object obj = clazz.newlnstance();    --调用无参的构造方法
  • 通过反射,得到init方法
    ①得到init方法对象
             Method m = clazz.getDeclareMethod("init",ServletConfig.class);
    ②调用方法
             m.invoke(obj,config);
  • 通过反射,得到service方法
    ①得到service方法对象
             Method m = clazz.getDeclareMethod("service",HttpServletRequest.class,HttpServletResponse.class);
    ②调用方法
             m.invoke(obj,request,response);
  • 通过反射,调用destroy方法
    ①得到destroy方法对象
             Method m = clazz.getDeclareMethod("destroy",null);
    ②调用方法
             m.invoke(obj,null);

架构图

Servlet学习----servlet 生命周期

 

相关文章: