javaWeb之cookie
cookie:曲奇饼干 ps:我给你
session:会话 ps:交谈
用户打开浏览器,点击了超链接,访问了多个web资源,关闭浏览器,称之为会话。
1、有状态会话
一个网站怎么证明你来过?
客户端 服务端
服务端给客户端一个信件:cookie,客户端下次访问服务端带上cooike
服务器登记你来过了,下次你来的时候匹配你
保存会话的两种技术
cookie:
客户端技术(请求、响应)
session:
服务端技术,利用这个技术可以保存用户的会话信息,把信息放在放在session中
常见例子:
网站登录之后,下次不用在登陆了
cookie
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"));
分类:
java学习小计