Cookie存入用户游览记录:

这里直接存用户游览商品的ID

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//从请求参数中取出商品的IDString pid = request.getParameter("pid");//通过id读取商品的信息,Product product = productService.findProducById(pid);//将商品的信息放入request中。request.setAttribute("product", product);//将商品的ID存储到cookie中//要考虑是否以及存在了浏览记录。//如果已经存在浏览记录cookie,则将现在的ID添加到原来的浏览记录中//从reuqest中区cookieCookie[] cookies = request.getCookies();//获取到所有的cookie//保存浏览记录的cookie对象Cookie readCookie = null;//遍历cookiesfor (int i = 0; i < cookies.length; i++) {Cookie cookie = cookies[i];//判断是否存在浏览记录的cookieif(cookie.getName().equals("readId")){//说明存在浏览记录的cookiereadCookie = cookie;break;//跳出循环}}if(readCookie!=null){//浏览记录cookie存在//将当前的ID添加到原有的记录cookie中//取出原有的浏览记录的IDString ids = readCookie.getValue();//1_3434_54545_erer3434_3434//直接将现在pid添加到原有的后面//判断浏览记录的cookie中是否存在当前的商品if(!ids.contains(pid)){//不存在就添加到后面//当记录数量超过10的时候,就删除最前面的一个记录。if(ids.split("_").length==10){ids=ids.substring(ids.indexOf("_")+1);}//将最新的浏览记录的ID追加到最后ids+="_"+pid;////再将ID设置到cookie中readCookie.setValue(ids);}}else{//如果没有浏览记录,则新创建浏览记录的cookiereadCookie = new Cookie("readId", pid);}readCookie.setPath("/");//设置cookie的路径为根目录readCookie.setMaxAge(60*60*24*7);//设置cookie的存活时间为7天。一旦设置cookie的存活时间,cookie就会存储在磁盘上。//将cookie设置到response中response.addCookie(readCookie);//转发到product_info.jsprequest.getRequestDispatcher("product_info.jsp").forward(request, response);}

Cookie取出用户游览记录:

protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 通过cid读取商品列表String cid = request.getParameter("cid");int page = 1;int size = 6;try {page = Integer.parseInt(request.getParameter("page"));} catch (Exception e) {}try {size = Integer.parseInt(request.getParameter("size"));} catch (Exception e) {}// List<Product> products = productService.findProductsByCid(cid);// request.setAttribute("products", products);// 将查询全部修改为分页查询Pager<Product> pager = productService.findByPage(cid, page, size);request.setAttribute("pager", pager);// 将cid再次携带到页面request.setAttribute("cid", cid);// 从cookie中取出readIdCookie[] cookies = request.getCookies();// 获取所有的cookie// 遍历找出浏览记录的cookieCookie readCookie = null;for (int i = 0; i < cookies.length; i++) {Cookie cookie = cookies[i];if (cookie.getName().equals("readId")) {readCookie = cookie;break;}}//判断是否已经拿到浏览记录的cookieif(readCookie!=null){//说明已经获取到浏览记录的cookie//取出id字符串 String ids = readCookie.getValue();// 分割idString[] pids = ids.split("_");// 根据pid的数组,从底层中查询浏览记录的商品信息列表//只窃取数组的最后7位。pids = Arrays.copyOfRange(pids, pids.length-7<0?0:pids.length-7, pids.length);List<Product> rproducts = productService.findByIds(pids);// 将浏览记录的商品信息列表存储在request中request.setAttribute("rproducts", rproducts);}// 转发到列表页面request.getRequestDispatcher("product_list.jsp").forward(request, response);}

