使用cookie保存用户的浏览记录

我们在写关于用户对商品额的浏览记录的时候一般使用cookie进行记录,cookie一般保存字符串比较常用,如果想保存对象可以使用序列化,这里不做过多的解释,我们现在只做简单的cookie应用,cookie中保存字符串。

我们将商品的照片路径(字符串)保存在cookie中从而实现对用户的浏览信息进行记录。每个商品都有自己的id,每个用户也有自己的id,当我们对某一个用户的浏览信息进行记录的时候,我们就可以使用商品的id和用户的id形成唯一的字符串,作为cookie的值,从而达到记录不同用户的浏览信息。

设置cookie

			Cookie goodsImageCookie = null;	
			//goodsImage为商品的图片路径,如有中文存值还要进行编码,取值进行解码
			//id为商品的id, userId为用户的id(这两个参数应该是从前台传来的,不管你以何种形式传)
			goodsImageCookie = new Cookie("goodsImage"+id+"user"+userId,goodsImage);											
			goodsImageCookie.setPath("/store/");//设置cookie的可见级别(说法有点不正确)
			//第一个“/”表示webapp下的根目录,
			//上面的“/store/”此cookie对webapp下的store应用可见,一般设置成“/项目名/”			
			goodsImageCookie.setMaxAge(86400);//此cookie的有效期,单位为妙						
			response.addCookie(goodsImageCookie);//添加cookie

读取cookie中保存的值。

		Cookie cookie [] = request.getCookies();//获取所有cookie
	  	if(cookie!=null && cookie.length>0){
	  		for(Cookie c:cookie){
	  			String goods = c.getName();//获取cookie的名字。uid用户的id
	  			if(goods.indexOf("goodsImage")!=-1 && goods.indexOf("user"+uid)!=-1){//用用户id的唯一性定位cookie保存的值属于哪个用户
	  				list.add(0,c.getValue());//若此cookie名字满足要求,获取此cookie,添加到list
	  			}	  				  		
	  		}
	  	}
上面我们对cookie进行了保存和取值,上面就是一个使用cookie记录用户浏览记录的简单实现,我们使用商品的id确定是哪个商品,使用用户的id确定是哪个用户,以达到形成唯一的cookie名字,这样我们就唯一确定了一个商品的是被哪个用户浏览的,达到了记录用户的浏览记录的功能。如果我们需要在浏览记录中显示浏览的时间,商品的名字,价格等都可以使用此方法,唯一的确定cookie的名字,然后对每个cookie名字进行解析,找到相应的cookie,从中取值。


版权声明:本文为qq_32998153原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。