java cookie的操作
java中对cookie的操作
注意:在cookie 的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格,参数name需要遵循规范RFC2109,也就是说name参数只能包含字母或者数字,不能包含逗号、分号、空格及美元符号
java 后台对cookie设置存活时间的时候单位为秒
1、使用java后台对cookie进行操作
public class CookieUtil {
/**
* 根据cookie的名字获取cookie的信息
* @param name
* @param request
* @return
*/
public static String getCookie(String name,HttpServletRequest request){
Cookie[] cookies=request.getCookies();
for(Cookie cookie:cookies){
if(name.equals(cookie.getName())){
return cookie.getValue();
}
}
return "";
}
/**
* 添加cookie
* @param name
* @param maxAge
* @param value
* @param response
*/
public static void addCookie(String name,int maxAge,String value,HttpServletResponse response){
boolean flag=false;
Cookie cookie = new Cookie(name, value);
cookie.setPath("/");
cookie.setMaxAge(maxAge);//秒
response.addCookie(cookie);
}
/**
* 删除cookie
* @param name
* @param request
* @param response
*/
public static void delCookie(String name,HttpServletRequest request, HttpServletResponse response) {
Cookie[] cooks = request.getCookies();
for (Cookie cook : cooks) {
if (cook.getName().equals(name)) {
cook.setPath("/");
cook.setMaxAge(0);
response.addCookie(cook);
}
}
}
也可以加上,来表示当前这个cookie使用在什么域中
cookie.setDomain(".baidu.com");
2、使用jquery 对js进行操作
1. 设置cookie的值,把name变量的值设为value
example $.cookie(’name’, ‘value’);
2.新建一个cookie 包括有效期 路径 域名等
example $.cookie(’name’, ‘value’, {expires: 7, path: ‘/’, domain: ‘jquery.com’, secure: true});
3.新建cookie
example $.cookie(’name’, ‘value’);
4.删除一个cookie
example $.cookie(’name’, null);
5.取一个cookie(name)值给myvar
var account= $.cookie('name');
记得引入jquery.cookie.js
js,往cookie中添加数据,并计算总数
var cartList=$.cookie("${_cartCookie}");
var count=0;
if(cartList){
var carts="";
var cart="";
var cartLists="";//重新组合
var flag=true;
if(cartList.indexOf(productID)>-1){
carts=(cartList.match(productID+"a[0-9]*b")[0]).split("a");
cartOld=carts[0]+"a"+carts[1];
cartNew=productID+"a"+(parseInt(carts[1])+parseInt(buyCount));
cartLists=cartList.replace(cartOld,cartNew);
}else{
cartLists=cartList+productID+"a"+buyCount+"b";
}
cartList=cartLists
$.cookie("${_cartCookie}",cartLists,{expires:${_cartCookieMaxAge},path: '/'});
}else{
var value=productID+"a"+buyCount+"b";
cartList=value;
$.cookie('${_cartCookie}', value, { expires: ${_cartCookieMaxAge},path: '/' });
}
var cartArray=cartList.split("a");
for(var i=0;i<cartArray.length;i++){
if(cartArray[i]){
cartArrays=cartArray[i].split("a");
count+=parseInt(cartArrays[1]);
}
}