java - 为什么 setmaxage 不允许超过 ~5 分钟的时间

标签 java jsp cookies

在我的 jsp 文件中,我设置了一个我想保留一年的 cookie。我已经使用了设置的最大年龄并乘以我的秒数,所以它是一年。然而, cookies 只能持续大约 5 分钟。即使我输入了一个大得离谱的值,它仍然只能持续约 5 分钟。

我正在本地主机上进行测试,这与它有什么关系吗?

代码如下:

    //value to check if the EU compliance cookie is present
boolean euCookiePresent = false;
//cookie parameters
String cookieName = "wtr_ca";
String cookieValue = "1";
int cookieExpiry = 365;

//cookie expiary is in seconds so convert to days
cookieExpiry = cookieExpiry * 60 * 60 * 24;

//Get clients cookies
Cookie cookies [] = request.getCookies ();

if (cookies != null){
    //iterate over users cookies to check for euCookie
    for (int i = 0; i < cookies.length; i++) 
    {
        if (cookies [i].getName().equals (cookieName)){
            euCookiePresent = true;
            break;
        }
    }

}

if (euCookiePresent == false){
    //no EU Cookie found therefore place it on client
    response.setContentType("text/html");
    Cookie cookie = new Cookie(cookieName,cookieValue);

    //cookie expiary is in seconds so convert to days
    cookie.setMaxAge(cookieExpiry);
    response.addCookie(cookie); 
}

最佳答案

cookie.setMaxAge(60*60*24);

将最大年龄设置为大约 1 小时,没有一年

你想要做的是:

cookie.setMaxAge(cookieExpiry);

关于java - 为什么 setmaxage 不允许超过 ~5 分钟的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12403170/

相关文章:

java - 使用 <s : iterator> tag 附加静态值

java - TextArea 布局中的 ScrollPane(null)

java - 配置属性注释问题

java - 创建 Google Java Checkstyle XML 文件的自定义版本

大公司的 Cookie 政策

java - Cookie 能否在浏览器收到它们之前(或确切时间)超时?

javascript - jsp页面中没有加载jquery

javascript - 如何在一个页面中使用多个markDown编辑器?

java - 如何覆盖保存在上下文目录中的文件

google-chrome - 如何在 Google Chrome 62 版中清除单个站点的 cookie