java如何创建cookie
创建 Cookie 的基本方法
在 Java 中,可以通过 javax.servlet.http.Cookie 类创建 HTTP Cookie。以下是创建 Cookie 的示例代码:
import javax.servlet.http.Cookie;
// 创建 Cookie 对象
Cookie cookie = new Cookie("username", "john_doe");
// 设置 Cookie 属性(可选)
cookie.setMaxAge(60 * 60 * 24); // 过期时间为 1 天(秒为单位)
cookie.setPath("/"); // 设置 Cookie 的路径
cookie.setHttpOnly(true); // 防止客户端脚本访问
cookie.setSecure(true); // 仅通过 HTTPS 传输
添加 Cookie 到 HTTP 响应
创建 Cookie 后,需要将其添加到 HTTP 响应中才能发送给客户端:
import javax.servlet.http.HttpServletResponse;
// 假设 response 是 HttpServletResponse 对象
response.addCookie(cookie);
读取 Cookie 的方法
要从 HTTP 请求中读取 Cookie,可以使用以下代码:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.Cookie;
// 假设 request 是 HttpServletRequest 对象
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie c : cookies) {
if ("username".equals(c.getName())) {
String value = c.getValue();
// 处理 Cookie 值
}
}
}
删除 Cookie 的方法
要删除 Cookie,可以设置其最大生存时间为 0:
// 创建同名 Cookie
Cookie cookie = new Cookie("username", "");
// 设置立即过期
cookie.setMaxAge(0);
cookie.setPath("/"); // 必须与创建时的路径一致
// 添加到响应
response.addCookie(cookie);
注意事项
- Cookie 的名称和值只能是 ASCII 字符,不支持 Unicode
- 单个 Cookie 大小通常限制为 4KB
- 浏览器通常限制每个域名下的 Cookie 数量(约 20-50 个)
- 敏感信息不应存储在 Cookie 中,应考虑使用会话或其他安全机制







