Servlet规范学习 - Servlet接口

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值