2 fish9670 fish9670 于 2016.04.04 21:02 提问

我设置了Session的setmaxage为0但是依然无法删除cookie 2C

这是设置session的代码

<%
    //为first_name和last_name设置cookie
    Cookie firstName = new Cookie("frist_name",request.getParameter("frist_name"));
    Cookie lastName = new Cookie("last_name",request.getParameter("last_name"));

    //设置cookie过期时间为1分钟
    firstName.setMaxAge(60*60*24);
    lastName.setMaxAge(60*60*24);

    //在响应头部添加cookie
    response.addCookie(firstName);
    response.addCookie(lastName);
%> 

#这是删除Cookie的代码

<%
        Cookie cookie = null;
        Cookie[] cookies = null;
        //获取当前Cookies

        cookies = request.getCookies();

        for(int i = 0;i < cookies.length;i++){
            cookie = cookies[i];
            if((cookie.getName()).compareTo("frist_name") == 0){
                cookie.setMaxAge(0);
                cookie.setPath("/");
                response.addCookie(cookie);
                out.print("已删除" + cookie.getName());
            }else{
    %>
                <h1>No found Cookie</h1>            
    <%
            }
        }
    %>

他们不在同一个jsp文件里

1个回答

devmiao
devmiao   Ds   Rxr 2016.04.04 23:41
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
删除cookie的时候,setMaxAge(0)有可能不起作用,需要加上cookie.setPath("/");[domain也很重要]
1.实现两个网站www.wangwz.com和post.wangwz.com共用Cookies 2.添加Cookies     Cookiecookie = new Cookie("name", "wangwz");    cookie.setPath("/");//这个要
关于设置了setMaxAge(0)而浏览器未成功删除Cookie的注意事项
最近做了个系统,其中涉及到对Cookie的操作。当用户登录时,设置一些数据到Cookie中,用户登出系统的时候删除写入浏览器中的对应Cookie。 问题就出在登出系统时,在firebug中看到需要删除的Cookie并没有删除掉。 最后经过自己的debug,终于找到了问题的所在。 直接上代码: 登录时写Cookie: Java代码 public voi
JSP中cookie.getMaxAge() 怎么总是得到 -1 呢? 你弄明白没啊???我郁闷了一天了现在也搞明白
不知道怎么回事我贴代码的提问题竟然不显示出来, 我用一个页面设置给客户端添加cookie, 用另一个页面获取cookie,能获取到值,只有getValue(); 返回值是正确的, 其他所有值都被默认了一样,时间变成了-1.,domain和path等变成null,问题出在什么地方啊?是版本问题? 环境是: 我用ie6和ie8结果是一样的,而服务器是 tomcat的 你们好像说的和我搜索出来的是一样...
cookie setMaxAge 无效
在使用cookie时遇到一个问题  发现cookie设置有效时间 没起效果 Cookie cookie = new Cookie("test", "1111"); response.addCookie(cookie); cookie.setMaxAge(MAX_AGE); cookie.setPath(request.getContextPath());
cookie中 maxAge设置为负值 和0的区别
如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效;如果设置为0,则立即删除该Cookie。
删除cookie 不是setMaxAge(0) 而是同名替代
5.1.7  Cookie的有效期 Cookie的maxAge决定着Cookie的有效期,单位为秒(Second)。Cookie中通过getMaxAge()方法与setMaxAge(int maxAge)方法来读写maxAge属性。 如果maxAge属性为正数,则表示该Cookie会在maxAge秒之后自动失效。浏览器会将maxAge为正数的Cookie持久化,即写到对应的Cookie文件中。
cookie的setMaxAge
实习工作当中一个问题,       具体环境: jsp, struts2, tomcat6       问题: cookie的有效期限设置问题       正在做一个投票的东西, 但是要求每个主机对每一个投票只能进行一次投票, 尽量避免重复投票(但是这个要求并不是特别严格), 所以考虑用cookie实现, 尽量减少服务端的压力。       当一个主机第一次对这个投票进行投
servlet--cookie setMaxAge属性
1.set cookie 其中三个为不设置setMaxAge属性,三个为设置 package com.servlet.test; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebSer
cookie的expires属性和max-age属性
<br />expires属性<br />指定了coolie的生存期,默认情况下coolie是暂时存在的,他们存储的值只在浏览器会话期间存在,当用户推出浏览器后这些值也会丢失,如果想让cookie存在一段时间,就要为expires属性设置为未来的一个过期日期。现在已经被max-age属性所取代,max-age用秒来设置cookie的生存期。path属性<br />它指定与cookie关联在一起的网页。在默认的情况下cookie会与创建它的网页,该网页处于同一目录下的网页以及与这个网页所在目录下的子目录下的网
Java精选笔记_会话技术
会话及其会话技术 会话概述 指的是一个客户端(浏览器)与Web服务器之间连续发生的一系列请求和响应过程。 会话:从浏览器开启到浏览器关闭。会话技术:用来保存在会话期间 浏览器和服务器所产生的数据。 在Servlet技术中,提供了两个用于保存会话数据的对象,分别是Cookie和Session。 Cookie对象 什么是Cookie 服务器