当前位置: 技术问答>java相关
购物车问题,100分
来源: 互联网 发布时间:2015-09-25
本文导语: 小弟想做一个网上书店来实践一下,但做到购物车时看到有些书说用vector来保存你的订单,有些书说用一个单独用一个表来存放你的订单,请问一下我应该怎么做,好象用数据库来放你的订单是不是太耗费了,能否给...
小弟想做一个网上书店来实践一下,但做到购物车时看到有些书说用vector来保存你的订单,有些书说用一个单独用一个表来存放你的订单,请问一下我应该怎么做,好象用数据库来放你的订单是不是太耗费了,能否给点意见,购物车怎么写好呢,谁有这方面的代码,给点提示好吗,100求
|
package chatroom;
import java.util.HashMap;
import javax.servlet.http.*;
public class testCartBean
{
private HashMap cart;
public testCartBean()
{
cart= new HashMap();
}
/**将Request对象中的数据输入到JAVABean中
*@patrm clientRequest 从客户端传送来的数据
*/
public void processRequest(HttpServletRequest clientRequest)
{
String itemName,strItemNumber,submit;
int itemNumber=0;
//获得客户端数据
submit= clientRequest.getParameter("submit");
//点击clear按钮的情况
if(submit!=null)
if(submit.equals("clear"))
{
clear();
return ;
}
itemName= clientRequest.getParameter("itemName");
strItemNumber=clientRequest.getParameter("itemNumber");
if(itemName!=null)
{
try{
itemNumber= Integer.parseInt(clientRequest.getParameter("itemNumber"));
}
catch(NumberFormatException e)
{ itemNumber= 1;}
}
//当用户使用回车,而不是点击提交按钮的情况
if(submit==null)
{
addItem(itemName,itemNumber);
return;
}
//点击add按钮的情况
if(submit.equals("add"))
{
addItem(itemName,itemNumber);
return;
}
//点击remove按钮的情况
if(submit.equals("remove"))
{
removeItem(itemName);
}
//点击update按钮的情况
if(submit.equals("update"))
{
updateItem(itemName,itemNumber);
}
}
/**向购物车添加商品
*@param itemName 商品名
*/
public void addItem(String itemName)
{
if(cart.get(itemName)==null)
{
cart.put(itemName,new Integer(1));
// System.out.println(cart.get(itemName));
// System.out.println(cart.get(itemName).toString());
}
else
{
int oldNumber= ((Integer)(cart.get(itemName))).intValue();
cart.remove(itemName);
cart.put(itemName,new Integer(oldNumber+1));
}
}
/**
*向购物车添加商品
*@param itemName 商品名
*@param itemNumber 商品数量
*/
public void addItem(String itemName,int itemNumber)
{
int oldNumber=0;
try
{
oldNumber= ((Integer)(cart.get(itemName))).intValue();
}
catch(NullPointerException e){}
cart.put(itemName,new Integer(itemNumber+oldNumber));
}
//清除购物车中的商品
public void clear()
{
cart.clear();
}
/**
*更新购物车中某一项商品的数量
*@param itemName 商品名
*@param itemNumber 商品数量
*/
public void updateItem(String itemName,int itemNumber)
{
cart.remove(itemName);
cart.put(itemName,new Integer(itemNumber));
}
public void removeItem(String itemName)
{
cart.remove(itemName);
}
/**
*返回一个包含有购物车数据的HashMap对象
*@return 一个包含有购物车数据的HashMap对象
*/
public HashMap getCart()
{
HashMap returnCart= new HashMap(cart);
return returnCart;
}
public int getGoodsNumber(String goodsName)
{
int goodsNumber=0;
try{
goodsNumber= ((Integer)(cart.get(goodsName))).intValue();
}
catch(NullPointerException e)
{ return 0;}
return goodsNumber;
}
}
import java.util.HashMap;
import javax.servlet.http.*;
public class testCartBean
{
private HashMap cart;
public testCartBean()
{
cart= new HashMap();
}
/**将Request对象中的数据输入到JAVABean中
*@patrm clientRequest 从客户端传送来的数据
*/
public void processRequest(HttpServletRequest clientRequest)
{
String itemName,strItemNumber,submit;
int itemNumber=0;
//获得客户端数据
submit= clientRequest.getParameter("submit");
//点击clear按钮的情况
if(submit!=null)
if(submit.equals("clear"))
{
clear();
return ;
}
itemName= clientRequest.getParameter("itemName");
strItemNumber=clientRequest.getParameter("itemNumber");
if(itemName!=null)
{
try{
itemNumber= Integer.parseInt(clientRequest.getParameter("itemNumber"));
}
catch(NumberFormatException e)
{ itemNumber= 1;}
}
//当用户使用回车,而不是点击提交按钮的情况
if(submit==null)
{
addItem(itemName,itemNumber);
return;
}
//点击add按钮的情况
if(submit.equals("add"))
{
addItem(itemName,itemNumber);
return;
}
//点击remove按钮的情况
if(submit.equals("remove"))
{
removeItem(itemName);
}
//点击update按钮的情况
if(submit.equals("update"))
{
updateItem(itemName,itemNumber);
}
}
/**向购物车添加商品
*@param itemName 商品名
*/
public void addItem(String itemName)
{
if(cart.get(itemName)==null)
{
cart.put(itemName,new Integer(1));
// System.out.println(cart.get(itemName));
// System.out.println(cart.get(itemName).toString());
}
else
{
int oldNumber= ((Integer)(cart.get(itemName))).intValue();
cart.remove(itemName);
cart.put(itemName,new Integer(oldNumber+1));
}
}
/**
*向购物车添加商品
*@param itemName 商品名
*@param itemNumber 商品数量
*/
public void addItem(String itemName,int itemNumber)
{
int oldNumber=0;
try
{
oldNumber= ((Integer)(cart.get(itemName))).intValue();
}
catch(NullPointerException e){}
cart.put(itemName,new Integer(itemNumber+oldNumber));
}
//清除购物车中的商品
public void clear()
{
cart.clear();
}
/**
*更新购物车中某一项商品的数量
*@param itemName 商品名
*@param itemNumber 商品数量
*/
public void updateItem(String itemName,int itemNumber)
{
cart.remove(itemName);
cart.put(itemName,new Integer(itemNumber));
}
public void removeItem(String itemName)
{
cart.remove(itemName);
}
/**
*返回一个包含有购物车数据的HashMap对象
*@return 一个包含有购物车数据的HashMap对象
*/
public HashMap getCart()
{
HashMap returnCart= new HashMap(cart);
return returnCart;
}
public int getGoodsNumber(String goodsName)
{
int goodsNumber=0;
try{
goodsNumber= ((Integer)(cart.get(goodsName))).intValue();
}
catch(NullPointerException e)
{ return 0;}
return goodsNumber;
}
}
|
你的数据库中应该有关于书的各种信息:类别,价格,库存等等。
还要有关于订单的各种信息:书名,订单号,数量,付款方式,订购人员等等
在实现购物车时,可以通过session存储当前用户所要购买书的信息;定义一个shoppingCart类,这个类中包含各种下订单时所要用到的信息的私有变量,然后将一个包含订单信息的shoppingCart类型的变量存储到session中。当用户真正的下订单时,再将这些信息从session中取出提交给数据库,将库存,订单等信息存入数据库中。
还要有关于订单的各种信息:书名,订单号,数量,付款方式,订购人员等等
在实现购物车时,可以通过session存储当前用户所要购买书的信息;定义一个shoppingCart类,这个类中包含各种下订单时所要用到的信息的私有变量,然后将一个包含订单信息的shoppingCart类型的变量存储到session中。当用户真正的下订单时,再将这些信息从session中取出提交给数据库,将库存,订单等信息存入数据库中。
|
建议用数据库来做,可以保存订单的信息,而vector就只能暂时保存
|
一、不能给自己
二、给的分的和必须和你题目给出的分相等
二、给的分的和必须和你题目给出的分相等