Cookie和Session都是由Tomcat自动创建的对象,Cookie的默认最大存活时间是 -1 ,即当浏览器关闭时Cookie就消失了;Session的默认最大存活时间是30分钟。

使用Session进行会话保持时,服务器会将“JSESSIONID”打包成一个Cookie发给浏览器,由于Cookie的默认存活时间问题,一旦浏览器关闭,会话将会断开,为解决这一问题,可以使用 request.setMaxAge()方法为Cookie设置最大存活时间。

但实际效果:毫无作用!

原因:浏览器每次请求服务器时,请求头内的Cookie实际上已经不是同一个了,它只是拥有和上一次Cookie一样的name和value的另一个Cookie,所以setMaxAge()方法根本不起作用(对象都不是同一个了)。

解决方案:由程序员自己手动创建一个Cookie对象,用于存储JSESSIONID数据,并设置存活时间(大于Session的存活时间)即可。

设置Cookie最大存活时间

 

相关文章:

  • 2022-12-23
  • 2021-11-27
  • 2022-12-23
  • 2022-01-09
  • 2022-12-23
  • 2021-05-28
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-14
  • 2022-12-23
  • 2022-12-23
  • 2021-09-30
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案