模拟京东网上商城--商品浏览历史

原创 2012年03月26日 10:39:01

  最近很忙,之前答应朋友写个商品浏览历史的文章。


上面是我本人做过的一个真实商业商城的历史浏览功能

 历史浏览的功能[cookie存储商品id]

1、限定显示个数比如为5个

2、最新浏览的产品置顶

3、如果浏览的商品已经存在cookie中,则删除存在的商品,并且将现在的商品置顶

4、如果商品个数已经是5个了,则去掉最后一个商品,将新商品置顶

为了满足以上功能 采用LinkedList可以灵活的处理以上的业务需求

public static string BuildHistory(string productId)
{
  string history=string.Empty;
  HttpCookieCollection cookies=HttpContext.Current.Request.Cookies;//获取cookie集合
  for(int i=0;cookies!=null&&i<cookies.Count;i++)
  {
    if(cookies[i].Name=="history")
    {
      history=HttpUtility.UrlDecode(cookies[i].Value);
    }
  }
  if(history==null)
  {
    return HttpUtility.UrlDecode(productId);
  }
  LinkedList<string> list=new LinkedList<string>(history.Split(','));
  if(list.Contains(productId))//如果当前商品id已经存在cookie中
  {
    list.Remove(productId);
  }
  else
  {
     if(list.Count>=5) 
     {
        list.RemoveLast();//如果个数已经达到最大值,则删除最后一个
     }
  }
  list.AddFirst(productId);//最新的商品置顶
  
  StringBuilder sb=new  StringBuilder();
  foreach(string proId in list)
  {
    sb.Append(proId+",");
  }
  return sb.ToString(0,sb.Length-1).ToString();//返回cookie值
} 


构建history的cookie,调用以上的方法-->将当前的浏览的商品Id 这些就不写了

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【SSH网上商城项目实战29】使用JsChart技术在后台显示商品销售报表

这个项目终于接近尾声了,注册功能我就不做了,关于注册功能我的另一篇博客详细的介绍了一下注册的表单验证,可以直接把功能加到本项目中,修改一下相关的跳转即可,就不再做了。另外,目前这个项目只有action...

【SSH网上商城项目实战12】添加和更新商品功能的实现

目录(?)[+]添加商品1 添加商品的UI实现2 添加商品的后台实现更新商品1 更新商品的UI实现2  更新商品的后台实现        添加商品部分原理和添加商品类别是一样的,不...

【SSH网上商城项目实战09】添加和更新商品类别功能的实现

目录(?)[+]添加商品类别 1 添加类别的UI设计2 添加类别的逻辑实现更新商品类别1 更新类别的UI设计2 更新类别的逻辑实现         上一节我们做完了查询和删除商品的功能,这一...

【SSH网上商城项目实战11】查询和删除商品功能的实现

目录(?)[+]查询商品功能的实现删除商品功能的实现        在第8节我们完成了查询和删除商品类别的功能,那么现在实现查询和删除商品的功能就很好做了,原理和第8节一模一样,只是修改一些参数,比如...

【SSH网上商城项目实战08】查询和删除商品类别功能的实现

目录(?)[+]添加更新删除和查询功能的前台实现 DataGrid类别查询的实现 DataGrid类别删除的实现        上一节我们完成了使用DataGrid显示所有商品信息,这节我们开始添加几...

【SSH网上商城项目实战10】商品类基本模块的搭建

前面我们完成了与商品类别相关的业务逻辑,接下来我们开始做具体商品部分。 1. 数据库建表并映射Model         首先我们在数据库中新建一张表,然后使用逆向工程将表映射成Model类,表如下:...

【SSH网上商城项目实战28】使用Ajax技术局部更新商品数量和总价

目录(?)[+]问题的分析Ajax请求的实现1 注册事件2 判断数据合法性3 发送Ajax请求后台的更新   昨天把项目部署了一下,玩了玩,今天完善了一下购物车中修改商品数量就能局部更...

【SSH网上商城项目实战28】使用Ajax技术局部更新商品数量和总价

在没有Ajax之前,一般都是根据用户修改的值去找Action,然后返回新的jsp页面重新加载整个页面,完成数字的更新。但是有了Ajax技术后,我们可以利用Ajax技术局部刷新要改变的地方,而不是重新加...

【SSH网上商城项目实战08】查询和删除商品类别功能的实现

上一节我们完成了使用DataGrid显示所有商品信息,这节我们开始添加几个功能:添加、更新、删除和查询。首先我们实现下前台的显示,然后再做后台获取数据。 1. 添加、更新、删除和查询功能的前台实现 ...

【SSH网上商城项目实战11】查询和删除商品功能的实现

在第8节我们完成了查询和删除商品类别的功能,那么现在实现查询和删除商品的功能就很好做了,原理和第8节一模一样,只是修改一些参数,比如请求不同的action等。由于查询和删除商品不需要弹出新的UI窗口,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)