servlet 变量 及servlet 初始化 和销毁 ThreadLocal

本文探讨了Servlet中的静态变量和非静态变量的使用区别,静态变量在所有用户间共享,可能导致线程安全问题。同时,介绍了Servlet的生命周期,它仅在服务器启动时初始化,并在服务器关闭时销毁。为了实现线程安全的数据存储,文章提到了使用ThreadLocal保存HttpSession的示例,确保每个请求都有自己的副本,不共享数据。
摘要由CSDN通过智能技术生成

servlet static变量是全局变量, 所有连接到服务器的用户共享一个变量,如 初始化时 static int num=1; 用户登录一次 num++;  张三 登录后 num++,此时num=2; 李四登录时 num=2;

非静态变量  在 一个会话中 线程不安全  。

servlet 在整个 生命周期 ,也就是打开服务器的时候,不管有多少用户请求,只在启动服务器时初始化一次,销毁是在服务器关闭时销毁一次。



//用不同浏览器打开都会保存一个副本,不共享数据
//线程安全,static 保存的变量所有用户共享一个。
//设置数据
public static ThreadLocal<HttpSession>  session = new ThreadLocal<HttpSession>();
session.set(((HttpServletRequest)request).getSession());
//取数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

life1024

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值