`
yangshen998
  • 浏览: 1251195 次
文章分类
社区版块
存档分类
最新评论

显示浏览过的商品

 
阅读更多

显示浏览过的商品

在商品列表显示servlet中:

List<Goods>entities=gService.findAll();//通过findAll方法查询出所有商品

//输出显示所有商品

For(Goodsentity:entities){

Out.println(entity.getId()+"<ahref=\"detail.do?id="+entity.getId()+"\">"+entity.getName()+"</a>"+entity.getPrice());

}

//显示浏览过的商品信息

//声明浏览过的商品的value

Stringvalue=null;

Cookiecookies[]=request.getCookies();//获取cookie

//遍历cookie信息

For(inti=0;cookies!=null&&i<cookies.length();i++){

If("goodsHistory".equals(cookies[i].getName()){

Value=cookies[i].getValue();

}

}

If(value!=null){

//拆分

Stringids[]=value.split("\\_");

//输出信息

For(inti=0;i<ids.length;i++){

Out.println(gService.findById(Integer.parsetInt(ids[i]));

}

}

显示商品详细信息servlet:

Stringid=request.getParameter("id");//得到传过来的商品Id;

IntegernumId=Integer.parseInt(id);//类型转换;

Goodsentity=gService.findById(numId);//根据Id查询出该商品

//输出显示商品详细信息

Out.println(entity.getId()+entity.getName()+entity.getPrice());

Stringvalue=makeCookieValue(request,id);//设置cookie信息

//产生一个cookie对象

Cookiecookie=newCookie("goodsHistory",value);

cookie.setMaxAge(3600);//设置cookie有效期

cookie.setPath("/20111024");

response.addCookie(cookie);//响应

//方法设置cookievalue值内容

PrivateStringmakeCookieValue(HttpServletRequestrequest,Stringid){

StringgoodsHistory=null;

//第一步:获取cookie

Cookiecookies[]=request.getCookies();

For(inti=0;cookies!=null&&i<cookies.lenth();i++{

//在请求的所有cookie中匹配名字为goodsHistorycookie

if("goodsHistory".equals(cookies[i].getName())){

goodsHistory=cookies[i].getValues();

}

}

//第一次访问最大三次goodsHistoty=nullgoodsHistory=idgoodsHistory=1

//第二次访问goodsHistory=1id=2goodsHistory=2_1;

//第三次访问goodsHistory=2-1io=3goodsHistory=3_2_1;

//第四次访问goodsHistory=3_2_1id=2goodsHistory=2_3_1;

//第四次访问goodsHistory=3_2_1id=4goodsHistory=4_3_2;

If(goodsHisoty==null){

goodsHistory=id;

}else{

LinkedList<String>list=new LinkedList<String>(Arrys.asList(goodsHistory.split("\\_")));

If(list.contains(id)){

List.remove(id);

list.addFirst(id);

}else{

If(list.sizi()>=3){

list.removeLast();

list.addFirst(id);

}else{

list.addFirst(id);

}

}

StringBuffersb=newStringBuffer();

For(Stringids:list){

Sb.append(ids+"_");

}

sb.deleteCharAt(sb.lenth()-1);

godsHistory=sb.toString();

}

ReturngoodsHistory;

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics