Session ArrayList 实现购物车程序
2009-04-05 18:10
357 查看
一、构建的商品类
//写一个Goods类,并定义商品的各个属性,返回商品属性的方法,以及商品对象进行比较的方法
//Goods.java
复制内容到剪贴板
代码:
二、购物车
//首先建立Goods(商品)对象goods,并建立建立ArrayList对象ay
//通过ArrayList对象的方法add()将商品对象添加到ArrayList对象ay中
//由于ArrayList对象是具有添加和删除成员的方法,从而实现多个商品存储管理于ArrayList对象
//将ArrayList对象ay存储于session对象当中,实现购物车功能
//shopcar.jsp
复制内容到剪贴板
代码:
三、删除商品
//对购物车中的商品进行删除操作
//removeGoods.jsp
复制内容到剪贴板
代码:
//写一个Goods类,并定义商品的各个属性,返回商品属性的方法,以及商品对象进行比较的方法
//Goods.java
复制内容到剪贴板
代码:
package sobook.shopcar; public class Goods implements Comparable{ //初始化各成员变量 private String Id = null; private String name = null; private float price = 0.00F; private int number = 0; private String percent = null; public Goods(String Id,String name,float price,int number,String percent){ this.Id = Id; this.name = name; this.price = price; this.number = number; this.percent = percent; } public String getId() //返回订购商品的编号Id { return this.Id; } public String getName() //返回订购商品的名称name { return this.name; } public float getPrice() //返回订购商品的价格price { return this.price; } public int getNumber() //返回订购商品的数量number { return this.number; } public String getPercent() //返回订购商品的优惠百分比 { return this.percent; } public int compareTo(Object m) //返回订购商品比较的结果 { Goods n = (Goods)m; int comRs = Id.compareTo(n.Id); return comRs; } }
二、购物车
//首先建立Goods(商品)对象goods,并建立建立ArrayList对象ay
//通过ArrayList对象的方法add()将商品对象添加到ArrayList对象ay中
//由于ArrayList对象是具有添加和删除成员的方法,从而实现多个商品存储管理于ArrayList对象
//将ArrayList对象ay存储于session对象当中,实现购物车功能
//shopcar.jsp
复制内容到剪贴板
代码:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,sobook.shopcar.*,java.util.*" %> //this code by hongseheike <% //设置编码格式 request.setCharacterEncoding("gb2313"); //获取参数信息 String id = request.getParameter("id"); String name = request.getParameter("name"); int number = java.lang.Integer.parseInt(request.getParameter("number")); float price= java.lang.Float.parseFloat(request.getParameter("price")); String percent = request.getParameter("percent"); //建立商品对象和ArrayList对象 Goods goods = new Goods(id,name,price,number,percent); ArrayList ay = null; //如果session中从未写入过,则将建立的商品对象添加到ArrayList对象当中,并写入 session if((ArrayList)session.getAttribute("car")==null) { ay = new ArrayList(); ay.add(goods); session.setAttribute("car",ay); response.sendRedirect("order_index.jsp"); } //如果写如过,则将商品对象添加到ArrayList对象当中,并写入 session else { ay=(ArrayList)session.getAttribute("car"); //如果ArrayList 对象为空,则直接添加到ArrayList对象当中 if(ay.isEmpty()) { ay.add(goods); session.setAttribute("car",ay); response.sendRedirect("order_index.jsp"); } //如果ArrayList 对象不为空,则判断购入商品是否已经存在于车中 else { Iterator it = ay.iterator(); for(int i = 0;i<ay.size();i++) //下面还有另一种遍历方法 { Goods shop = (Goods)it.next(); //如果购入商品已经存在,则打印输入提示信息 if(shop.compareTo(goods)==0) { out.println("<script>alert('你已经订购了此图书!');window.close();</script>"); } //如果购入商品不存在,则直接将商品添加到ArrayList对象当中,并写入 session else { ay.add(goods); session.setAttribute("car",ay); response.sendRedirect("order_index.jsp"); } } } } %>
三、删除商品
//对购物车中的商品进行删除操作
//removeGoods.jsp
复制内容到剪贴板
代码:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,sobook.shopcar.*,java.util.*" %> <% //设置编码格式 request.setCharacterEncoding("gb2313"); //获取参数信息 String id = request.getParameter("id"); String name = request.getParameter("name"); float price = java.lang.Float.parseFloat(request.getParameter("price")); int number = java.lang.Integer.parseInt(request.getParameter("number")); String percent = request.getParameter("percent"); //创建符合条件参数要删除的商品对象 Goods goods = new Goods(id,name,price,number,percent); //获取session 中存储的ArrayList对象 ArrayList ay = (ArrayList)session.getAttribute("car"); Iterator it = ay.iterator(); //遍历ArrayList对象,并将ArrayList对象中的元素和创建的符合参数条件要删除的商品进行比较 for(int i = ay.size();it.hasNext();i--) { Goods shop = (Goods)it.next(); //查询是否有ArrayList对象中的元素与要删除的商品相同 if(shop.compareTo(goods)==0) { int index = ay.indexOf(shop); //如果ArrayList对象已经为空,则跳转 if(ay.isEmpty()) { response.sendRedirect("order_index.jsp"); } //如果ArrayList对象不为空,则从其中移去要与要删除的商品条件相符的元素,并重新写session else { ay.remove(index); session.setAttribute("car",ay); response.sendRedirect("order_index.jsp"); } } else { out.print("程序异常"); } } %>
相关文章推荐
- 用Cookie和Session简单实现购物车
- Asp.net基于session实现购物车的方法
- Session+Hashtable实现购物车
- 发一个struts2+hibernate3实现的简单购物车程序
- 使用session对购物车的简单实现(oracle数据库+数据源)
- java程序利用HttpSessionListener实现统计在线人数(示例代码)
- asp.net购物车实现-------结合session方式
- session实现购物车
- 使用session技术实现购物车的功能
- 购物车的实现及Cookie,session,数据库存储的优缺点
- 购物车的实现(jsp的session+Java的Map的结合)
- 用servlet实现一个简单的购物车程序
- 使用Session实现购物车
- webform 购物车小程序,主要学习session的使用
- 使用session技术来实现网上商城购物车的功能
- Python实现购物车程序
- Python实现购物车购物小程序
- 购物车--Session+DataTable实现(转载)
- Session对象的应用:实现简单的购物车的功能