Servlet执行过程&生命周期详解
1.Servlet定义
servlet 是运行在 Web 服务器中的小型 Java 程序。servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端的请求。
2.Servlet体系结构
3.Servlet执行过程
4.Servlet生命周期
- 构造 servlet,然后使用
init
方法将其初始化。 - 处理来自客户端的对
service
方法的所有调用。 - 从服务中取出 servlet,然后使用
destroy
方法销毁它,最后进行垃圾回收并终止它。
5.Servlet的线程安全问题
如果有多个客户端并发的访问同一个Servlet,WEB服务器会为每一个客户端的请求创建一个线程,在线程中调用Servlet的service方法,如果多个线程并发的访问同样的数据,那这个时候就有可能会出现线程的安全问题
解决方案:
把有可能会出现问题的代码扔到同步代码块里面
让Servlet去实现一个接口,SingleThreadModel
尽量减少使用成员变量