Java Cookie 操作工具类
这个 工具类 是我们公司一个同事封装的 Java 对 Cookie 操作的工具类,我用着觉得挺好使的。所以就发出来共享。具体使用看每个方法的注释。
下面上代码:
package com.sojson.common.utils;
/**
*
* 开发公司:九樱天下<br/>
* 版权:九樱天下<br/>
* <p>
*
* <p>
*
* 区分 责任人 日期 说明<br/>
* 创建 蒋飞 2014年6月19日 <br/>
* <p>
* *******
* <p>
* @author jiang-fei
*
* @version 1.0,2014年6月19日 <br/>
*
*/
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CookieUtil {
/**
* 设置cookie
*
* @param response
* @param name
* cookie名字
* @param value
* cookie值
* @param maxAge
* cookie生命周期 以秒为单位
*/
public static void addCookie(HttpServletResponse response, String name,
String value, int maxAge) {
try {
Cookie cookie = new Cookie(name, value);
if (maxAge > 0)
cookie.setMaxAge(maxAge);
cookie.setPath("/");
response.addCookie(cookie);
} catch (Exception ex) {
LoggerUtils.error(CookieUtil.class, "创建Cookies发生异常!", ex);
}
}
/**
* 清空Cookie操作 clearCookie
*
* @param request
* @param response
* @return boolean
* @author JIANG FEI Jun 19, 2014 10:12:17 AM
*/
public static boolean clearCookie(HttpServletRequest request,
HttpServletResponse response, String name) {
boolean bool = false;
Cookie[] cookies = request.getCookies();
if(null == cookies || cookies.length == 0) return bool;
try {
for (int i = 0; i < cookies.length; i++) {
Cookie cookie = new Cookie(name, null);
cookie.setMaxAge(0);
cookie.setPath("/");// 根据你创建cookie的路径进行填写
response.addCookie(cookie);
bool = true;
}
} catch (Exception ex) {
LoggerUtils.error(CookieUtil.class, "清空Cookies发生异常!", ex);
}
return bool;
}
/**
* 清空Cookie操作 clearCookie
*
* @param request
* @param response
* @return boolean
* @author JIANG FEI Jun 19, 2014 10:12:17 AM
*/
public static boolean clearCookie(HttpServletRequest request,
HttpServletResponse response, String name, String domain) {
boolean bool = false;
Cookie[] cookies = request.getCookies();
if(null == cookies || cookies.length == 0) return bool;
try {
for (int i = 0; i < cookies.length; i++) {
Cookie cookie = new Cookie(name, null);
cookie.setMaxAge(0);
cookie.setPath("/");// 根据你创建cookie的路径进行填写
cookie.setDomain(domain);
response.addCookie(cookie);
bool = true;
}
} catch (Exception ex) {
LoggerUtils.error(CookieUtil.class, "清空Cookies发生异常!", ex);
}
return bool;
}
/**
* 获取指定cookies的值 findCookieByName
*
* @param request
* @param name
* @return String
* @author JIANG FEI Jun 19, 2014 10:22:51 AM
*/
public static String findCookieByName(HttpServletRequest request,
String name) {
Cookie[] cookies = request.getCookies();
if(null == cookies || cookies.length == 0) return null;
String string = null;
try {
for (int i = 0; i < cookies.length; i++) {
Cookie cookie = cookies[i];
String cname = cookie.getName();
if (!StringUtils.isBlank(cname) && cname.equals(name)) {
string = cookie.getValue();
}
}
} catch (Exception ex) {
LoggerUtils.error(CookieUtil.class, "获取Cookies发生异常!", ex);
}
return string;
}
}
版权所属:SO JSON在线解析
原文地址:https://www.sojson.com/blog/104.html
转载时必须以链接形式注明原始出处及本声明。
如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。