servlet的生存周期是由web容器负责的。。。web
大体分为 实例化,初始化(init),处理请求(service),销毁(destroy)四步。安全
这里须要注意的是 一旦servlet被实例化后,一个实例能够处理多个请求(单例)。。。此时就不得不考虑线程安全的问题。。。this
对于servlet来讲,它的共享资源 就是 “实例变量”。。。spa
解决方法大体有如下几种。。。。线程
1。servlet中避免使用 “实例变量”,须要的地方所有用“局部变量”。。。。code
2。经过同步机制 对实例变量操做进行互斥操做。。。接口
synchronized(this){ ....}资源
Lock lock = new ReentrantLock(); lock.lock();....... lock.unlock();
同步
3。强制没个请求实例化一个servlet。 servlet
建造一个 实现SingleThreadModel接口的servlet。。。