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());