浏览历史记录---网上商城Web
今天介绍历史记录这个业务点,我们浏览某商品后,会留下历史记录,我们可以选择把这些数据存储在缓存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相关推荐
- 账号注册、登录、注销---网上商城Web
前面我说过会以业务的形式去分析网上商城这个Web项目,那么今天我以第一个业务作为该系列的开头.事实上我们从名字上可以看到这事实上是三个业务,但是它们相关性大,我将这些三个业务归拢为一个业务 1. 账号 ...
- 搜索展示---网上商城Web
今天介绍第二个业务点搜索展示,其实也是用户在输入框输入关键词,我们拿到关键词去数据库搜索,把搜索的结果展示给用户,提高搜索的精度 我们要做的就是以下的效果,输入关键词,展示相关搜索结果 搜索引擎搜索展 ...
- web开发流程 - 网上商城示例
一.需求确定 1:通过各种手段确定系统的功能与性能 1)功能:注册.浏览.搜索... 2)性能:可同时支持n个并发访问,并且响应时间不低于m毫秒... 3)手段:头脑风暴(brain ...
- java web排序商城_JavaWeb网上商城的反思
不知道从什么时候起,我爱上了写博客,对之前学得的只是进行反思.写了几天课程设计,代码量量8.9千左右. 然后下面文字是我在博客上复制过来的,说得很详细 MVC(Model View Controlle ...
- web课程设计:网上商城系统
web课程设计:网上商城系统 项目详情: 课程设计:网上商城系统 2019.6-2019.7 1.1 选题目的及意义 网上购物系统构建初始目标主要是面对广大消费者,网上商店成本较低,而且运营简单方便, ...
- 基于Java web的网上商城系统
源码编号:B-I09 项目类型:Java web项目/Java EE项目(非开源) 项目名称:基于JSP+Servlet的网上商城 [shop] 源码作者:逍遥游本人开发制作 论文作者:逍遥游本人撰 ...
- java web商城项目难度_JavaWeb网上商城的反思
不知道从什么时候起,我爱上了写博客,对之前学得的只是进行反思.写了几天课程设计,代码量量8.9千左右. 然后下面文字是我在博客上复制过来的,说得很详细 MVC(Model View Controlle ...
- asp.net网上商城系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目
一.源码特点 asp.net 网上商城系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发,开发环境为vs2010,数据库为sqlserver2 ...
- java web网上商城项目实战与源码
java web网上商城项目实战与源码 点击这里,轻松完成毕设https://x-x.fun/i/AAbf595445aBT
最新文章
- 12.流水线设计方式
- 炼丹笔记 | 讲讲我们的故事
- MSIL实用指南-比较运算
- 使用Maven Jenkins和JMeter自动化测试
- 浅谈 Scala 中下划线的用途
- “System.Data.SqlClient.SqlException: A transport-level error has occurred when receiving results fro
- SQL语法--DML
- 关于在IE浏览器下按钮或者链接点击时出现outline的解决方法
- eclipse汉化版与背景更换更换jdk及项目jre以及环境变量的配置
- 计算机excel试题各科学员,计算机Excel练习题一及答案.doc
- 斐讯K2P路由器设置AP模式(大部分路由器通用
- Windows的复制粘贴快键键突然不可用的解决方案
- matlab处理矩阵的一些简易操作和画图的一些小技巧
- java基础篇---第一天
- ASP数组Ubound与Lbound
- 爬取广东工业大学新闻通知网最新通知并发送至 QQ 邮箱
- ⽤户去输⼊⼀个⼈民币⾦额,然后程序会计算如何去⽤20元纸币,10元纸币,5元纸币和⼀元纸币去表⽰这个⼈民币⾦额。要求使⽤最⼩数⽬的纸币。
- python 主力资金_真正的主力进场加仓指标源码
- html文件怎么在桌面建立,怎么创建html网页 怎样在桌面上建立HTML网页文件?
- 史上最全蓝屏代码!电脑蓝屏了查一下什么原因吧!