cookie

1、Cookie

Cookie是Http协议制定的,先由服务器保存Cookie到浏览器,在下次浏览器请求服务器时把上一次请求得到的Cookie再归还给服务器。其保存的是一个键值对。

2、JavaWeb中使用Cookie

原始方式:使用response发送Set-Cookie响应头;使用request获取Cookie请求头

便捷方式:使用response.addCookie()方法向浏览器保存Cookie;使用request.getCookies()方法获取浏览器归还的Cookie

<%
    response.addCookie(new Cookie("a","A"));
    response.addCookie(new Cookie("b","B"));
%>
<%
    Cookie[] cookies = request.getCookies();
    if(cookies != null) {
        for(cookies c : cookies) {
            out.print(c.getName() + c.getValue());
        }
    }
%>

3、Cookie生命

Cookie除了name与value属性,还有:

>expires/Max-Age属性:指定了cookie的生存期。

默认情况下cookie是暂时存在的,他们存储的值只在浏览器会话期间存在,当用户退出浏览器后这些值也会丢失,如果想让cookie存在一段时间,就要为expires属性设置为未来的一个用毫秒数表示的过期日期或时间点,expires默认为设置的expires的当前时间。现在已经被max-age属性所取代,max-age用秒来设置cookie的生存期。

如果max-age属性为正数,则表示该cookie会在max-age秒之后自动失效。浏览器会将max-age为正数的cookie持久化,即写到对应的cookie文件中。无论客户关闭了浏览器还是电脑,只要还在max-age秒之前,登录网站时该cookie仍然有效。

如果max-age为负数,则表示该cookie仅在本浏览器窗口以及本窗口打开的子窗口内有效,关闭窗口后该cookie即失效。max-age为负数的Cookie,为临时性cookie,不会被持久化,不会被写到cookie文件中。cookie信息保存在浏览器内存中,因此关闭浏览器该cookie就消失了。cookie默认的max-age值为-1。

‍如果max-age为0,则表示删除该cookie。cookie机制没有提供删除cookie的方法,因此通过设置该cookie即时失效实现删除cookie的效果。失效的Cookie会被浏览器从cookie文件或者内存中删除。

>path路径(当前页面所在路径,并不是其在客户端的保存路径!!!)

Cookie的path由服务器创建Cookie时设置,浏览器访问服务器的路径,如果包含某个Cookie的路径,就会归还这个Cookie。

>domain域

domin用来指定Cookie的域名,当多个二级域共享cookie时才有用。

cookie.setDomin(".baidu.com");//该后缀的域都能获取到cookie
cookie.setPath("/"); //此时需要设置的路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值