Cookie 客户端
生命周期
创建
在服务器端 new Cookie对象, 通过response.addCookie添加到客户端
销毁
-
关闭浏览器时立即销毁(保护客户端安全)
保存位置: 浏览器运行的进程缓存 -
用户手动操作(主动清理浏览器缓存-cookie)
-
设置Cookie存活时间(不会在关闭浏览器时销毁)
保存位置: Cookie会以文件的形式存储在客户端浏览器缓存目录中
package com.javakc.web1.cookie;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
@WebServlet(
name = "userServlet",
urlPatterns = "/user.do",
loadOnStartup = 0
)
//cookie创建
public class UserServlet1 extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//创建cookie
Cookie cookie = new Cookie("name", "admin");
//设置销毁时间,单位:秒
cookie.setMaxAge(60 * 60 * 24 * 7);
response.addCookie(cookie);
}
}
Session与Cookie区别
区别 | session | cookie |
---|---|---|
数据类型 | session.setAttribute(“string”, object); session支持任意的数据类型 | new Cookie(“string”, “string”); cookie仅支持字符串类型 |
存储位置 | session存储在服务器端 | cookie存储在客户端 |
容量大小 | session理论上没有容量上限 | 条数:每个域名下最多50条 大小: 不能超过4096子节 |