servlet中cookie的基本操作:
/*创建cookie对象*/
Cookie cookie = new Cookie("xzq","20");
response.addCookie(cookie);
//cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击
cookie.setHttpOnly(true);
/*获取cookies数组*/
Cookie[] cookies = request.getCookies();
for(Cookie co:cookies){
System.out.println(co.getName());
System.out.println(co.getValue());
}
/*设置到期时间*/
Cookie cookie1 = new Cookie("uname","hauhua");
/*负数表示浏览器窗口关闭就失效了
* 0表示,删除这个cookie,也就是原来由这个cookie,设置它的失效时间为0,也就删除了
* 为整数,则表示存活时间,单位是秒*/
cookie1.setMaxAge(60*5);
response.addCookie(cookie1);
/*存中文的问题*/
/*中文问题,需要通过URLEncoder.encoder()进行编码*/
String name="年龄";
String value="20";
name= URLEncoder.encode(name,"utf-8");
value=URLEncoder.encode(value,"utf-8");
Cookie cookie2 = new Cookie(name,value);
response.addCookie(cookie2);
/*解码*/
/* URLDecoder.decoder()进行解码*/
URLDecoder.decode(cookie2.getName(),"utf-8");
URLDecoder.decode(cookie2.getValue(),"utf-8");
/*Cookie路径问题*/
Cookie cookie3 = new Cookie("hobby","play");
/*当前服务器上任何项目都可以访问*/
// cookie3.setPath("/");
cookie3.setPath(requst.getContextPath())