java web-6.2Servlet_生命周期方法

Servlet_生命周期方法

1.被创建,执行init方法。执行一次
2.提供服务,执行service方法,执行多次
3.被销毁,执行destroy方法,执行一次
servlet的方法
1.init:初始化方法 。在Servlet被创建时,执行。只会执行一次
2.service:提供服务方法。每一次servlet被访问时候,执行。执行多次
3.destroy:销毁方法。在服务器正常关闭时,执行,执行一次
示例:
代码

public class servletdemo2 implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("init.........");
    }
    @Override
    public ServletConfig getServletConfig() {
        return null;
    }
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("hello servlet22222");
    }
    @Override
    public String getServletInfo() {
        return null;
    }
    @Override
    public void destroy() {
        System.out.println("destroy................");
    }
}

执行多次,控制台结果:
在这里插入图片描述
4.getServletConfig:获取ServletConfig对象。ServletConfig:servlet的配置对象
5.getServletInfo:获取servlet的信息,版本,作者等等

Servlet_生命周期详解

1.被创建,执行init方法。执行一次
(1)servlet什么时候被创建?
①默认情况下,第一次被访问时,servlet被创建
②可以配置执行servlet的创建时机

<servlet>标签下配置
1.第一次被访问是创建<load-on-startup>的值为负数
2.在服务器启动时创建<load-on-startup>的值为0或正数

在这里插入图片描述
(2)servlet的init方法只执行一次,说明一个servlet在内存中只存在一个对象,servlet是单例的。
问题:多个用户同时访问时,可能存在线程安全问题
解决:尽量不要在servlet中定义成员变量。即使定义了成员变量,也不要对其进行赋值
2.提供服务,执行service方法,执行多次
每次访问servlet时候,service都会被调用一次
3.被销毁,执行destroy方法,执行一次
(1)servlet被销毁时执行,服务器关闭,servlet被销毁。
(2)只有服务器正常关闭时候,才会执行destroy方法。
(3)destroy方法在servlet被销毁之前执行,一般用于释放资源

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值