设置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