通过Cookie存取用户游览记录的代码示例相关推荐

  1. php mysql用户登录_php mysql实现用户登录功能的代码示例

    接着上次的php mysql添加用户的功能代码,今天来学习下php实现用户登录与注销的功能,通过跟踪session会话来保存用户的登陆状态. 1,登录页面 login.php 用户登录_www.# 用 ...

  2. 用户登入验证码代码示例

    第一中验证码: 一.验证码实现代码 通过BufferedImage类进行绘制: package com.igeek.web;import java.awt.Color; import java.awt ...

  3. Cookie实现记录用户浏览记录

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti ...

  4. 使用cookie保存用户的浏览记录

    我们在写关于用户对商品额的浏览记录的时候一般使用cookie进行记录,cookie一般保存字符串比较常用,如果想保存对象可以使用序列化,这里不做过多的解释,我们现在只做简单的cookie应用,cook ...

  5. 谈谈 Cookie 存取和IE页面缓存的问题

    最近老是发现在IE里会有Cookie的问题,如IE下面无法登出,或无法登录,或者登录后信息却无法取到,而Firefox下面一直是通过的,都试过好多次了,今天终于找回的主要的原因: Cookie的问题: ...

  6. php 上次登陆时间,php使用cookie显示用户上次访问网站日期的方法

    本文实例讲述了php使用cookie显示用户上次访问网站日期的方法.分享给大家供大家参考.具体实现方法如下:<?php if(!empty($_COOKIE['lastvisit'])){//先 ...

  7. P3P解决cookie存取的跨域问题

    在一次公司网站与第三方网站合作过程中,发生了一个变态的问题.就是对方网站采用iframe的方式嵌入我们网站的程序,此时我们网站需要有一些 Cookie 设置到浏览器上(比如:jsessionid,没有 ...

  8. crm项目案列 java_Java CRM系统用户登录功能实现代码实例

    用户登录功能后台代码实现: UserMapper接口查询方法定义 /** * * @param userName * @param userPwd * @param roleName * 查询用户记录 ...

  9. 【PHP基础】Cookie基础知识、应用案例代码及攻防

    目录 1 Cookie 理论基础 1.1 Cookie 简介 1.2 Cookie 认证机制 1.3 Cookie 属性 1.4 Cookie的安全性问题 2 Cookie 应用 2.1 Cookie ...

最新文章

  1. 【转】2.1 SharePoint服务器端对象模型 之 访问网站和列表数据(Part 1)
  2. jspx格式手机打开_制作手机浏览器显示格式的HTML页面
  3. Nginx学习总结(9)——前端跨域问题解决
  4. luogu P3810 【模板】三维偏序(陌上花开)
  5. Linux-apache的编译安装1
  6. 创建一个基于Spring IO Platform的多模块Gradle项目
  7. 美团大众点评面试经验——后台开发
  8. session的销毁方式
  9. GitHub 上有哪些优秀的 Python 爬虫项目?
  10. vue H5 唤醒app
  11. 第一届腾讯社招广告大赛总结
  12. vue读取地址栏参数
  13. 双注入法/开路短路法
  14. 图像操作(反差,混合,调整图像亮度与对比度,绘制文字)
  15. 苹果工具条_苹果iOS 13.4 Beta 1来袭:网友直接吐槽0创新
  16. 全网最全docker初级入门!!!
  17. 解决 raise ReadTimeoutError(self._pool, None, ‘Read timed out.‘)
  18. idea设置Java class模板注释
  19. 汇编语言rep movsd 的使用
  20. C++从freshman到老油条(1)——基础知识

热门文章

  1. HelloDjango 第 10 篇:小细节 Markdown 文章自动生成目录,提升阅读体验
  2. 二、CSS基础(1)
  3. poj1470 LCA倍增法
  4. 多线程经典模型-生产者消费
  5. ASP.NET 文件操作类
  6. Android 网络HTML查看器
  7. [PATCH] UBUNTU: SAUCE: (no-up) apparmor: Sync to apparmor3 - RC1(v3.4.x kernel)
  8. Android 浏览器启动应用程序
  9. HDMI和DVI的HDCP握手问题分析及其解决方案精粹
  10. firewalld防火墙配置