Java面试经典:Servlet生命周期

关于Servlet的生命周期一直是java面试中的经典问题:经常被问到“请你大体描述以下java中servlet的生命周期”这样的问题。大体总结以下:


回答要点:

1.只有一个Servlet对象(要点)

2.第一次请求的时候被初始化,只此一遍

3.初始化后先调用init方法,只此一遍

4.每个请求,调用一遍service -> service -> doGet/doPost。以多线程的方式运行

5.卸载前调用destroy方法


具体描述:

  只存在一个Servlet对象,在有客户端请求时才进行初始化,也只初始化一次,在destroy之前,所有的请求不再初始化。初始化完成后调用init方法,同初始化一样,init方法也只调用一次。接下来对于每个请求先调用公有的service方法,然后公有的service方法再调用私有的service方法,私有的service方法根据客户端的请求方式调用doGet或者doPost方法。这个过程是通过多线程来实现的,也就是每一次请求就会执行一次这样的顺序。在卸载容器时会调用destroy方法销毁Servlet对象。





你可能感兴趣的:(java,多线程,servlet,面试,service)