今天介绍历史记录这个业务点,我们浏览某商品后,会留下历史记录,我们可以选择把这些数据存储在缓存redis中,也可以选择作为域存储


我这里只是简单地选择把商品地图片进行展示,事实上还可以在这个基础上在加上商品地名称与详细信息链接。

浏览记录

我们浏览某商品,浏览完了之后,会把刚才浏览的商品的一些信息存储到cookie中

 //获得要查询商品的pidString pid = request.getParameter("pid");

我们这里需要判断是否之前已经浏览过该商品,如果已经浏览过,则把该cookie置前

//获得客户端携带的cookie--名字是pids的cookieCookie[] cookies=request.getCookies();String pids = pid;if(cookies!=null){for(Cookie cookie:cookies){if("pids".equals(cookie.getName())){pids=cookie.getValue();//将pids拆成一个数组String[] split=pids.split("-");List<String> aList =Arrays.asList(split);LinkedList<String> list = new LinkedList<String>(aList);//判断集合中是否存在当前pidif(list.contains(pid)){//包含当前查看商品的pidlist.remove(pid);list.addFirst(pid);}else{//不包含当前查看商品的pid 直接将该pid放到头上list.addFirst(pid);}//将[3,1,2]转成3-1-2字符串StringBuffer sb = new StringBuffer();for(int i=0;i<list.size()&&i<7;i++){sb.append(list.get(i));sb.append("-");//3-1-2-}//去掉3-1-2-后的-pids = sb.substring(0, sb.length()-1);}}}

没有浏览过则创建

//第一次访问时,在转发之前,需要创建cookie存储pidCookie cookie_pids = new Cookie("pids",pids);response.addCookie(cookie_pids);


商品详细信息

当我们点击返回列表页面时,则从cookie中获取到刚才pids。并把它们放入域中

//获得客户端携带名字叫pids的cookieCookie[] cookies = request.getCookies();if(cookies!=null){for(Cookie cookie:cookies){if("pids".equals(cookie.getName())){String pids = cookie.getValue();//3-2-1String[] split = pids.split("-");for(String pid : split){Product pro = service.findProductByPid(pid);historyProductList.add(pro);}}}}//将历史记录的集合放到域中request.setAttribute("historyProductList", historyProductList);

前端页面从域中获取到商品的信息,我这里只展示商品的照片。如果想要展示商品详细信息,还想要新建一个domin对象,其实就是在Product中再加一个路径而已。

浏览历史记录---网上商城Web相关推荐

  1. 账号注册、登录、注销---网上商城Web

    前面我说过会以业务的形式去分析网上商城这个Web项目,那么今天我以第一个业务作为该系列的开头.事实上我们从名字上可以看到这事实上是三个业务,但是它们相关性大,我将这些三个业务归拢为一个业务 1. 账号 ...

  2. 搜索展示---网上商城Web

    今天介绍第二个业务点搜索展示,其实也是用户在输入框输入关键词,我们拿到关键词去数据库搜索,把搜索的结果展示给用户,提高搜索的精度 我们要做的就是以下的效果,输入关键词,展示相关搜索结果 搜索引擎搜索展 ...

  3. web开发流程 - 网上商城示例

    一.需求确定 1:通过各种手段确定系统的功能与性能    1)功能:注册.浏览.搜索...    2)性能:可同时支持n个并发访问,并且响应时间不低于m毫秒...    3)手段:头脑风暴(brain ...

  4. java web排序商城_JavaWeb网上商城的反思

    不知道从什么时候起,我爱上了写博客,对之前学得的只是进行反思.写了几天课程设计,代码量量8.9千左右. 然后下面文字是我在博客上复制过来的,说得很详细 MVC(Model View Controlle ...

  5. web课程设计:网上商城系统

    web课程设计:网上商城系统 项目详情: 课程设计:网上商城系统 2019.6-2019.7 1.1 选题目的及意义 网上购物系统构建初始目标主要是面对广大消费者,网上商店成本较低,而且运营简单方便, ...

  6. 基于Java web的网上商城系统

    ​源码编号:B-I09 项目类型:Java web项目/Java EE项目(非开源) 项目名称:基于JSP+Servlet的网上商城 [shop] 源码作者:逍遥游本人开发制作 论文作者:逍遥游本人撰 ...

  7. java web商城项目难度_JavaWeb网上商城的反思

    不知道从什么时候起,我爱上了写博客,对之前学得的只是进行反思.写了几天课程设计,代码量量8.9千左右. 然后下面文字是我在博客上复制过来的,说得很详细 MVC(Model View Controlle ...

  8. asp.net网上商城系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目

    一.源码特点         asp.net 网上商城系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发,开发环境为vs2010,数据库为sqlserver2 ...

  9. java web网上商城项目实战与源码

    java web网上商城项目实战与源码 点击这里,轻松完成毕设https://x-x.fun/i/AAbf595445aBT

最新文章

  1. 12.流水线设计方式
  2. 炼丹笔记 | 讲讲我们的故事
  3. MSIL实用指南-比较运算
  4. 使用Maven Jenkins和JMeter自动化测试
  5. 浅谈 Scala 中下划线的用途
  6. “System.Data.SqlClient.SqlException: A transport-level error has occurred when receiving results fro
  7. SQL语法--DML
  8. 关于在IE浏览器下按钮或者链接点击时出现outline的解决方法
  9. eclipse汉化版与背景更换更换jdk及项目jre以及环境变量的配置
  10. 计算机excel试题各科学员,计算机Excel练习题一及答案.doc
  11. 斐讯K2P路由器设置AP模式(大部分路由器通用
  12. Windows的复制粘贴快键键突然不可用的解决方案
  13. matlab处理矩阵的一些简易操作和画图的一些小技巧
  14. java基础篇---第一天
  15. ASP数组Ubound与Lbound
  16. 爬取广东工业大学新闻通知网最新通知并发送至 QQ 邮箱
  17. ⽤户去输⼊⼀个⼈民币⾦额,然后程序会计算如何去⽤20元纸币,10元纸币,5元纸币和⼀元纸币去表⽰这个⼈民币⾦额。要求使⽤最⼩数⽬的纸币。
  18. python 主力资金_真正的主力进场加仓指标源码
  19. html文件怎么在桌面建立,怎么创建html网页 怎样在桌面上建立HTML网页文件?
  20. 史上最全蓝屏代码!电脑蓝屏了查一下什么原因吧!

热门文章

  1. 【MFC】MFC基础类——CString(使用心得)
  2. 手把手教学51单片机第七课 | AT24C02的I²C总线数据传输
  3. Java批量解析微信dat文件,微信图片
  4. 2017年度 个人工作总结
  5. 《互联网金融投资理财一册通》一一第2章 揭秘余额宝收益背后的秘密
  6. 估值报告写作第三讲——第五届CVA估值建模精英计划
  7. 大咖分享|姚秀清:数据资产管理平台如何建设?
  8. 网络运维超融合服务器,国家行政学院借助超融合打造IT新架构
  9. 教师资格证:《综合素质》科目,带你一步搞定
  10. 敏捷项目管理实战之进度管理