Servlet的生命周期
1)生命周期包含的阶段
1、创建
2、初始化
3、服务(运行)
4、销毁
2)创建
Servlet类被加载并实例化的过程
1、创建的时机
- 默认情况:当用户第一次访问一个Servlet映射的路径时,服务器会加载对应的Servlet并实例化;后续用户多次访问同一个路径时,服务器都会使用同一个Servlet实例来响应用户的请求。这样的设计可以提高服务器的效率,节省内存。
2、配置︰
-
-
如果该配置的值大于等于0,服务器启动后马上加载和实例化该Servlet
3)初始化
1、当一个Servlet被实例化之后,服务器会马上调用它的init()方法,执行初始化的逻辑
2、init()方法默认没有任何代码,开发者如果希望servlet被实例化之后,马上执行什么逻辑,就可以写入到init方法中
4)服务
1、每当有用户请求一个Servlet,服务器都会调用该Servlet的service()方法来处理用户的本次请求
2、servcie()在Servlet的生命周期中会被调用多次
5)销毁
1、当服务器关闭或者当前web应用被移出容器时,服务器会调用一个servlet的destory()方法,执行servlet销毁前的逻辑
2、该方法默认是空白的,开发者需要一个servlet在销毁前执行哪些操作,就可以重写该方法,填入对应的逻辑
6)面试中的回答
1、4个阶段说清楚:创建、初始化、服务、销毁
2、创建: Servlet什么时候被加载和实例化?
- 分2种情况:①初始化和销毁,都只执行1次,
②服务会执行多次