java 如何设置cookie
设置Cookie的方法
在Java中设置Cookie可以通过Servlet API实现,主要涉及javax.servlet.http.Cookie类。以下是具体操作方式:
创建Cookie对象
使用Cookie类的构造函数创建Cookie,传入名称和值:
Cookie cookie = new Cookie("user", "JohnDoe");
设置Cookie属性 可以通过以下方法配置Cookie的额外属性:
cookie.setMaxAge(60 * 60 * 24); // 设置有效期(秒),这里设置为1天
cookie.setPath("/"); // 设置Cookie的作用路径
cookie.setDomain("example.com"); // 设置域名限制
cookie.setSecure(true); // 仅通过HTTPS传输
cookie.setHttpOnly(true); // 防止客户端脚本访问
添加到响应头
通过HttpServletResponse对象将Cookie添加到响应中:
response.addCookie(cookie);
读取Cookie的方法
从客户端请求中读取Cookie:
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie c : cookies) {
if ("user".equals(c.getName())) {
String value = c.getValue();
break;
}
}
}
删除Cookie的技巧
通过设置MaxAge为0并覆盖原有Cookie实现删除:

Cookie cookie = new Cookie("user", "");
cookie.setMaxAge(0);
cookie.setPath("/");
response.addCookie(cookie);
注意事项
- 浏览器对Cookie数量和大小有限制(通常每个域名不超过50个,单个Cookie不超过4KB)
- 敏感信息不应存储在Cookie中,建议使用Session
- 设置
HttpOnly和Secure标志可提升安全性 - 跨域Cookie需特殊处理,需设置
Domain属性并符合同源策略






