javaWeb之cookie

cookie:曲奇饼干 ps:我给你

session:会话 ps:交谈

用户打开浏览器,点击了超链接,访问了多个web资源,关闭浏览器,称之为会话。

1、有状态会话

一个网站怎么证明你来过?
客户端 服务端
服务端给客户端一个信件:cookie,客户端下次访问服务端带上cooike
服务器登记你来过了,下次你来的时候匹配你

保存会话的两种技术

cookie:
客户端技术(请求、响应)
session:
服务端技术,利用这个技术可以保存用户的会话信息,把信息放在放在session中
常见例子:
网站登录之后,下次不用在登陆了

1、从请求中拿到cookie信息
2、服务器响应给客户端

 //cookie 服务器端从客户端获取
        Cookie[] cookies = req.getCookies(); //这里返回数组可能cooike存在多个
		cookie.getName()//获取cookie中的键
		cookie.getValue();//获取cookie中的值
		new Cookie("lastLoginTime", String.valueOf(System.currentTimeMillis()));//new一个cookie
		//设置有效期
        cookie.setMaxAge(24*60*60);
		
		resp.addCookie(cookie);//响应给客户端

3、cookie一般保持在本地,用户目录下的appDate中
4、一个网站是否存在cookie上限,
一个cookie只能保存一个信息
一个web站点可以给浏览器发送多个cookie,最多发送20个
cookie大小限制4kb
浏览器上限 300个

删除cookie

1、不设置有效期,关闭浏览器自动失效
2、设置有有效期为0
3、手动删除cookie

/创建一个cookie,名字必须要和要删除的名字一致,访问另一个地址
        Cookie cookie = new Cookie("lastLoginTime", String.valueOf(System.currentTimeMillis()));
        cookie.setMaxAge(0);
		resp.addCookie(cookie);

中文cookie 注意编码和解码

//解码
URLDecoder.decode(cookie.getValue(),"utf-8")
//编码
Cookie cookie = new Cookie("name", URLEncoder.encode("杀杀杀","utf-8"));
posted @   Takiyo  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示