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

本文详细解析了Servlet的生命周期,包括初始化、处理请求、销毁等关键阶段。重点介绍了四个核心方法:构造方法、init()、service()及destroy()的作用及调用时机。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念      

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);

架构图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值