⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cookieoperate.java

📁 基于struts+hibernate的电子商务网站。可运行。数据库mysql
💻 JAVA
字号:
//Source file: D:\\tarena\\global\\CookieOperate.java

package tarena.global;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.StringTokenizer;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;

import tarena.dao.pages.ShopcartDAO;
import tarena.entity.Shopcart;

public class CookieOperate {
	
	/**
	 * 在Cookie中存放的商品信息格式如下:
	 * pid,cid,amt|pid,cid,amt|...|pid,cid,amt
	 * 其中:
	 * pid 商品id
	 * cid 颜色id
	 * amt 商品数量
	 */
	
	//购物车中商品的分隔符
	public final static String PRODUCT_SEPRATOR = "|";
	//商品属性的分隔符
	public final static String ATTRBUTE_SEPRATOR = ",";
	
	
	/**
	 * 
	 * @roseuid 490AA60300AB
	 */
	public CookieOperate() {

	}

	/**
	 * 查找cookie
	 * @param name - cookie名称
	 * @param cookies - 客户端cookie
	 * @return tarena.global.CookieOperate
	 * @roseuid 490AA61F0251
	 */
	public static Cookie FindCookie(String name, Cookie[] cookies) {
		if(cookies!=null){			
			for(Cookie cookie:cookies){
				if(cookie.getName().equals(name)){
					return cookie;
				}
			}
		}
		return null;
	}

	/**
	 * 删除cookie
	 * @param cookie - 删除某个cookie
	 * @param response - response
	 * @roseuid 490AA6260232
	 */
	public static void DeleteCookie(Cookie cookie, HttpServletResponse response) {
		cookie.setMaxAge(0);
		cookie.setPath("/");
		response.addCookie(cookie);
	}

	/**
	 * @param cookie - cookie
	 * @param response - response
	 * @roseuid 490AA62C02EE
	 */
	public static void SaveCookie(Cookie cookie, HttpServletResponse response) {
		//System.out.println("CookieOperator:saveCookie "+cookie.getValue());
		cookie.setPath("/");
		response.addCookie(cookie);
	}
	
	/**
	 * 解析cookie字符串,获取购物车对象
	 * @param cookie
	 * @return
	 */
	public static List<Shopcart> getGoodsFromCookie(String cookie){
		List<Shopcart> goods = Collections.synchronizedList(new LinkedList<Shopcart>());
		if(cookie==null||cookie.equals("")) return goods;
		try {
			cookie = URLDecoder.decode(cookie, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			return goods;
		}
		StringTokenizer st = new StringTokenizer(cookie,PRODUCT_SEPRATOR);
		while(st.hasMoreTokens()){
			String next = st.nextToken();			
			Shopcart cart = ShopcartDAO.getShopcartFromString(next);
			if(cart!=null){				
				goods.add(cart);
			}
		}
		return goods;
	}
	
	/**
	 * 将购物车对象生成指定格式的字符串对象
	 * @param goods
	 * @return
	 */
	public static String toCookieString(List<Shopcart> goods){
		StringBuffer cookie = new StringBuffer();
		for(Shopcart cart:goods){			
			cookie.append(cart.toString());
			cookie.append("|");
		}
		return cookie.toString();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -