java会话技术:之cookie
会话技术:一次会话包含多次请求和响应
* :客户端第一次向服务器发送请求,会话建立,直到有一方断开连接,那么会话终止
功能:在一次会话范围内的多次请求,间共享数据。
客户端会话技术:Cookie
Cookie将数据保存在客户端
如何使用Cookie
1创建Cookie对象,绑定数据
Cookie cookie = new Cookie(String name, value)
2发送Cookie
response.addCookie(cookie )
3获取Cookie 拿到数据
Cookie[] cookies=request.getCookies()
实现原理:
基于响应头set-Cookie 和请求头cookie实现
4Cookie细节
1一次可以发送多个Cookie,创建多个Cookie对象然后多次调用request.addCookie()J即可
Cookie在浏览器中保存多次时间?
1默认情况,会话结束,那么数据丢失
2持久化存储
使用方法setMagAge(int sencond)
正数, 指定Cokkie存活的时间,也可以保存相应毫秒的时间
负数:默认值
0:删除Cookie
3Cookie怎么存储中文:
tomcat8之前,需要将数据进行转换成url变编码进行传输
Tomcat8之后。还要支持中文,但是特殊字符还是不支持,需要使用url编码进行存储,传输
Cookie的共享问题:
在一个tomcat部署了多个web项目,怎么样让其进行数据共享
setPath() 该路径默认为虚拟路径,如果要共享,设置其路径为缺省路径/即可。
不同的Tomcat之间怎么进行共享:
子域名可以共享父域名的Cookie数据()
Cookie的特点和作用(3个):
1Cookie的数据存储在客户端(它是客户端会话技术)
2浏览器对应Cookie的大小和数量都有限制,同一个域名下的Cookie的数量为20个,一个Cookie的大小为4kb
3Cookie一般存储不太敏感的数据,(它不太安全,(稍微懂点会话技术的人,都可以看到甚至提取该信息))