为什么会有Cookie
web应用程序是使用http协议传输数据的。HTTP是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。
Cookie的出现是为了存储web中的状态信息,以方便服务器端使用,比如判断用户是否是第一次访问网站
what is Cookie?
Cookie是由服务器端生成的,发送给User_Agent(一般是浏览器),(服务器告诉浏览器设置一下Cookie),浏览器会自动将Cookie 以key/value(键值对)保存到某个目录下的文本文件内,下次请求会自动发送该Cookie给服务器
- 基于 响应头set-cookie和请求头cookie实现
Cookie的特点与作用
1.cookie存储数据在客户端浏览器
2.浏览器对于单个cookie 的大小有限制(4kb) 以及 对同一个域名下的总cookie数量也有限制(20个)
3.默认情况下,当浏览器关闭后,Cookie数据被销毁
可设置持久化存储:
*setMaxAge(int seconds)
//一天时间
setMaxAge(60*60*24)
- 作用:
1.cookie一般用于存出少量的不太敏感的数据
2.不登录的情况下,完成服务器对客户端的身份识别
快速入门
- 使用步骤:
1.创建Cookie对象,绑定数据
new Cookie(String name,string vlaue)
2.发送Cookie对象
response.addCookie(Cookie cookie)
3.获取Cookie,拿到数据
Cookie[] request.getCookies()
Cookiedemo1.java
//1.创建Cookie对象
Cookie c= new Cookie("msg","hello");
//2.发送Cookie
response.addCookie(c);
Cookiedemo2.java
//3.获取Cookie
Cookie [] cs= request.getCookies();
//遍历Cookie
if(cs!=null){
for(Cookie c:cs){
String name = c.getName();
String value = c.getValue();
System.out.println(name+":"+value);