Java-HttpServlet Cookies-setMaxAge的用途是什么?

问题描述 投票:0回答:1

我最近调试并验证了使用Cookie.setMaxAge()不会产生任何影响。对于后续请求,如果调用getMaxAge(),它将始终返回-1(如果设置了任何正值)或0(如果显式设置为0)。

我只是好奇,所以拥有setMaxAge有什么意义?无论如何,您永远无法真正确定Cookie的年龄(除非您使用JWT之类的方法来传递声明和iat字段)。根据Servlet 2.x文档:

public void setMaxAge(int expiry)设置Cookie的最长使用期限(以秒为单位)。正值表示cookie将在经过许多秒后过期。请注意,该值是Cookie到期的最长期限,而不是cookie的当前期限。

负值表示cookie不会持久存储,并且在Web浏览器退出时将被删除。零值将导致cookie被删除。

参数:expiry-一个整数,指定饼干在几秒钟内;如果为负,则表示未存储cookie;如果零,删除cookie

并且对于getMaxAge()

返回Cookie的最长期限,以秒为单位,由默认值为-1,表示Cookie将一直保留到浏览器关闭为止。

有人可以澄清吗?

我最近调试并验证了使用Cookie.setMaxAge()不会产生任何影响。对于后续请求,如果...

java servlets cookies
1个回答
0
投票

我认为您感到困惑,请参阅this post。然后澄清一下您不了解的内容。

© www.soinside.com 2019 - 2024. All rights reserved.