原文地址:https://www.cnblogs.com/shawshawwan/p/9002126.html
0.基础知识
在idea中打开servlet的源码:
可以看见servlet就是一个接口;接口就是规定了一些规范,使得一些具有某些共性的类都能实现这个接口,从而都遵循某些规范。
有的人往往以为就是 servlet 直接处理客户端的 http 请求,其实并不是这样,servlet 并不会去监听8080端口;直接与客户端打交道是“容器”,比如常用的 tomcat。
客户端的请求直接打到 tomcat,它监听端口,请求过来后,根据url等信息,确定要将请求交给哪个 servlet 去处理,然后调用那个 servlet 的 service 方法,service 方法返回一个response对象,tomcat再把这个response返回给客户端。
1\. Servlet的生命周期
从创建到毁灭:
1调用 init() 方法初始化
2调用 service() 方法来处理客户端的请求
3调用 destroy() 方法释放资源,标记自身为可回收
4被垃圾回收器回收
由上面可以看见,servlet的init方法和destroy方法,一般容器调用这两个方法之间的过程,就叫做servlet的生命周期。
调用的整个过程就如上图所示。
当请求来容器第一次调用某个servlet时,需要先初始化init(),