Servlet执行过程&生命周期详解

1.Servlet定义

servlet 是运行在 Web 服务器中的小型 Java 程序。servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端的请求。 

2.Servlet体系结构

Servlet执行过程&生命周期详解

3.Servlet执行过程

Servlet执行过程&生命周期详解

4.Servlet生命周期

  1. 构造 servlet,然后使用 init 方法将其初始化。
  2. 处理来自客户端的对 service 方法的所有调用。
  3. 从服务中取出 servlet,然后使用 destroy 方法销毁它,最后进行垃圾回收并终止它。 

5.Servlet的线程安全问题

如果有多个客户端并发的访问同一个Servlet,WEB服务器会为每一个客户端的请求创建一个线程,在线程中调用Servlet的service方法,
如果多个线程并发的访问同样的数据,那这个时候就有可能会出现线程的安全问题
解决方案:
把有可能会出现问题的代码扔到同步代码块里面
让Servlet去实现一个接口,SingleThreadModel
尽量减少使用成员变量