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

时间:2019-10-12 09:47:12

标签: java servlets cookies

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

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

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

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

  

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

对于getMaxAge()

  

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

有人可以澄清吗?

0 个答案:

没有答案