会话:用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称为session。
有状态会话:
一个网站如何证明用户访问过?
客户端 服务端
1.服务端给客户端一个凭证,客户端下次访问时携带凭证即可。cookie
2.服务端记录访问记录,下次访问时进行匹配。 session
cookie
常见应用场景:网站默认登录。
1.从请求中拿到cookie信息
2.服务器响应给客户端cookie
Cookie[] cookies = req.getCookies(); //这里返回数组,说明cookie可能存在多个
cookie.getName()
cookie.getValue()
`new Cookie("lastLoginTime", System.currentTimeMillis()+"");`//新建一个cookie
`cookie.setMaxAge(24*60*60);`//设置cookie的有效期
`resp.addCookie(cookie);`//响应给客户端一个cookie
**cookie:一般会保存在本地的用户目录下appdata**
一个网站的cookie是否存在上限
+ 一个cookie只能保存一个信息
+ 一个web站点可以给浏览器发送多个cookie,最多存放300个
+ Cookie大小有限制,单个最大4KB
+ 一个浏览器cookie上限300个
删除cookie
+ 不设置有效期,关闭浏览器后自动失效
+ 设置有效期时间为0
**编码解码**
new Cookie("name", URLEncoder.encode("中文", "utf-8"));
out.write(URLDecoder.decode(cookie.getValue(), "utf-8"));
原文:https://www.cnblogs.com/UltraBlast/p/14386501.html