天天看點

servlet 變量 及servlet 初始化 和銷毀 ThreadLocal

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

繼續閱讀