cookie中maxAge总是-1和tomcat设置编码方式

Posted 倾听与积累

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie中maxAge总是-1和tomcat设置编码方式相关的知识,希望对你有一定的参考价值。

指定tomcat的URI编码方法

tomcat中conf文件夹下修改server.xml文件,在connector属性中添加语句

 URIEncoding="UTF-8"
 useBodyEncodingForURI="true"

 

利用cookie存储了登录名loinname字段并设置maxAge为2天,结果再次访问localhost:8080/a/1.do时.在相对于的servlet的request中,reques.getCookie()可以拿到相应的cookie,但是得到的maxAge总是-1.

原因:虽然在访问相应页面时,浏览器中的request会将本地的cookie带上,但是在带上的cookie中,它不会带上相应的maxAge.因为cookie中的maxAge过期时间是由浏览器来维护的,一旦某个cookie过期,则浏览器会自动将其清空,不需要服务端对其进行维护,所以调用reques.getCookie()方法总是-1;

以上是关于cookie中maxAge总是-1和tomcat设置编码方式的主要内容,如果未能解决你的问题,请参考以下文章

关于Cookie

用于快速会话的 Ephemeral 和 MaxAge

JavaWeb基础 Cookie maxAge默认值是-1

cookie和Session

如何在 express 中设置单个会话 maxAge?

在 connect/express 中使用 cookieSession() 时为会话设置单独的 maxAge