Cookie

  • what’s Cookie
    • 服务器在客户端保存用户的信息,eg:登录名,密码等
    • 数据不大,服务器端在需要时,从客户端读取它们
    • 一般保存在客户端的C:\Documents and Settings目录下
  • Cookie的作用
    • 保存用户名和密码
    • 记录用户访问网址的喜好,如是否有音乐,网页背景等
    • 网站的个性化,如定制网站的服务
  • Cookie的基本用法
    • 我们可以把Cookie想象成一张表一样,表里分成了两列,一个是String类型的名字,一个是String类型的值
    • 服务器端创建一个Cookie
      • Cookie c = new Cookie(name,val);
    • 将一个Cookie添加到客户端
      • response.addCookie(c);
    • 从客户端到服务器读取Cookie
      • request.getCookies();
    • 设置Cookie存在的时间
      • c.setMaxAge(30);//例如设置为30秒,但如果不设置Cookie存在时间,Cookie就不会被保存,同理,也可以通过设置存在时间为0来删除Cookie
  • 服务器向客户端写入Cookie
    //在服务器端创建一个Cookie,设置相应属性的名字和值
    Cookie c = new Cookie("name","Tom");
    //设置该Cookie的存在时间
    c.setMaxAge(30);
    //将该Cookie写回到客户端
    response.addCookie(c);
  • 服务器从客户端读取Cookie
    //再从客户端中读取Cookie中名字为Name的值
    ServletRequest req;
    PrintWriter pw = null;
    Cookie [] allCookies = req.getCookies();
    int i = 0;
    //如果allCookies不为空
    if(allCookies!=null){
        //从中取出Cookie
        for(i = 0;i < allCookies.length;i++){
            Cookie temp = allCookie[i];
            if(temp.getName().equals("Name")){
                String val = temp.getValue();
                break;
            }
        }
        if(allCookies.length==i)
            pw.println("Cookie已过期!");
    }else{
        pw.println("不存在Name这个Cookie,或者Cookie已过期!");
    }
  • 删除Cookie
    • 删除Cookie其实在前面已经提及了,方法如下:
      • 按读取Cookie的方法将Cookie读取出来,再通过c.setMaxAge(0);将该Cookie删去。
  • Cookie其他说明
    • 可通过【IE—工具—Internet选项—隐私—高级】来启用或者禁用Cookie
    • 由于Cookie的信息是保存在客户端的,所以可想而知安全性不高
    • Cookie的生命周期可在创建时设置,从创建那一刻起就开始计时,时间一到Cookie信息就无效了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值