cookie java js_java与javascript对cookie操作的工具类

package cn.utils;

import java.util.HashMap;

import java.util.Map;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* 操作cookie的工具类(默认cookie的有效路径为"/")

* @author zwq

* @version 1.0

*/

public class CookieUtil {

/**

* 设置cookie

* @param response @see javax.servlet.http.HttpServletResponse

* @param name cookie名

* @param value cookie值

* @param maxAge cookie的最大活跃时间(单位s)

*/

public static void setCookie(HttpServletResponse response,String name,String value,int maxAge){

Cookie cookie = new Cookie(name,value);

cookie.setPath("/");

if(maxAge>0)  cookie.setMaxAge(maxAge);

response.addCookie(cookie);

}

/**

* 根据cookie名获取cookie

* @param request @see javax.servlet.http.HttpServletRequest

* @param name cookie名

* @return

*/

public static Cookie getCookieByName(HttpServletRequest request,String name){

Map cookieMap = getCookieMap(request);

if(cookieMap.containsKey(name)){

Cookie cookie = (Cookie)cookieMap.get(name);

return cookie;

}else{

return null;

}

}

/**

* 获取cookie的map集合(key=cookieName,value=cookie)

* @param request @see javax.servlet.http.HttpServletRequest

* @return

*/

private static Map getCookieMap(HttpServletRequest request){

Map cookieMap = new HashMap();

Cookie[] cookies = request.getCookies();

if(null!=cookies){

for(Cookie cookie : cookies){

cookieMap.put(cookie.getName(), cookie);

}

}

return cookieMap;

}

/**

* 根据指定cookie名检测cookie是否存在

* @param request @see javax.servlet.http.HttpServletRequest

* @param name cookie名

* @return

*/

public static boolean checkCookieByName(HttpServletRequest request,String name) {

if (name != null && name.trim() != "") {

Cookie cookie = getCookieByName(request, name);

if (cookie != null) {

return true;

}

}

return false;

}

/**

* 根据指定cookie名删除cookie

* @param request @see javax.servlet.http.HttpServletRequest

* @param response @see javax.servlet.http.HttpServletResponse

* @param name cookie名

*/

public static boolean removeCookie(HttpServletRequest request ,HttpServletResponse response,String name) {

if (name != null && name.trim() != "") {

Cookie[] cookies = request.getCookies();

if (cookies != null && cookies.length > 0) {

for (Cookie cookie : cookies) {

String cookieName = cookie.getName();

// 找到需要删除的Cookie

if (name.equals(cookieName)) {

// 设置生存期为0

cookie.setMaxAge(0);

// 设回Response中生效

response.addCookie(cookie);

return true;

}

}

}

}

return false;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值