2010-06-18 85 views
1

我有這樣一個測試:爲什麼cookie.getMaxAge()= -1?

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瀏覽器,結果同樣

回答

2

因爲你沒有設置的最大生存週期(使用setMaxAge)。 所以它會有默認值(-1)。這意味着cookie將一直存在,直到瀏覽器關閉爲止

+1

cookie.setMaxAge(60 * 60); 我已設置值... – user340017 2010-06-19 09:25:51

4

你不會得到它。瀏覽器只發送cookie的名稱和值,沒有其他信息。