Servlet规范学习 - Servlet接口

来源:互联网 发布:手机避开公司网络监控 编辑:程序博客网 时间:2024/05/22 13:44
1:实例数量
一般容器会为每个servlet分配一个实例,但是如果servlet实现了SingleThreadModel,容器可以选择分配多个实例
SigleThreadModel保证每个一个特定servlet实例的service方法一个时刻只能被一个线程执行

由于HttpSession属于会话跟踪对象,因此多个servlet可能共享一个HttpSession,包括那些实现了SingleThreadModel接口的servlet

2:生命周期
   类加载,实例化,初始化,处理请求,销毁
   其中加载,实例化有servlet容器来完成、
   
3:容器采用多个线程访问单个servlet实例的方式来运行,在Tomcat中可以通过配置<Connector>来指定一个实例可以同时被几个线程访问

4:开发安全的servlet
   <1> 变量的线程安全性
   a:多使用局部变量
   b:使用同步块synchronized,防止发生的异步调用的代码块
   <2> 属性的线程安全性 ServletContext, HttpSession, ServletRequest
   前两个是线程不安全的,需要使用同步来防止异步调用,只有ServletRequest属于线程安全
   <3> 使用SingleThreadModel
0 0
原创粉丝点击