cookie一些问题

摘要:
Cookie是一种客户端技术。主要用于解决页面参数传递问题。如果它是通过url参数传递的,则可以看到传递的参数,并且不安全。这就是为什么有cookie技术。Cookie有几种主要方法。创建它们时,将传递键值字典类型。第二,不要设置cookie。当您以这种方式设置cookie时,这意味着cookie被直接丢弃,下一个界面直接不可用。第三种是将cookie设置为会话cookie,这意味着当此浏览器有效时,当浏览器关闭时,下次浏览时,将没有cookie。cookie的另一种方法是setPath。此参数主要用于访问路径问题。

cookie是一个客户端技术,主要是为了解决页面参数传递的问题,要是通过url参数传递的话,那么传递的参数可以看到,不安全。所以才会有cookie技术。

cookie主要有几个方法,首先创建的时候,传递的是key-value字典类型。通过key可以获取到value的值,一般是在别的页面通过key去获取到value的值。

  其次cookie有一个setMaxAge方法,这个意思是设置过期时间,>0,=0,<0三种情况:第一个就是设置一个以秒来计的过期时间,如设置一天过期那么就设置24*60*60,如果没过期的话下次进浏览器的时候自带cookie。第二个不设置cookie,当你这样设置差不多意思就是直接废掉了cookie,下个界面直接不能获取到。第三个设置cookie为会话cookie,意思是当此浏览有效,当关闭浏览器下次再浏览不会带有cookie。

  cookie还有一个方法是setPath,这个参数主要是针对访问路径的问题。举个粟子,当前servlet的@webServlet(vaue="/cookie/login"),跳转下个界面servlet的@wevServlet(value="welcome"),那么两个path其实是不一样的,如果在下个界面访问cookie的话那么getCookies就会返回空的Cookie数组。所以大多数做法就是在初始化cookie的时候设置这个path,setPath("/")由于"/"代表全路径。这样访问的时候下个界面servlet就可以获取到Cookie数组,然后就可以做事情了。

  注意点:由于cookie不支持中文,所以设置Cookie的value时候需要编码,不然访问的时候会500错误,代表服务器错误。需要通过URLEncoder.encode(String string,"UTF-8")设置编码,然后再下个servlet界面获取值的时候需要解码URLDecoder.decode(String string,"UTF-8")。

总结:设置cookie的时候需要将初始化的cookie到response,响应给客户端,然后客户端就会自己存储,下次客户端会自己取出来,服务器只需在request.getCookies里面获取cookie,通过cookie的key去获取自己想要的value。

免责声明:文章转载自《cookie一些问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇阅读glibc源码windows下vim编辑器,字符编码设置。下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

通过Nginx设置HttpOnly Secure SameSite参数解决Cookie跨域丢失

在前面的文章中“谷歌浏览器Chrome 80版本默认SameSite导致跨域请求Cookie丢失”,我们知道 Chrome 升级到80版本后,默认限制了跨域携带cookie给后端。我们也提到了可以修改Chrome的设置或在服务端添加SameSite设置来解决,但是普通的Web框架需要升级到最新版本才支持SameSite属性,升级Web框架成本太高,因此本文...

JSP(二)

JSP九个内置对象(四大作用域对象): 1.内置对象称为隐式对象由tomcat容器创建 : appliction:全局上下文对象 session:会话对象 request:请求对象 pageContext:当前页面对象 response:响应对象 config:配置文件对象 out:输出对象 execption:异常对象 pageContext.getEx...

JavaWeb之Cookie和Session的区别

Cookie和Session的区别 一、cookie机制和session机制的区别 ************************************************************************************* 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态...

.NET Core:在ASP.NET Core WebApi中使用Cookie

一、Cookie的作用 Cookie通常用来存储有关用户信息的一条数据,可以用来标识登录用户,Cookie存储在客户端的浏览器上。在大多数浏览器中,每个Cookie都存储为一个小文件。Cookie表示为键/值对的形式,可以利用键来读取、写入或删除Cookie。 在ASP.NET Core中也可以使用Cookie来维护回话状态,包含回话ID的Cookie会随...

一个封装了localStorage的增删改查的方法

localStorage的增删改查都其实比较简单,每次需要判断浏览器是否禁用,这挺麻烦的; 而且没有像COOKIE一样的,自动过期时间,长期下去会有垃圾数据在里面;我们知道android的系统只支持5M存储空间,iphone是10MB,一旦超过限制会提示用户,甚至报错。 一、包含一下功能: 1、定时清理localStorage; 2、支持过期时间; 3、检...

后端设置Cookie前端跨域获取丢失问题(基于springboot实现)

1.跨域问题说明:后端域名为A.abc.com,前端域名为B.abc.com。 2.后端设置一个cookie发送给前台,domain应该是setDomain(“abc.com”),而不是setDomain(“B.abc.com”) 3.另外,还要实现WebMvcConfigurerr配置加入Cors的跨域 @Configuration public cl...