功能:
在一次会话范围内多次请求,共享数据。
方式:
1,客户端会话技术:Cookie
2,服务器端会话技术:Session
Cookie
实现原理:
基于响应头set-cookie和请求头cookie实现
代码实现:
Cookie cookie = new Cookie("msg", "hello");
response.addCookie(cookie);
Cookie[] cookies = request.getCookies();
if(cookies!=null) {
for(Cookie c : cookies) {
String name = c.getName();
String value = c.getValue();
System.out.println(name+":"+value);
}
}
细节
1,可以一次发送多个cookie,使用response调用多次addCookie方法发送cookie即可
2,默认情况下,当浏览器关闭后,Cookie数据被销毁。
持久化存储:可以设置setMaxAge(int seconds)
可以取值为:
正数:将Cookie数据写道硬盘文件中。持久化存储。
负数:默认值
零:删除Cookie数据
3,在tomcat 8 之前,不能存储直接存储数据,需要数据转码,一般采用URL编码
4,默认情况下,在一个服务器中部署了多个web项目,cookie不能共享。
setPath(String path):设置cookie获取范围,默认情况下回去设置当前的虚拟目录。如果要共享,可以将path设置为“/”。
不同的tomcat服务器共享问题
setDomain(String path):如果一级域名相同,那么多个服务器之间cookie可以共享。
Cookie的特点和作用
1,cookie存储数据在浏览器中
2,浏览器对于单个cookie(4k)的大小有限制以及对同一个域名下的总cookie数量也有限制(20)。
作用:
1,cookie一般用于存储少量的不太敏感的数据。
2,在不登陆的情况下,完成服务器对客户端的身份识别。
来源:CSDN
作者:6k不多吧
链接:https://blog.csdn.net/weixin_45371966/article/details/103616864