注册 登录
编程论坛 J2EE论坛

Cookie删除问题

tianbian210 发布于 2010-04-03 21:43, 1261 次点击
//如何创建Cookie
package com.tk;

import javax.servlet.http.*;
import *;

public class CookieTest1 extends HttpServlet{
    // 处理get请求
    public void doGet(HttpServletRequest req, HttpServletResponse res){
        // 业务逻辑
        try{
            // 中文乱码
            res.setContentType("text/html;charset=GBK");
            
            PrintWriter pw = res.getWriter();
            // 当用户访问该servlet时,就将信息创建到该用户的cookie中
            // 1.现在服务器创建一个cookie
            Cookie myCookie = new Cookie("color","red");
            // 2.该Cookie存在的时间
            myCookie.setMaxAge(30);
            // 如果你不设置存在时间,那么该cookie将不会保存
            // 3.将该cookie写回客服端
            res.addCookie(myCookie);
            pw.println("已经创建了cookie");
        }
        catch (Exception ex){
            ex.printStackTrace();
        }
    }
   。。。。。。。。。。。。。。。。。
}

//如何删除cookie案例
package com.tk;

import javax.servlet.http.*;
import *;

public class CookieTest3 extends HttpServlet{
    // 处理get请求
    public void doGet(HttpServletRequest req, HttpServletResponse res){
        // 业务逻辑
        try{
            // 中文乱码
            res.setContentType("text/html;charset=GBK");
            
            PrintWriter pw = res.getWriter();
            //从客户端得到所有cookie信息
            Cookie [] allCookies=req.getCookies();
            int i=0;
            //如果allCookies不为空
            if(allCookies!=null){
                //依次取出
                for(i=0;i<allCookies.length;i++){
                    Cookie temp=allCookies[i];
                    if(temp.getName().equals("color")){
                        //得到cookie的值
                        temp.setMaxAge(0);
                        pw.println("删除了color这个cookie");
                        break;
   
                    }
                }
            }
            else{
                pw.println("不存在color1这个cookie或是过期了!");
            }
        }
        catch (Exception ex){
            ex.printStackTrace();
        }
    }
   。。。。。。。。。。。。。。。。。。
}

页面也显示"删除了color这个cookie"但是cookie还在。是哪里错了吗
6 回复
#2
baifenghan2010-04-03 22:42
你说的删除cookie是什么意思?是删除在客户端机器的吗?还是什么,客户端机器上的是一个文件,到了时间就失效了。
#3
tianbian2102010-04-03 23:04
恩,就是删除客户机上保存的cookie.
已经解决了,
if(temp.getName().equals("color")){
                        //得到cookie的值
                        temp.setMaxAge(0);
                        res.addCookie(temp);
                        pw.println("删除了color这个cookie");
                        break;   
                    }
加上这一句就好了。
谢谢
#4
lovemm2010-04-06 18:56
用remove啊。remove那个cooikes没有啦,
#5
lovemm2010-04-06 18:57
remove相当与删除那cookies啊
#6
Bosen2010-04-08 10:01
你把cookies的生命周期设置一下他就会自动删除的
#7
一半春秋2010-04-12 21:32
我什么也看不懂啊~~~
1