Cookie
Cookie 是服务端在 HTTP 响应中附带传给浏览器的⼀个小文本文件,⼀旦浏览器保存了某个 Cookie,在之后的请求和响应过程中,会将此 Cookie 来回传递,这样就可以通过 Cookie 这一个载体来完成客户端和服务端的数据交互。
使用
创建 Cookie
Cookie cookie = new Cookie("name","tom");
response.addCookie(cookie);
读取 Cookie
Cookie[] cookies = request.getCookies();
for (Cookie cookie:cookies){
out.write(cookie.getName()+":"+cookie.getValue()+"<br/>");
}
常用方法
- void setMaxAge(int age) 设置 Cookie 的有效时间,单位为秒
- int getMaxAge() 获取 Cookie 的有效时间
- String getName() 获取 Cookie 的 name
- String getValue() 获取 Cookie 的 value
Session 和 Cookie 的区别
session:保存在服务器,保存的数据是 Object,会随着会话的结束而销毁。主要用来保存重要信息
cookie:保存在浏览器,保存的数据是 String,可以长期保存在浏览器中,用来保存不重要信息
存储用户信息:
session:
存setAttribute("name","admin")
getAttribute("name") 取
⽣命周期:
- 服务端:只要 WEB 应用重启就销毁
- 客户端:只要浏览器关闭就销毁。
退:session.invalidate()
cookie:
存:response.addCookie(new Cookie(name,"admin"))
取:Cookie[] cookies = request.getCookies();
输出:
for (Cookie cookie:cookies){
if(cookie.getName().equals("name")){
out.write("欢迎回来"+cookie.getValue());
}
}
⽣命周期:不随服务端的重启而销毁。
客户端:默认是只要关闭浏览器就销毁,我们通过 setMaxAge()方法设置有效期,一旦设置了有效期,则不随浏览器的关闭而销毁,而由设置的时间来决定。
退:setMaxAge(0) 把有效时间设置为0
版权属于:乐心湖's Blog
本文链接:https://www.xn2001.com/archives/416.html
声明:博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!