Servlet/Tomcat/ Spring 之间的关系

原文地址: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(),