急求一个用java web编写的购物车程序,期末考试要用。

 我来答
百度网友6c3385e
2015-12-16 · TA获得超过7985个赞
知道小有建树答主
回答量:1312
采纳率:0%
帮助的人:597万
展开全部
查询的资料,找到三种方法:
1.用cookie实现购物车;
2.用session实现购物车;
3.用cookie和数据库(购物车信息持久化)实现购物车;
=========================================================================
分析一下这三种方法的优缺点:
1.单纯有cookie实现购物车,这样的购物车不是很理想,设想一下,如果客户端的浏览器把cookie给禁用了,
这种方法就会在这里流产...
2.session中保存购物车的信息,这个只是在一个会话中可用,如果用户没有登录,或者说登录了以后,添加购物车,在关闭浏览器
或者登出后,之前所添加的购物车通通都流产啦...

其实每次遇到不会的都来求助是很不方便的
如果你想了解和学习更多的JAVA编程,成为一名真正的JAVA高手,你可以来这个裙,前面三个数是四二六 中间是三九六 后面是二八四
把这串数字连起来就可以了,这是一个高手的学习裙,在这里你可以学习到书上学不到的知识,还有大牛相互讨论并指导你解答哦!

3.我这里要说就是这种方法啦.....
主要的流程:
A.用户登录前的数据流:用户在没有登录系统的时候,对喜欢的商品进行添加购物车,那么这个时候,我们可以把购物车信息保存
到cookie中,这里会涉及到cookie的添加,修改操作;也即如果之前在cookie中不存对应的cookie,则就对cookie进行添加操作。
如果在cookie中存在对应的cookie,那么,这时候,就要对cookie进行修改操作了(这里涉及到用户对同一个商品进行多次添加购物车的情况)。
B.用户登录后的数据流:用户在登录后,系统首先做的第一件事就是去获取对应的cookies,如果存在相关的购物车cookies,那么就对该购物车
信息进行相应用户User的持久化操作,要么添加,要么修改。(添加操作:该用户所对应的购物车如果没有相应的信息进行添加操作;修改操作:类似的,
如果存在对应用户的购物车信息,就进行修改操作)。用户登录后,也可以进行购物车的添加操作,不过,这里不是添加到cookie中,而是直接持久化到
数据库中。注:用户登录后的数据都是和数据库打交道。
===========================================
以上就是我的见解 如果有什么不懂可以问我 想学习的童鞋秒懂 供参考 满意请采纳
sunjinfu1987
2015-12-20 · TA获得超过3151个赞
知道大有可为答主
回答量:1218
采纳率:72%
帮助的人:411万
展开全部
public class CartService {
private Map<Integer,CartItem> store = new HashMap<Integer,CartItem>();
public CartService(){

}
public static CartService getInstance(HttpSession session){
CartService cart = (CartService)session.getAttribute("cart");
if(cart == null){
cart = new CartService();
session.setAttribute("cart", cart);
}
return cart;
}
public void add(Integer id){
if(store.containsKey(id)){
CartItem item = store.get(id);
item.setNum(item.getNum()+1);
}else{
Book book = DAOFactory.getBookDAO().findById(id);
CartItem item = new CartItem();
item.setPro(book);
store.put(id,item);
}
}
public void delete(Integer id){
if(store.containsKey(id)){
CartItem item = store.get(id);
item.setBuy(false);

}
}

public void delete(boolean flag){
Set set = store.entrySet();
Iterator it = set.iterator();
while(it.hasNext()){
Map.Entry entry = (Map.Entry)it.next();
CartItem item = (CartItem)entry.getValue();
if(item.isBuy()==flag){
it.remove();
}
}
}

public void recovery(Integer id){
if(store.containsKey(id)){
CartItem item = store.get(id);
item.setBuy(true);
}
}
public double cost(boolean flag){
double sum = 0;
List<CartItem> items = getItems(true);
for(int i=0;i<items.size();i++){
CartItem item = new CartItem();
item = items.get(i);
if(flag){
double ss = item.getPro().getFixed_price()*item.getNum();
sum+=ss;
}else{
double ss = item.getPro().getDang_price()*item.getNum();
sum+=ss;
}

}
return sum;
}
public void update(Integer id,int num){
if(store.containsKey(id)){
CartItem item = store.get(id);
item.setNum(num);
}
}
public List<CartItem> getItems(boolean isbuy){
List<CartItem> items = new ArrayList<CartItem>();
Set set = store.entrySet();
Iterator it = set.iterator();
while(it.hasNext()){
Map.Entry entry = (Map.Entry)it.next();
CartItem item = (CartItem)entry.getValue();
if(item.isBuy()==isbuy){
items.add(item);
}
}
return items;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2015-12-16 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuboalt
2015-12-17 · TA获得超过578个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:210万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
myqq5101437
2015-12-16 · TA获得超过277个赞
知道小有建树答主
回答量:1575
采纳率:40%
帮助的人:223万
展开全部
这个java web编写的购物车程序
写过的 可以找我的·
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式