zoukankan      html  css  js  c++  java
  • 代码空间项目 -- cookie的基本使用

    cookie在日常开发b/s架构时候经常使用,可以在记住用户,方便自动登录,也可以记住用户的偏好并对应推送广告

    下面说说开发时候的基本用法:

    1.创建cookie
    //设置cookie,键值对形式
    Cookie namecookie = new Cookie("name",name);    
    Cookie passwordcookie = new Cookie("password",pwd);
    //设置生命周期,以秒为单位,设置为0即删除,设置为-1在浏览器关闭时删除
    namecookie.setMaxAge(60*60*24);    
    passwordcookie.setMaxAge(60*60*24);
    //设置或取得cookie适用的路径,"/"表示指定服务器的所有页面都应该收到该cookie
    namecookie.setPath("/");
    passwordcookie.setPath("/");
    //通过HttpServletResponse保存cookie对象
    response.addCookie(namecookie);    
    response.addCookie(passwordcookie);

    2.获取cookie

    //获取一个cookie数组
     Cookie[] cookies = request.getCookies();
       if(cookies != null){
         for(Cookie cookie : cookies){
         //获取数组中key="name"的值,
         if(cookie.getName().equals("name")){
                       System.out.println(cookie.getValue());
         }
       }
    }     

    3.删除cookie

    //获取一个cookie数组
    Cookie[] cookies = request.getCookies();
    if(cookies != null){

      //循环cookie数组
         for(Cookie cookie : cookies){  
              cookie = new Cookie(cookie.getName(),""); //为cookie赋空值
              cookie.setPath("/");//设置的路径和创建时候相同
              cookie.setMaxAge(0);//0代表立即删除,-1代表浏览器关闭时删除
              response.addCookie(cookie); //重新新增cookie,即删除
          }
    }   

    4.注意事项

    在tomcat7环境下,对中文支持不太好,如果存储的是中文字符,需要对其转码

    存储时:
    name = URLEncoder.encode(name,"UTF-8");
    pwd = URLEncoder.encode(pwd,"UTF-8");
    读取时:
    URLDecoder.decode(cookie.getValue(),"UTF-8");

  • 相关阅读:
    c++ 设计模式3 (重构技法 Template Method)
    C++ 设计模式2 (面向对象设计原则)
    c++ 设计模式1
    算法总结—二分搜索与旋转排序数组
    c++ 构造函数,拷贝构造函数,析构函数与赋值操作符
    题解 P2330 【[SCOI2005]繁忙的都市】
    题解 CF896C 【Willem, Chtholly and Seniorious】
    题解 P3369 【【模板】普通平衡树】
    题解 CF383C 【Propagating tree】
    题解 P1179 【数字统计】
  • 原文地址:https://www.cnblogs.com/zmc-change/p/5371675.html
Copyright © 2011-2022 走看看