servlet的生命周期

servlet的生命周期就是其从创建到销毁的过程。分为四大阶段:

实例化(为对象分配空间)--> 初始化(为对象的属性赋值)--> 服务阶段(请求响应) --> 销毁

一、实例化

当Web发布时或者第一次使用当前Servlet时,web容器通过.xml文件找到servlet类的位置,通过类加载器加载servlet类,加载成功后,容器通过Java的反射API调用Servlet类的无参构造创建Servlet实例(单例)。

二、初始化

初始化是在Tomcat启动后,第一次启动服务器或客户端访问Servlet时调用init()方法,*在servlet的整个生命周期内仅执行一次此方法,后面不管有多少次请求访问该servlet都不会再调用init()方法。

public void init()throws ServletException {


//初始化代码

}

三、服务阶段

        服务阶段是 Servlet 生命周期中最重要的阶段,在这里Servlet 容器会为这个请求创建代表 Http 请求的 ServletRequest (请求)对象和代表 Http 响应的 ServletResponse(响应)对象,然后将它们作为参数传递给 Servlet 的 service() 方法。
        请求的类型有(get/post/put/delete等)处理方法有(doGet/doPost/doPut/doDelete等*一般都是指向了doGet方法处理)。  service()方法request对象中获取到信息并处理请求,然后通过response对象响应结果。
        在 Servlet 的整个生命周期内,对于 Servlet 的每一次访问请求,Servlet 容器都会调用一次 Servlet 的 service() 方法,并且创建新的 Request 和 Response 对象,也就是说,service() 方法在 Servlet 的整个生命周期中会被调用多次。

public class DemoServlet extends HttpServlet(){
    //举例doGet
    public void doGet(HttpRequest request/*(请求对象)*/,HttpResponse Resoponse/*(响应对象)*/){

            response.getWriter()//response获得的流OutputStream不需要手动关闭,Tomcat容器会帮助我们关闭
    }

}

四、销毁

当服务器关闭或 Web应用被移除出容器时,Servlet 就会调用 Servlet 的 destroy() 方法进行销毁,以便让Servlet对象释放它所占用的资源。在 Servlet 的整个生命周期中,*destroy() 方法也只能被调用一次。

总结:

Serclet的生命周期分为四个阶段:

实例化:是单例的Servlet对象

初始化:只调用一次init()方法。参数配置在Web.xml中或者是注解配置

服务阶段:是Servlet最重要阶段,重点了解Httprequest(请求)和HttpResponse(响应)

销毁:关闭服务器或者Web应用被移除容器时执行destroy()方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l1050188952

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值