购物车的设计思想如下:
- 购物车中放入的信息是用户在完成生成订单前添加的商品信息,一般 购物商城中 对于购物车中的信息 大多数是存放在会话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);
}
以上只是简单的给出了 购物车商品信息的添加 其更新功能此处就不加 说明了
分享到:
相关推荐
Shop7z网上购物系统具有大的关键词设置功能,整个网站可以设置其搜索关键词,在SEO方面表现出众,可以设置任意个商品不同的搜索关键字和描述,同时经过优化过程序在搜索引擎优化上有了更大的飞跃,用户只需要通过在...
该系统大多数网上商城一样该系统实现的主要为两个模块:前台模块和后台模块。网上超市系统的前台模块包括用户注册登录、商品查询、浏览商品信息、商品购买、购物车、用户修改个人信息等功能[6]。网上超市系统的后台...
要求:要求每个小组在“主题网上商店”的基础上,采用MVC模式完成用户登录、商品注册、商品列表、用户购物和购物车管理等功能。(1)管理员登录可以进行商品管理。(2)普通用户登录可以在商品列表中购买商品。(3)...
本项目是一套基于javaWeb电子商城前后台管理系统网上商城系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 ...
基于WEB的网上购物系统是一款基于Web技术的电子商务网站,主要提供商品展示、购买、支付等服务。...总体来说,基于WEB的网上购物系统具有功能齐全、易于扩展、稳定性高等优点,适用于各种规模的电子商务网站的需求。
参 考 文 献 - 25 - 电子商城系统的设计与实现 (德州学院计算机系,山东德州 253023) 摘 要:随着计算机技术的不断发展,网上购物已经越来越普遍了,利用电子商城系统完成 网上购物给网上购物者带来了极大的方便。...
购物车实时显示功能,Shop7z网上购物系统购物车显示于导航条之下,无论顾客在商城的哪个页面,都实时显示购物车信息,如订购商品数量、订单总金额等,并可直接进入购物车增减商品,同时自动判断用户状态,并及时...
随着网络安全的日益提高,为防止部分恶意人员对商城进行点击或其他不法行为,网趣网上购物系统新增IP访问限制功能,添加某IP后即可限制此IP人员的访问,同时系统支持IP段的限制访问功能,可对同一IP段进行访问限制...
- 16 - 实现数据库的连接 - 17 - 5 系统功能实现与测试 - 17 - 系统测试 - 17 - 系统实现 - 18 - 系统的前台页面及功能 - 18 - 后台管理员的功能界 - 21 - 结束语 - 24 - 参 考 文 献 - 25 - 电子商城系统的设计与...
随着网络安全的日益提高,为防止部分恶意人员对商城进行点击或其他不法行为,网趣网上购物系统新增IP访问限制功能,添加某IP后即可限制此IP人员的访问,同时系统支持IP段的限制访问功能,可对同一IP段进行访问限制...
随着网络安全的日益提高,为防止部分恶意人员对商城进行点击或其他不法行为,网趣网上购物系统新增IP访问限制功能,添加某IP后即可限制此IP人员的访问,同时系统支持IP段的限制访问功能,可对同一IP段进行访问限制...
随着网络安全的日益提高,为防止部分恶意人员对商城进行点击或其他不法行为,网趣网上购物系统新增IP访问限制功能,添加某IP后即可限制此IP人员的访问,同时系统支持IP段的限制访问功能,可对同一IP段进行访问限制...
以及默认的按商品添加时间顺序浏览,新的报价中心功能可以按商品大、小类以下拉菜单形式任意分类显示,且支持单次批量购买任意商品到购物车功能!即可以勾选任意商品直接放物购物车,免去点开商品的步骤。 旗舰版...
随着网络安全的日益提高,为防止部分恶意人员对商城进行点击或其他不法行为,网趣网上购物系统新增IP访问限制功能,添加某IP后即可限制此IP人员的访问,同时系统支持IP段的限制访问功能,可对同一IP段进行访问限制...
购物车功能:本功能用于实现登录用户的网上购物过程。用户在网上花店中购买的所有商品在生成订单之前都被存储在“购物车”当中,此时用户可以对选购的商品进行任意的删改;当生成订单之后,只能查看订单的详细信息,...
正版网域商城购物系统2006后台路径:admin/login.asp管理员帐号:admin,密码:admin前台购买特征:网域购物系统前台购物车部分界面友好,实现方便轻松的购物环境:分类浏览商品或使用搜索工具查找商品;可按价格、...
完成普通网上购物流程,用户管理,购物车,订单生成。页面动态验证(AJAX)