购物车的设计思想如下:
- 购物车中放入的信息是用户在完成生成订单前添加的商品信息,一般 购物商城中 对于购物车中的信息 大多数是存放在会话session中 并未牵扯到数据库
- 购物车中显示的是一条或多条商品条目,而商品条目中一般包括 :商品的基本信息 (商品名称 商品的单价),购买数量 ,每个商品条目的价钱小计,最后 往往有购物车中所有商品的价格总计。
- 经过上面的分析 我们可以定义一个购物车条目类 即CartItem 在该类即对购物车中每个商品条目的封装 实现了商品信息,购买数量,价格总计的定义。其中totalPrice为只读属性 因为该属性值可以通过内部计算获取
public class CartItem {
private FoodInfo finfo;
private int iCount;
private float totalPrice;
public FoodInfo getFinfo() {
return finfo;
}
public void setFinfo(FoodInfo finfo) {
this.finfo = finfo;
}
public int getiCount() {
return iCount;
}
public void setiCount(int iCount) {
this.iCount = iCount;
}
public float getTotalPrice() {
this.totalPrice=this.iCount*this.finfo.getFood_price();
return totalPrice;
}
public CartItem(FoodInfo finfo, int iCount) {
super();
this.finfo = finfo;
this.iCount = iCount;
}
}
- 因为 本次购物车 并未牵扯到数据库 所以 在购物车的实现我们直接在业务逻辑层中来完成。cartAdd方法用来实现商品条目添加,首先判断购物车中是否存在该商品 如果有更新即可否则加入cartMap中;getCartMap()方法用来读取购物车中信息;cartUpd()方法用来更新修改购物车中的信息;cartDel用来删除购物车中的某一个商品;cartClear()用来实现 清空购物车
public class CartBizImpl implements CartBiz {
//声明定义Map对象 cartMap用来存放 商品条目cartItem。其中key为商品编号 value为cartItem
private HashMap<Integer, CartItem> cartMap=new HashMap<Integer, CartItem>();
public boolean cartAdd(CartItem ci) {
if(cartMap.containsKey(ci.getFinfo().getFood_id())){
CartItem cOld=cartMap.get(ci.getFinfo().getFood_id());
cOld.setiCount(ci.getiCount()+cOld.getiCount());
}
else{
cartMap.put(ci.getFinfo().getFood_id(), ci);
}
return true;
}
public HashMap<Integer, CartItem> getCartMap() {
return this.cartMap;
}
public boolean cartUpd(CartItem ci) {
cartMap.put(ci.getFinfo().getFood_id(), ci);
return true;
}
public boolean cartDel(int foodid) {
cartMap.remove(foodid);
return true;
}
public boolean cartClear() {
cartMap.clear();
return true;
}
public CartItem get(int foodId){
return cartMap.get(foodId);
}
}
- 在购物车的servlet中 来具体实现购物车的功能,因为购物车业务类在每次声明创建之后 完成了本次servlet它的生命周期 即结束 所以 我们将其放入session中 已达到 该业务类 能够在 整个会话期间使用
CartItem ci=new CartItem(fi,iCount);
boolean flag=false;
if(session.getAttribute("shopCart")==null){
CartBiz cb=new CartBizImpl();
flag=cb.cartAdd(ci);
session.setAttribute("shopCart", cb);
}
else{
CartBiz cb=(CartBiz)session.getAttribute("shopCart");
flag=cb.cartAdd(ci);
session.setAttribute("shopCart", cb);
}
以上只是简单的给出了 购物车商品信息的添加 其更新功能此处就不加 说明了
分享到:
相关推荐
因此,设计并实现一个功能完善、用户体验良好的网上购物商城系统具有重要的实际价值和学习意义。 1.1 目的和意义 通过这个项目,学生可以深化对Java编程语言的理解,掌握Web应用开发的基本流程,包括需求分析、...
这个项目是基于PHP实现的网上购物商城,对于初学者来说,是一个极好的学习实例,可以帮助他们深入了解PHP在实际应用中的运用。 1. **PHP基础**:PHP是一种通用的、跨平台的、嵌入HTML的脚本语言,它的语法简洁且...
"网上图书商城系统功能结构概述" 网上图书商城系统功能结构是指在线图书订购系统的各种功能模块的组合,旨在提供一个便捷、安全、可靠的在线图书订购体验。本系统功能结构可以分为登录管理功能结构、前台展示功能...
在本项目中,“Java+MySQL实现网上购物商城”是一个典型的Web应用程序开发实例,它结合了Java后端技术和MySQL数据库来构建一个完整的在线购物平台。这个系统可以作为Java编程和数据库管理的学习材料,帮助学生理解...
Shop7z网上购物系统具有大的关键词设置功能,整个网站可以设置其搜索关键词,在SEO方面表现出众,可以设置任意个商品不同的搜索关键字和描述,同时经过优化过程序在搜索引擎优化上有了更大的飞跃,用户只需要通过在...
本篇文章将深入探讨ASP.NET网上购物商城源代码的结构、功能和实现原理,帮助开发者更好地理解和利用这些源代码。 首先,ASP.NET网上购物商城的核心在于其强大的数据管理能力。源代码中通常会包含与SQLServer 2000...
该系统大多数网上商城一样该系统实现的主要为两个模块:前台模块和后台模块。网上超市系统的前台模块包括用户注册登录、商品查询、浏览商品信息、商品购买、购物车、用户修改个人信息等功能[6]。网上超市系统的后台...
综上所述,网上购物商城系统是一个集用户交互、商品展示、订单处理、管理功能于一体的综合平台。通过精心的规划、分析、设计和实施,它旨在提供一个安全、高效、易用的网络购物环境,满足21世纪消费者和商家的数字化...
电子购物商城,作为一款基于C#技术实现的网上商城系统,是计算机科学与技术专业学生进行毕业设计的理想项目。此项目不仅提供了丰富的实践机会,也展现了C#在开发大型Web应用时的强大功能。下面我们将详细探讨这个...
随着互联网的普及和生活节奏的加快,网上购物成为越来越多消费者的首选,体育商城也不例外。网上体育商城能够展示丰富的商品种类,解决实体店铺空间有限的问题,同时允许消费者随时随地浏览、选购和下单,提升了购物...
ASP.NET网上购物商城系统是一款基于ASP.NET技术构建的电子商务平台,它提供了全面的在线购物功能,包括商品浏览、购物车管理、订单处理、用户账户管理等。本文将深入解析该系统的相关知识点,帮助读者理解ASP.NET在...
本项目是一个综合性的Java开发实践,包含了网上购物商城与BBS论坛两个主要模块,适合Java初学者进行深入学习。通过这个项目,你可以了解到如何利用Java技术构建实际的互联网应用。 首先,我们来看网上购物商城部分...
综上所述,本文详述了一款基于Java技术和MySQL数据库的网上购物商城的开发过程,从需求分析、系统设计到实现、测试,全方位展示了构建一个功能完善的在线购物平台的各个环节。同时,也探讨了如何利用先进的计算机...
ASP网上商城系统的设计与实现是基于经典的Web开发技术ASP(Active Server Pages)构建的一个电子商务平台。这个系统旨在提供一个功能完善的在线购物环境,包括商品浏览、购物车管理、订单处理、用户注册与登录、支付...
8. **功能实现**:通过编程实现各个模块的功能,包括商品搜索、添加购物车、支付接口集成等。 9. **系统测试**:进行了单元测试、集成测试和性能测试,确保系统的稳定性和正确性。 通过上述步骤,Blue胖商城不仅...
要求:要求每个小组在“主题网上商店”的基础上,采用MVC模式完成用户登录、商品注册、商品列表、用户购物和购物车管理等功能。(1)管理员登录可以进行商品管理。(2)普通用户登录可以在商品列表中购买商品。(3)...
7. **购物车和结算流程**:购物车功能涉及到商品添加、删除、数量修改等操作,而结算流程则包括选择支付方式、填写收货地址、确认订单等步骤,这些都需要精心设计和实现。 8. **物流和库存管理**:后台系统需要对...