Java:session中的invalidate()的作用是什么呢?求解


手工殺會話。
會話失效有2種可能:超時和手工殺會話。手工殺方便省時間,程序員都愛用。

比如我做一個程序需要登錄,中間訪問的頁面有會話控制,如果沒有登錄則跳轉到登錄頁面,退出時清會話信息。

這是有兩個選擇:把session數據清空,或直接殺會話。建議直接殺會話,方便。
如果退出時不清會話,對方點瀏覽器后退,依然無需登錄可以正常訪問站點。
 
追問
就是說這個東西的最大用處是作退出功能時直接用session.invalidate()將session清空就行了以免有遺漏,如果想手動清空某項session,也可以賦null,是這樣嗎?
追答
session.invalidate()是殺掉會話

賦值null,是清空會話,很可能是一個陷阱。
2者是不同的概念。session是一個容器,里面可以存數據。以在食堂吃飯為例:session是碗,賦值null想當於空碗,數據相當於碗里的飯,invalidate相當於把碗摔了()。

賦值null是個陷阱,開發不要用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM