Cookie: 在客户端保存服务器数据,在客户端实现数据共享.
* cookie.setMaxAge(); cookie生命周期
* cookie.setMaxAge(0); 立即删除cookie
* cookie.setMaxAge(100); 设定100秒有效期 100秒之后自动删除
* cookie.setMaxAge(-1); 关闭会话后删除
设定path cookie的权限设定
* cookie.setPath(“/”) 一般条件下设定为/ 通用
* 权限:根目录及其子目录有效
* cookie.setPath(“/user”)
* 权限:/user目录下有效
设定Cookie资源共享
* cookie特点: 自己的域名下,只能看到自己的Cookie. 默认条件下不能共享的
* cookie.setDomain(“jt.com”); 只有在xxx.jt.com的域名中实现数据共享
package com.xxx.util;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//工具API 主要负责 新增cookie 删除cookie 根据key获取cookie 获取cookie的值
public class CookieUtil {
public static void addCookie(HttpServletResponse response,String name, String value, int maxAge, String path, String domain){
Cookie cookie = new Cookie(name, value);
cookie.setMaxAge(maxAge);
cookie.setPath(path);
cookie.setDomain(domain);
response.addCookie(cookie);
}
public static void delCookie(HttpServletResponse response,String name,String path, String domain){
addCookie(response, name, "", 0, path, domain);
}
public static Cookie getCookie(HttpServletRequest request,String name){
Cookie[] cookies = request.getCookies();
if(cookies !=null && cookies.length >0){
for (Cookie cookie : cookies){
if(name.equals(cookie.getName())){
return cookie;
}
}
}
return null;
}
public static String getCookieValue(HttpServletRequest request,String name){
Cookie cookie = getCookie(request, name);
return cookie==null?null:cookie.getValue();
}
}