1、cookie的增删改查
cookie不支持特殊字符,建议所有要存储的内容都应进行URLEncoder.encode编码
解码用URLDecoder.decode
//设置cookie 名称和值
Cookie name = new Cookie("name","abin");
Cookie token = new Cookie("token", "123456");
//设置cookie的作用域 "/"代表根目录(localhost),可指定在根目录下的任意一个目录生成有效cookie,包括其他web项目以及子目录;
//path不设置默认为本目录的上一层目录如:"/servletcookietwo/final/go" cookie生效path为:"/servletstudy/servletcookietwo/final"
name.setPath("/servletstudy");
token.setPath("/servletstudy");
name.setDomain("");
//设置过期时间 -1默认为session 0表示清除,可以用这个值来清除cookie 以秒为单位
name.setMaxAge(60*60*24);
token.setMaxAge(60*60*24);
//设置cookie
resp.addCookie(name);
resp.addCookie(token);
System.out.println("设置cookie");
查询cookie
for (Cookie cookie : req.getCookies()){
System.out.println(cookie.getValue());
System.out.println(cookie.getName());
System.out.println("删除cookie");
cookie.setMaxAge(0);
resp.addCookie(cookie);
}
网络请求抓包结果
2、cookie的作用域
setPath 可在同一服务器下共享
setDomain
网友评论