如何在Java Servlet中确定Cookie的过期日期?

5

Java Servlet API提供了一个cookie对象,其中包含getMaxAge方法。它返回cookie存在的时间长度,但无法告知它在浏览器中何时被移除。

通过servlet API是否可能计算cookie的过期日期?


1
现在 + 最大年龄,不是吗?(注意 -1 的情况) - user180100
首先 - 浏览器和服务器时间可能不同,其次 - 你能证明 getMaxAge 是从 now 开始计算的吗?我在 cookie 的 javadoc 中没有看到这一点。 :( - Cherry
根据http://www.javaworld.com/article/2073096/don-t-trust-cookie-setmaxage.html的说法,`setMaxAge()`方法会将服务器时间加上年龄,然后使用该值作为到期日期。因此,我认为我们可以假设`getMaxAge()`方法是相反的(从cookie到期日期计算)。(但也许我错了。无论如何,这很容易测试) - user180100
1个回答

2
我怀疑是否有直接计算 cookie 过期日期的方法可用。但是最好的做法是在设置 cookie 时,您可以将时间戳存储在某个地方,并使用该时间戳和 getMaxAge() 来计算何时它将过期。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接