用JSP的Session机制编写的购物车程序详解

用JSP的Session 机制编写的程序就可以是你拥有一个功能强大购物车程序,是不是很诱人呢?赶紧开始我们的程序吧

创新新互联,凭借十年的网站建设、网站制作经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有千余家案例。做网站建设,选成都创新互联

JSP Session 机制购物车之一构建的商品类

◆写一个Goods类,并定义商品的各个属性,返回商品属性的方法,以及商品对象进行比较的方法

◆Goods.java

 
 
 
  1. package com.viita.Shop;  
  2.  
  3. public class Goods implements Comparable {  
  4.  

◆初始化各成员变量

 
 
 
  1. private String Id = null;//商品的编号Id  
  2. private String name = null;//商品的名称name  
  3. private float price = 0.00F;//商品的价格price  
  4. private int number = 0;//商品的数量number  
  5. public Goods(String Id, String name, float price, int number) {  
  6. this.Id = Id;  
  7. this.name = name;  
  8. this.price = price;  
  9. this.number = number;  
  10.  
  11. }  
  12. public String getId() //返回订购商品的编号Id  
  13. {  
  14. return this.Id;  
  15. }  
  16. public String getName() //返回订购商品的名称name  
  17. {  
  18. return this.name;  
  19. }  
  20. public float getPrice() //返回订购商品的价格price  
  21. {  
  22. return this.price;  
  23. }  
  24. public int getNumber() //返回订购商品的数量number  
  25. {  
  26. return this.number;  
  27. }  
  28. public int compareTo(Object m) {  
  29. // TODO Auto-generated method stub  
  30.  
  31. Goods n = (Goods) m;  
  32. int comRs = Id.compareTo(n.Id);  
  33. return comRs;  
  34.  
  35. }  
  36.  
  37. }  
  38.  

JSP Session 机制购物车之二购物车实现

◆首先建立Goods(商品)对象goods,并建立建立ArrayList对象ay

◆通过ArrayList对象的方法add()将商品对象添加到ArrayList对象ay中

◆由于ArrayList对象是具有添加和删除成员的方法,从而实现多个商品存储管理于ArrayList对象

◆将ArrayList对象ay存储于session对象当中,实现购物车功能

◆shopcar.jsp

 
 
 
  1. <%@ page language="java" import=" java.sql.*,com.viita.Shop.*,java.util.*" pageEncoding="GBK"%> 
  2. <%  
  3.  

◆设置编码格式

 
 
 
  1. request.setCharacterEncoding("GBK");  
  2.  

◆获取参数信息

 
 
 
  1. String id = request.getParameter("id");  
  2. String name = request.getParameter("name");  
  3. int number = java.lang.Integer.parseInt(request.getParameter("number"));  
  4. float price= java.lang.Float.parseFloat(request.getParameter("price")); 

◆建立商品对象和ArrayList对象

 
 
 
  1. Goods goods = new Goods(id,name,price,number);  
  2. ArrayList ay = null; 

◆如果session中从未写入过,则将建立的商品对象添加到ArrayList对象当中,并写入 session

 
 
 
  1. if((ArrayList)session.getAttribute("car")==null)  
  2. {  
  3. ay = new ArrayList();  
  4. ay.add(goods);  
  5. session.setAttribute("car",ay);  
  6. response.sendRedirect("order_index.jsp");  

◆如果写如过,则将商品对象添加到ArrayList对象当中,并写入 session

 
 
 
  1. else  
  2. {  
  3. ay=(ArrayList)session.getAttribute("car"); 

◆如果ArrayList 对象为空,则直接添加到ArrayList对象当中

 
 
 
  1. if(ay.isEmpty())  
  2. {  
  3. ay.add(goods);  
  4. session.setAttribute("car",ay);  
  5. response.sendRedirect("order_index.jsp");  

◆如果ArrayList 对象不为空,则判断购入商品是否已经存在于车中

 
 
 
  1. else  
  2. {  
  3. Iterator it = ay.iterator();  
  4. for(int i = 0;i
  5. {  
  6. Goods shop = (Goods)it.next(); 

◆如果购入商品已经存在,则打印输入提示信息

 
 
 
  1. if(shop.compareTo(goods)==0)  
  2. {  
  3. out.println("