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());
//取数据
HttpSession session=MyFilter.session.get();
System.out.println(session.getAttribute("empId")+" fffffffff"+session.getAttributeNames().nextElement().toString());