【问题标题】:why cookie.getMaxAge() = -1?为什么 cookie.getMaxAge() = -1?
【发布时间】:2011-03-05 06:07:46
【问题描述】:

我有一个这样的测试:

cookie.jsp:

<html>  
<head>
</head>  
<body>  
<%  
String cookieName="SNS";  
Cookie cookie=new Cookie(cookieName, "maxAgeTest");  
cookie.setMaxAge(60*60);  
response.addCookie(cookie);  
%>  
</body>  
</html>

而 read.jsp 是:

<html>  
<head>
</head>  
<body>  
<table border=1>  
<tr><td>Name</td><td>value</td></tr>  
<%  
Cookie cookies[]=request.getCookies();  
Cookie sCookie=null;  
String svalue=null;  
String sname=null;  
int sage ; 
for(int i=0;i<cookies.length;i++)  
{  
sCookie=cookies[i];  
svalue=sCookie.getValue();  
sname=sCookie.getName();  
sage=sCookie.getMaxAge();
%>  
<tr><td><%=sname%></td><td><%=svalue%></td><td><%=sage%></td></tr>  
<%  
}  
%>  
</table>
</body>  
</html> 

但结果是:

名称值 maxAge

JSESSIONID DB3561A47B37FCA8CA25EA04B80A26C7 -1

SNS maxAgeTest -1

为什么 maxAge 是 -1 ?

和t测试IE8,Chrome5,Safari,结果一样

【问题讨论】:

    标签: java jsp cookies


    【解决方案1】:

    因为您还没有设置 MaxAge(使用 setMaxAge)。 因此它将具有默认值 (-1)。这意味着cookie会一直存在到浏览器关闭

    【讨论】:

      【解决方案2】:

      你不会得到它。浏览器只发回 cookie 的名称和值,没有其他信息。

      【讨论】:

        猜你喜欢
        • 2013-01-01
        • 2011-03-11
        • 1970-01-01
        • 2021-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-21
        相关资源
        最近更新 更多