当客户端首次发送第一次请求后,由容器(web服务器(tomcat))去解析请求,根据请求找到对应的servlet,判断该类的对象是否存在,不存在则创建servlet实例,调取init()方法进行初始化操作,初始化完成后调取service方法,由service()判断客户端的请求方式,如果是get请求,则执行doGet()方法,如果是post请求,则执行doPost()方法。处理方法后,作出相应结果给客户端。单次请求处理完毕。
当客户端发送第二次以后的请求时,会判断对象是否存在,但是不再执行init(),而直接执行service()方法,调取doGet()/doPost()方法。
当服务器(tomcat)关闭时调取destroy()方法进行销毁。
简单来说就是四个过程:
(1)实例化 --先创建servlet实例
(2)初始化 --init()
(3)处理请求 --service()
(4)服务终止 --destroy()
看图: