Servlet的生命周期

Servlet是服务器端小程序,因此生命周期受web容器(也可看作是服务器)的控制。

  Servlet的生命周期分:加载程序、初始化、服务、销毁、卸载5个部分。

 

  a.加载Servlet (构造方法)

    Web容器负责加载Servlet,当WEB容器启动时或第一次使用SERVLET时,容器会负责创建Servlet实例(需配置web.xml指定servlet的位置),成功加载后,web容器会通过映射的方式对Servlet进行实例化。

  b.初始化 (init()方法)

    当servlet被实例化后,容器将调用init()方法初始化这个对象。

    初始化包括建立数据库连接、读取源文件信息等。

    如初始化失败,则此Servlet将被直接卸载(注意,不是直接销毁,而是直接卸载)。

 

  c.处理服务 (service()方法)

    当有请求提交时,servlet调用service()方法(常用的有doGet()和doPost())进行处理。

    在service()中,可通过ServletRequest接收客户的请求,也可通过ServletResponse响应客户信息。

 

  d.销毁 destory()

    当WEB容器关闭或检测到一个Servlet要从容器中被删除时,会自动调用destory()方法,释放实例所占用的资源。(注意:销毁servlet实例,并不是删掉了servlet实例)

 

  e.卸载

    在销毁后,该实例将等待被垃圾收集器回收,如在被回收前再次使用此servlet,会重新用init()方法初始化。

 

  需要提醒的是:

  在正常情况下,Servlet只会初始化一次,而处理服务会调用多次,销毁也只会调用一次。但如果一个servlet长时间不使用,也会被容器自动销毁,而如果需要再次使用时会重新进行初始化的操作,即在特殊情况下初始化可能会进行多次,销毁也可能进行多次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值