0
点赞
收藏
分享

微信扫一扫

商品浏览记录查看

前程有光 2023-02-01 阅读 49


1 使用cookie保存记录,而不用session保存。因为cookie可以设置生命周期

2.使用栈来保存访问的顺序,因为后进先显示

String pids=pid;
Cookie[]cookies=request.getCookies();
if(cookies!=null){
for(Cookie cookie :cookies){
if("pids".equals(cookie.getName())){
pids=cookie.getValue();
//将pids拆成一个数组
String[]split=pids.split("-");
List<String>asList=Arrays.asList(split);
LinkedList<String> list=new LinkedList<String>(asList);
if(list.contains(pid)){
list.remove(pid);
}
list.addFirst(pid);
StringBuffer sb=new StringBuffer();
for(int i=0;i<list.size();i++){
sb.append(list.get(i));
sb.append("-");
}
pids=sb.substring(0,sb.length()-1);

}
}
}
Cookie cookie_pids=new Cookie("pids",pids);
response.addCookie(cookie_pids);

cookie如果是第一次访问,商品id入栈。如果不是第一次访问则需要判断cookie栈中是否存在该商品的id,如果存在,则将其删除,重新入栈。如果不存在,入栈。最终,生成一个1-2-3-4的栈,数字代表id,根据id显示商品。

举报

相关推荐

0 条评论