关于cookie知识点解读

Cookie

饼干、其实就是一份小的数据,是服务端给客户端的,并且存储在客户端上的小数据。

应用的场景有如下:

自动登陆,浏览记录,购物车等等。

为什么要有Cookie?

因为http请求是没有状态的,客户端在跟服务端通讯的时候,是没有状态的,其实就是客户端在第二次访问服务端的时候,服务器就不知道客户端曾经访问过自己。为了更好的用户体验,更好的交互,从而使用cookie。

Cookie怎么来使用呢?

添加cookie给客户端

1.在响应的时候,添加cookie

Cookie cookie = new Cookie("aa","bb");

//给响应添加一个cookie

response.addCookie(cookie);


执行上诉操作后,在http响应头多了一个字段Set-Cookie:aa=bb


2.获取客户端传来的cookie

此方法返回一个Cookie[]数组

Cookie[] cookies = request.getCookies();

if(cookie != null){

     for(Cookie c:cookies){

        String cookieName = c.getName();

        String cookieVlaue = c.getValue();

    }

}

常用的方法:

通常关闭浏览器之后cookie就没有了

为了设置cookie保存时间可以通过下面的方法实现:

cookie.setMaxAge( expiry);

expiry:数值按照秒来计算

当为正值的时候:表示在该数值之后cookie消失

当为负数的时候:表示关闭浏览器的时候立刻消失

//赋予新的数值

cookie.setValue();

在赋予新的数值之后一定要重新添加到响应当中,否则没有效果

response.addCookie(cookie);

//访问特定的域名下的CookieServelt的这个地址,才会带上cookie

cookie.setPath("/CookieServlet");

cookie的清除

在java中没有直接清除cookie的方法,只有设置maxAge为0

Cookie cookie = new Cookie("aa","");

cookie.setMaxage(0);//立即删除

response.addCookie(cookie);

猜你喜欢

转载自blog.csdn.net/weixin_40236948/article/details/80034499