一、得到购物车里面的数据

  1. 先得到一个session 对象
  2. 得到session对象里面的集合
  3. 遍历集合
  4. 从服务器把集合内容返回给浏览器
  5. 因为添加购物车的中有汉字显示,所以需要设置一下编码格式

二、用session实现一个加入购物车的功能

1. 获取商品的信息
2. 保存商品信息给session对象
3. 得到的信息设置到session中,(如果多个信息的话 后面的会覆盖前面的信息)
4. 如何保存多个信息呢,需要用到集合list,new一个ArrayList,把浏览器请求的key 都放进去
5. 但是这样只能实现 这一次加入购物车的记录,并不能把之前的购物车里面的记录一起结算‘
6,对一次访问的时候list是不存在的 需要做一个判断,并且创建一个ArrayList
7. 设置session的持久化 就是设置JSESSIONID的时间 ,然后返回给浏览器

得到购物车里面的数据部分的代码

@WebServlet(name = "GetCartServlet",urlPatterns = "/getcart")
public class GetCartServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");HttpSession session= request.getSession();List<String> list= (List<String>) session.getAttribute("list");for (String s : list) {response.getWriter().write(s+"<br/>");}}
}

加入购物车的功能部分的代码

@WebServlet(name = "AddCartServlet",urlPatterns = "/addCart")
public class AddCartServlet extends HttpServlet {private HttpSession httpSession;protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String name= request.getParameter("name");HttpSession session = request.getSession();//这个是拿到之前加入购物车的商品,List list = (List) session.getAttribute("list");if(list==null){//如果之前没有商品就重新为其new一个ArraryListlist = new ArrayList();}list.add(name);session.setAttribute("list",list);//持久化session的操作Cookie cookie= new Cookie("JSESSIONID",session.getId());cookie.setMaxAge(60*60);cookie.setPath("/hello");response.addCookie(cookie);}
}

如何用session实现一个添加购车功能相关推荐

  1. 自动化测试(二)如何用python写一个用户登陆功能

    需求信息: 写一个判断登录的程序: 输入: username password 最大错误次数是3次,输入3次都没有登录成功,提示错误次数达到上限 需要判断输入是否为空,什么也不输入,输入一个空格.n个 ...

  2. php怎么添加会员卡,怎么在微信公众号中添加一个会员卡领取功能

    怎么在微信公众号中添加一个会员卡领取功能 发布时间:2020-12-09 16:06:27 来源:亿速云 阅读:129 作者:Leah 这篇文章将为大家详细讲解有关怎么在微信公众号中添加一个会员卡领取 ...

  3. 如何用jxTMS开发一个功能(二)

    本文是讲解如何用jxTMS来开发jxTMS示例之故障排查的系列文章中的第二篇.整个系列的文章请查看:如何用jxTMS开发一个功能 维修工程师的现场操作 上文讲过,维修工程师在服务现场有三种操作: 如果 ...

  4. 如何用html制作一个动态烟花,视频加烟花特效 视频如何制作烟花效果|视频上添加动态的焰火效果...

    有句mmp不知当讲不当讲,今天竟然是孔子的诞辰,这样一算孔子很有可能是处女座呢!!当看到这条消息时我的内心是拒绝的,在我看来孔子的中庸思想表示的"平庸.折中.调和"明明是我们天秤座 ...

  5. 如何用python编写一个绘制马赛克图像的自写程序mask = np.zeros

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 这篇教程将会展示如何用python的图形化包"Pygame"和基础的文件I/O来创建一 ...

  6. python编写登录_通过Python编写一个简单登录功能过程解析

    通过Python编写一个简单登录功能过程解析 需求: 写一个登录的程序, 1.最多登陆失败3次 2.登录成功,提示欢迎xx登录,今天的日期是xxx,程序结束 3.要检验输入是否为空,账号和密码不能为空 ...

  7. [译] 如何用 Python 写一个 Discord 机器人

    原文地址:How to write a Discord bot in Python 原文作者:Junpei Shimotsu 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/go ...

  8. 如何用FFmpeg编写一个简单播放器详细步骤介绍

    如何用FFmpeg编写一个简单播放器详细步骤介绍(转载) FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具.FFMPEG几乎为你把所有的繁重工作都做了,比如解码.编码.复用和解复用. ...

  9. 如何用LaTeX写一个PPT

    如何用LaTeX写一个PPT  说到写PPT大家一般会想到的是微软的Microsoft PowerPoint,因为他更易于制作并且拥有丰富的动画,但是当你需要制作一个学术相关的ppt时,你需要更好的排 ...

最新文章

  1. python编程面向对象很简单,只需要掌握这几点
  2. zabbix专题:第十二章 zabbix proxy分布式监控配置
  3. Linux美化——终端提示符
  4. ASP.NET MVC从数据库读取、存入图片
  5. win8.1除了应用界面的应用,其他系统程序都不能上网,包括IE
  6. [转]一个计算机专业学生几年的编程经验汇总
  7. Observer模式(观察者设计模式)
  8. 【OpenCV学习笔记】【教程翻译】二(车牌识别算法框架)
  9. 行人仿真操作教程(一)行人仿真是什么?哪个软件好用?
  10. NMEA的GPGGA数据包解析 字符转数字
  11. matlab 简介_MATLAB简介
  12. 怎么用python下载网易云_如何使用python批量下载网易云音乐的免费音乐
  13. 堪萨斯州立大学计算机科学,堪萨斯州立大学相当于国内哪所大学?
  14. 借助微博实时号日引流200精准客源,微博实时号是什么?
  15. Py正则表达式学习笔记:常用函数——单词检索、索引方法
  16. 基于OPENCV的动态图片阵列显示程序
  17. 匈牙利命名法的衰落和建议
  18. 地理坐标系VS大地坐标系
  19. 42.设备树---DTS的语法
  20. java中的 |=(位或运算符)、=(位与运算符)、^=(位异或运算)、~=(位非运算符)

热门文章

  1. java计算机毕业设计学生公寓管理系统源程序+mysql+系统+lw文档+远程调试
  2. python实现网站内部视频批量下载
  3. 源代码漏洞分析数据处理
  4. 渣渣白教你使用工具Safe3 SQL注入安全检测工具
  5. 链表和数组的优缺点对比
  6. 图片怎么批量抠图?这几种方法都可以实现批量抠图
  7. js实现天猫淘宝购物放大镜效果
  8. vue移动端配置rem:
  9. 如何使用 Kotlin Multiplatform 构建跨平台应用程序
  10. 时空与预测]星际迷航-暗黑无边