cookie 简单问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 05:44:32
我建了个cookie
Cookie cookie=new Cookie("name","1");
cookie.setMaxAge(10000);
response.addCookie(cookie);
--------------
然后想查这个cookie的时间
Cookie []myCookie=request.getCookies();
for(int i=0;i<myCookie.length;i++){
if(myCookie[i].getName().equals("name")){
out.print(myCookie[i].getMaxAge());
}
}
为什么结果是-1呢?

通过查看sun的官方api:
Returns the maximum age of the cookie, specified in seconds, By default, -1 indicating the cookie will persist until browser shutdown.
指这个-1是在浏览器关闭时失效的cookie,但是我个人认为不是这么简单

至于为什么已经设置过超时时间的cookie在web服务器里面还是得到的-1,我想是基于以下考虑的;
cookie是客户端的东西,也就是在浏览器中使用的,本地化的东西,而从客户端到服务器端需要数据传递,这个过程是有时间消耗的,还有,到了服务器端也不是立刻就去查看cookie的最大超时时间。
这样一来,超时时间就无从准确化了。

这个你不能一起执行