• JavaWeb之cookie


    什么叫做会话 ?

    用户从打开一个浏览器开始,浏览器网站,到关闭浏览器的整个过程叫做一次会话!

      每个用户与服务器进行交互的过程中,各自会有一些数据,程序要想办法保存每个用户的数据。

       例如:用户点击超链接通过一个servlet购买了一个商品,程序应该保存用户购买的商品,需要使用会话!

    Cookie是客户端技术

    程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。

     Cookie相对于session来说不是特别安全,而且Cookie还有大小和个数的限制!

    一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie。

    Java 中的Cookie

      

    //构造方法:
        Cookie(String name,String value);
    
      //方法:
       String getName();     用于获得Cookie的名称
    
       String getValue(); 用于获得Cookie的值
    
      void setPath(String path);   设置cookie的有效路径   没有设置会给一默认的路径:用途-访问该路径下的资源时会带着cookie过来
    
       String getPath();             
    
        void setMaxAge(int mAge);  用于设置cookie的有效时间
    
       int getMaxAge();          
    
       void setDomain(String domain);用于设置cookie的有效域名:用途-访问该域名下的资源时会带着cookie过来   setDomain(".baidu.com");
      String getDomain();

    Cookie的分类 

    会话级别的Cookie:浏览器关闭cookie就销毁,此cookie存储在浏览器的内存中

    持久的cookie:此cookie会写到本地的文件中,关闭浏览器不会销毁

      此cookie可以在同一个浏览器的不同窗口之间共享 ,前提需要设置有效时间 setMaxAge(int age);  删除cookie setMaxAge(0); 

    //创建一个cookie
    //Cookie cookie = new Cookie(String name,String value);
    //存带有中文的cookie(取出的时候不要忘记解码) 
    //cookie不支持中文,需要编码 在页面用js取时用decodeURI();
    Cookie cookie = new Cookie("remember", URLEncoder.encode( username, "utf-8")); cookie.setMaxAge(24 * 60 * 60); cookie.setPath("/"); response.addCookie(cookie); //删除某个cookie (只要覆盖一个把存活时间改成0或者-1) Cookie cookie = new Cookie("remember", URLEncoder.encode( username, "utf-8")); cookie.setMaxAge(0); cookie.setPath("/"); response.addCookie(cookie); /*注意:cookie.setMaxAge(0);参数也可以是-1,都可以删除cookie,区别.写0时立即删除,-1代表关闭浏览器之后才能删除*/

     

     

     

     

  • 相关阅读:
    Beta 冲刺(1/7)
    福大软工 · 第十次作业
    11111111
    101
    7
    6
    5
    4
    p
    b2
  • 原文地址:https://www.cnblogs.com/lilixin/p/5728220.html
Copyright © 2020-2023  润新知