浏览历史记录通用代码
1,从商品列表点进商品详情:会访问productInfo这个servlet,productInfoServlet将浏览的商品的id存进cookie
String pid=request.getParameter("pid"); //获取商品id
String pids = pid;
Cookie[] cookies = request.getCookies(); if(cookies!=null){ for(Cookie cookie : cookies){ if("pids".equals(cookie.getName())){ pids = cookie.getValue(); //1-3-2 本次访问商品pid是8----->8-1-3-2 //1-3-2 本次访问商品pid是3----->3-1-2 //1-3-2 本次访问商品pid是2----->2-1-3 //将pids拆成一个数组 String[] split = pids.split("-");//{3,1,2} List<String> asList = Arrays.asList(split);//[3,1,2] LinkedList<String> list = new LinkedList<String>(asList);//[3,1,2] //判断集合中是否存在当前pid if(list.contains(pid)){ //包含当前查看商品的pid list.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 cookie_pids = new Cookie("pids",pids); response.addCookie(cookie_pids); request.getRequestDispatcher("/product_info.jsp").forward(request, response);
2,当点击返回商品列表时,会访问productListServlet,productListServlet读取那个cookie,并将信息提取,从数据库获取商品信息的集合,返回显示到jsp页面
//定义一个记录历史商品信息的集合
List<Product> historyProductList = new ArrayList<Product>();
//获得客户端携带名字叫pids的cookie
Cookie[] cookies = request.getCookies();
if(cookies!=null){
for(Cookie cookie:cookies){
if("pids".equals(cookie.getName())){
String pids = cookie.getValue();//3-2-1
String[] split = pids.split("-");
for(String pid : split){
Product pro = service.findProductByPid(pid);
historyProductList.add(pro);
}
}
}
}
//将历史记录的集合放到域中
request.setAttribute("historyProductList", historyProductList);
request.getRequestDispatcher("/product_list.jsp").forward(request, response);
浏览历史记录通用代码相关推荐
- php记录用户搜索历史记录,PHPCookei记录用户历史浏览信息的代码
[基础] Cookie常用方法: $_COOKIE['RecordLuHuiDUDU'] 得到Cookie setcookie('RecordLuHuiDUDU',",time()-3600 ...
- 四大浏览器删除浏览历史记录的快捷键
原文地址:四大浏览器删除浏览历史记录的快捷键 http://www.iefans.net/shanchu-liulan-lishi-jilu-kuaijiejian/ 快捷键(windows Ctr ...
- dorado7通用代码
通用代码 lookupCode lookupName 性别 {dorado.getDataProvider("sysLookupTypeAction#getValueByCode&quo ...
- python 解决IndentationError: unexpected unindent的报错!和通用代码框架,import requests def getHTMLText(url)...的解释
python报错IndentationError: expected an indented block. 解决办法很简单,是脚本缩进的问题,检查脚本缩进是否有空格和tab混用的情况或者是缩进明显不对 ...
- JavaScript导出Excel通用代码。
2019独角兽企业重金招聘Python工程师标准>>> js导出Excel通用代码. html代码如下: <!DOCTYPE html PUBLIC "-//W3C/ ...
- html代码 通用代码,新浪博客通用html代码及其使用方法
经常上新浪博客又偶尔看到有些NX的博客总会把自己的领地打扮得漂漂亮亮的,总给人一种神圣敢,让人羡慕不已.其实方法很简单,你也可以轻松打造! 首先,你登陆你的博客 > 控制面板 > 首页内容 ...
- php 浏览商品记录,php浏览历史记录
php浏览历史记录 /** * 商品历史浏览记录 * $data 商品记录信息 */ private function _history($data) { if(!$data || !is_array ...
- php写新闻浏览历史,PHP实现浏览历史记录
很多网站均有这样的功能,特别是一些购物网站均设计有浏览历史这样一个特色的功能,当然了实现的方法是多种多样的.asp.php.jsp等等均可以实现.下面我们以PHP为例来演示一下.源代码为ecshop里 ...
- 不会提示是否关闭浏览器 IE6、IE7、FF通用代码
start = setInterval('CloseWin();', 2000);function CloseWin() //这个不会提示是否关闭浏览器 IE6.IE7.FF通用代码:{if (doc ...
- php写浏览记录,php如何浏览历史记录
这篇文章主要介绍了php浏览历史记录的方法,涉及php操作cookie的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了php浏览历史记录的方法. 具体实现方法如下:/** * 商品历史浏 ...
最新文章
- 百度云android隐藏空间,一招教你使手机端百度网盘中的隐藏空间在文件列表中显示出来...
- Spring Boot 2.0 迁移指南
- 基于XML及注解配置方式实现AOP及aspectJ表达式
- 《理解 ES6》阅读整理:函数(Functions)(五)Name Property
- r语言 断轴 画图_R语言作图——Density plot
- WebSocket实践
- TypeScript 3.3发布:改进了联合类型调用和构建时间
- 使用vue-cli3搭建项目详细步骤
- js 兼容设置透明度
- web开源FlowPlayer视频播放器
- 用VMWARE安装Mac OSX Tiger 10.4.4 X86
- Java实现局域网流量监控
- excel中vlookup函数的使用方法_Excel教程:函数VLOOKUP实用技巧
- MySQL主从配置和gtid主从配置
- 双鱼直播动态调试 .so文件输出密匙
- Nginx的优化和压力测试
- 保姆级给电脑分盘,和合并两个盘
- Leetcode LCP 17. 速算机器人
- 高速PCB 设计中终端匹配电阻的放置
- pyqt5出现 -1073741515 (0xC0000135) 错误的一个解决办法
热门文章
- php 调用redis中lpush的方法
- css实现宽高比固定
- 如何利用ikuai将闲置电脑配作软路由器?
- 基于SSM超市订单管理系统(MYSQL版)
- 微信公众号怎么放html文件,微信公众号html缓存处理
- [转]如何在NIOS II中读写EPCS剩余空间
- Leetcode每日一题 面试题56 - I.数组中数字出现的次数
- python垃圾分类游戏_垃圾分类就要来了?教你使用Python轻松完成垃圾分类
- 3d打印机自动调平Marlin固件配置
- python判断素数程序_python判断素数程序_Python程序检查素数