首先启动
servlet
容器,这个时间段会调用
ServletContextListener
监听器,然后
1)
调用
web.xml
配置中
servlet
类的构造函数创建实例
2)
调用
HttpServlet
的
init
方法,或者子类
Servlet
重写的
init()
方法。
3)
有请求到达容器,容器调用
servlet
对象的
service()
方法,
HttpServlet
的
service()
方法,
会依据请求方式来调用
doGet()
戒者
doPost()
方法,
但是,这两个
do
方法默认情况下,会
抛出异常,需要子类去
override
4)
销毁
容器依据自身的算法,将丌再需要的
servlet
对象删除掉。
在删除乊前,会调用
servlet
对象的
destroy()
方法。
destroy()
方法用于释放资源。
在
servlet
的整个生命周期当中,
init
和
destroy
只会执行一次,而
service
方法会执行多次
首先启动
servlet
容器,这个时间段会调用
ServletContextListener
监听器,然后
1)
调用
web.xml
配置中
servlet
类的构造函数创建实例
2)
调用
HttpServlet
的
init
方法,或者子类
Servlet
重写的
init()
方法。
3)
有请求到达容器,容器调用
servlet
对象的
service()
方法,
HttpServlet
的
service()
方法,
会依据请求方式来调用
doGet()
戒者
doPost()
方法,
但是,这两个
do
方法默认情况下,会
抛出异常,需要子类去
override
4)
销毁
容器依据自身的算法,将丌再需要的
servlet
对象删除掉。
在删除乊前,会调用
servlet
对象的
destroy()
方法。
destroy()
方法用于释放资源。
在
servlet
的整个生命周期当中,
init
和
destroy
只会执行一次,而
service
方法会执行多次
servlet生命周期
首先启动servlet容器,这个时间段会调用ServletContextListener监听器,然后
1) 调用web.xml配置中servlet类的构造函数创建实例
2) 调用HttpServlet的init方法,或者子类Servlet重写的init()方法。
3) 有请求到达容器,容器调用servlet对象的service()方法, HttpServlet的service()方法,会依据请求方式来调用doGet()戒者doPost()方法, 但是,这两个do方法默认情况下,会抛出异常,需要子类去override
4) 销毁 容器依据自身的算法,将丌再需要的servlet对象删除掉。 在删除乊前,会调用servlet对象的destroy()方法。 destroy()方法用于释放资源。
在servlet的整个生命周期当中,init和destroy只会执行一次,而service方法会执行多次