java服务端操作cookie

cookie是什么

    cookie是网络通讯过程中缓存在客户端的浏览器上的一部分内容,由于浏览器访问服务端都是通过http等无状态协议,所以cookie的存在,可以让客户端对一些内容进行留存。

java服务端获取cookie

Cookie[] cookies = request.getCookies();

    cookie有:cookie.getName()和cookie.getValue(),我们通过遍历即可得到需要的cookie

java服务端增加cookie

Cookie cookie = new Cookie("cookieName", "cookieValue");
response.addCookie(cookie);

    第二步的addCookie的过程必不可少,前面说的cookie是存储在客户端的,所以不如过添加到 响应中,客户端就接收不到这个cookie的修改,也就不能进行缓存。

cookie的重要属性

  • domain:用于限制域名读取的,比如cookie.setDomain(".yyf256.top"),则只有yyf256.top这个域名下的服务器能够读取到当前cookie,注意,一般前面前面都有一个".",如果不设置这个值的话,所有域名都可以获取到当前cookie。

  • path:用于设置访问此cookie的页面路径。 比如cookie.setPath("/test/");,那么只有/test路径下的页面可以读取此cookie。如果你希望所有路径都可以读取到,那直接设置为/即可,设置path时,必须以"/"结尾。

  • maxAge:cookie的存活周期,单位为秒,默认值为-1,表示关闭浏览器就清掉这个cookie,如果为0表示马上删除这个cookie,如果设置为某一个数值,比如60,表示60s后清除这个cookie。

服务端删除cookie

    上面突然介绍了cookie的几个属性,就是为删除做铺垫的,通过Cookie[] cookies = request.getCookies();和遍历获取到指定的cookie。然后cookie.setMaxAge(0);maxAge=0表示删除cookie。最后 response.addCookie(cookie);这一个不可少,否则的话,cookie的修改只是在服务端生效,客户端不生效的。

发布了39 篇原创文章 · 获赞 9 · 访问量 1008

猜你喜欢

转载自blog.csdn.net/qq_30095631/article/details/103795327