最近复习到了cookie和Session,这里系统的讲解一下cookie和Session。在学习这个之前,我们需要了解,会话的定义。
会话是指某一个人打开浏览器,访问多个页面,然后关闭浏览器的这个过程。比如说小明打开了谷歌浏览器,他想看会B站,接着去玩了4399小游戏,最后关掉浏览器。而我们的cookie和Session就是在会话中共享数据的。
我们可以回想一下,当我们打开浏览器,想要去淘宝逛逛双十一有什么优惠,但是忘记登陆账号了,选了几件衣服,加入购物车,这个时候电脑突然关机了,当我们再次开机时,购物车里的东西还在吗?当然是在的,这里就用到了cookie。
cookie译为小点心,它是一个客户端会话技术,是由服务器端创建,放在响应头发送到客户端保存,用于存储少量数据,因为存放在客户端中,容易被人编造伪造,不是很安全。一般不用于存储重要信息。它是通过键值对传递信息的。
-
- 1.1 创建并添加一个cookie
- 首先需要创建一个cookie的对象cookie,因为它是通过键值对传递信息,所以在cookie的构造方法中需要传入键和值。创建以后需要将新建的cookie对象放入响应中,随着响应传入客户端存储。
- 1.1 创建并添加一个cookie
-
//创建一个cookie对象 cookie cookie = new cookie("text","zhangsi"); //cookie的有效时间:默认情况下,随着浏览器的关闭而消失 //通过响应添加 resp.addcookie(cookie);1.2 获取cookie
-
-
cookie的获取需要通过请求获取,并且会返回一个cookie的数组,代码如下:
//通过请求获取cookie cookie[] cookies = req.getcookies(); for(int i = 0; i
因为获取的是cookie数组,所以需要通过遍历将值全部输出。
-
1.3 删除cookie
-
正是因为cookie是通过键值对传递的,所以键是具有唯一性,可以通过设置键名相同的cookie有效时间为0,将其删除,代码如下:
-
//建立同名的cookie cookie cookie = new cookie("text","1346"); //删除指定的cookie cookie.setMaxAge(0); resp.addcookie(cookie);1.4 cookie的有效期
-
总结一下,cookie是保存在客户端的数据,所以如果不做设定,默认情况下是跟着客户端一起消失的,如果设置了setMaxAge(),将会以设置的数值为主,时间到了将会自动消失。
-
1.5 课后思考
-
1.5.1. cookie的存活时间是多少?
-
1.5.2. cookie如何实现共享数据?
-
1.5.3.一个网站cookie是否存在上限?
-
答案将再下节Session公布
-
-
-



