設置Cookie最大存活時間


Cookie和Session都是由Tomcat自動創建的對象,Cookie的默認最大存活時間是 -1 ,即當瀏覽器關閉時Cookie就消失了;Session的默認最大存活時間是30分鍾。

使用Session進行會話保持時,服務器會將“JSESSIONID”打包成一個Cookie發給瀏覽器,由於Cookie的默認存活時間問題,一旦瀏覽器關閉,會話將會斷開,為解決這一問題,可以使用 request.setMaxAge()方法為Cookie設置最大存活時間。

但實際效果:毫無作用!

原因:瀏覽器每次請求服務器時,請求頭內的Cookie實際上已經不是同一個了,它只是擁有和上一次Cookie一樣的name和value的另一個Cookie,所以setMaxAge()方法根本不起作用(對象都不是同一個了)。

解決方案:由程序員自己手動創建一個Cookie對象,用於存儲JSESSIONID數據,並設置存活時間(大於Session的存活時間)即可。

 


免責聲明!

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



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