cookie技术

一.什么是Cookie
    保存在客户端(浏览器)的一小段文本信息   (只能存一些小数据。几十KB的字符串)

二.使用场景
    当前浏览器的自动登录。记住账号。浏览记录等等。

三.如何在浏览器中查看Cookie
    F12 找到application  找到Cookies

四.Cookie的常见属性:
    a.name表示cookie的名字必须是独一无二的
    b.value表示cookie的值
    c.expires表示cookie什么时间过期失效

五.备注
    a.不同网站的Cookie是无法共享的
    b.JSESSIONID是自动生成的。有效期只有一次会话。一般就记录用户的当前信息。
    c.由于Cookies是保存在客户端的,所有可以被用户任意浏览或删除或操作
    d.所以Cookie需要进行保密 且 非空校验

六.如何在Java的Servlet中创建Cookie,让其存在于浏览器中
    1.创建前台页面
    2.编写与之对应的Servlet
    3.
     a.创建Cookie的实例化对象  并赋予name和value值
     Cookie c1 = new Cookie("username" , "张三123");
     Cookie c2 = new Cookie("password" , "123456");

     b.设置cookie的生命周期,单位是秒
     c1.setMaxAge(60*60*24*365);
     c2.setMaxAge(60*60*24*365);

     c.将其添加到浏览器中
     resp.addCookie(c1);
     resp.addCookie(c2);

     d.跳转页面 这个随意
     req.getRequestDispatcher("index.jsp").forward(req,resp);

七.如何在Java的Servlet中查询所有的Cookie或指定的Cookie       

     1.通过req获取所有的Cookies
        Cookie[] cookies = req.getCookies();

     2.非空校验
        if (cookies!=null){
            //开始遍历输出
            for(int i = 0 ; i < cookies.length ; i++){
                System.out.println(cookies[i].getName());
                System.out.println(cookies[i].getValue());
                //如果是只想查询指定Cookie加个if判断即可
               if (cookies[i].getName().equals("username")){
                   System.out.println(cookies[i].getValue()); 
                                                            }            

 八.如何在Java的Servlet中删除Cookie

     1.通过req获取所有的Cookies
       Cookie[] cookies = req.getCookies();

     2.非空校验
       if (cookies!=null){
        //开始遍历输出
           for(int i = 0 ; i < cookies.length ; i++){
         //遍历,然后找到你想要删除的cookie的名字 ,将其生命周期设置为0即可立刻删除
          if (cookies[i].getName().equals("username")){
            cookies[i].setMaxAge(0);
            //最后别忘了 再次添加到浏览器中
            resp.addCookie(cookies[i]);
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值