1.servlet对象的产生,是在第一次使用servlet的时候由Tomcat创建,由Tomcat调用构造方法创建的对象。之后再使用这个servlet就直接使用创建好的对象。servlet在Tomcat服务器中是单实例。
2.init()在创建servlet后只调用一次。可以初始化一些公用的函数。通常我们直接使用父类的init就可以,如果在servlet中需要加入一些初始信息,就可以重写init()方法添加初始值。注意这个方法只会在servlet被Tomcat创建之后被调用一次。
3.service()在每次请求servlet时调用。访问几次servlet的URL,就会调用几次方法。这个方法决定具体使用doGet还是doPost。
4.destroy()用来销毁servlet对象时执行。执行的时机是Tomcat停止或者(重启)这个web项目(servlet所在的项目)被重新部署。
这个生命周期指的是Tomcat的启动到停止。
线程问题:
servlet在tomcat服务器中是单实例多线程的,多个线程同时操作了servlet的成员变量,因此尽量不要在servlet类中使用成员变量,如果要使用就封装一个普通java类,在doGet和doPost中new这个普通java类的对象来使用。
标签:生命周期,Tomcat,init,调用,线程,使用,servlet From: https://www.cnblogs.com/460759461-zeze/p/18169507