一、Cookie
1. 概念: 客户端回话技术,将数据保存到客户端
2. 常用方法:
- 创建Cookie对象,绑定数据
new Cookie(String name, String value)- 发送Cookie对象
response.addCookie(Cookie cookie)- 获取Cookie,拿到数据
Cookie[] request.getCookies()- 持久化存储
setMaxAge(int seconds) ->负数为默认值,0为删除cookie,正数为时间到后删除文件- 设置同服务器cookie获取范围
setPath(String path) ->默认情况下,设置当前的虚拟目录,如果要共享则是“/”- 不同服务器cookie共享
setDomain(String path)
3. 实现原理:基于响应头set-cookie和请求头cookie实现
4. cookie其它:
- 一次性可发送多个cookie
- 在tmocat 8之前cookie不能直接存储中文数据。之后中文能支持,特殊字符不支持,建议使用URL编码存储/解析
- cookie存储数据在客户端浏览器,单个大小为4kb,同域名下cookie数量为20个
- cookie一般存储少量不敏感数据,在不登录的情况完成服务器对客户端的身份识别
二、案例
1. 需求:
获取cookie判断是否是第一次访问,若是第一次访问,则记录本次访问时间,并添加给cookie,若不是第一次访问,则获取最后一次访问的时间。
2.代码实现
续:
3. 结果
补充:
not learn to live:
战争不决定谁对了,只决定谁留下了。(罗素)