以前学习java又做个实例,挺值得学习的。1首先我先列出我们所需要的java类结构。1)Databasejava---------模拟存储商品的数据库。2)McBeanjava------------商品实体类,一个普通的javabean,里面有商品的基本属性。3)OrderItemBeanjava---订单表。4)ShoppingCarjava------这个就是最主要的购物车,当然比较简单。5)TestShoppingCarjava---这个是测试类。2下面贴出具体代码并带关键注释。---DatabasejavapublicclassDatabase{/采用Map存储商品数据,为什么呢?我觉得这个问题你自己需要想下。Integer为Map的key值,McBean为Map的value值。/privatestaticMapdata=newHashMap();publicDatabase(){McBeanbean=newMcBean();beansetId(1);beansetName("地瓜");beansetPrice(20);beansetInstuction("新鲜的地瓜");dataput(1,bean);//把商品放入Mapbean=newMcBean();beansetId(2);beansetName("土豆");beansetPrice(12);beansetInstuction("又好又大的土豆");dataput(2,bean);//把商品放入Mapbean=newMcBean();beansetId(3);beansetName("丝瓜");beansetPrice(15);beansetInstuction("本地丝瓜");dataput(3,bean);//把商品放入Map}publicvoidsetMcBean(McBeanmcBean){dataput(mcBeangetId(),mcBean);}publicMcBeangetMcBean(intnid){returndataget(nid);}}---McBeanjavapublicclassMcBean{privateintid;//商品编号privateStringname;//商品名privatedoubleprice;//商品价格privateStringinstuction;//商品说明publicintgetId(){returnid;}publicvoidsetId(intid){thisid=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){thisname=name;}publicdoublegetPrice(){returnprice;}publicvoidsetPrice(doubleprice){thisprice=price;}publicStringgetInstuction(){returninstuction;}publicvoidsetInstuction(Stringinstuction){thisinstuction=instuction;}}---ShoppingCarjavapublicclassShoppingCar{privatedoubletotalPrice;//购物车所有商品总价格privateinttotalCount;//购物车所有商品数量privateMapitemMap;//商品编号与订单项的键值对publicShoppingCar(){itemMap=newHashMap();}publicvoidbuy(intnid){OrderItemBeanorder=itemMapget(nid);McBeanmb;if(order==null){mb=newDatabase()getMcBean(nid);order=newOrderItemBean(mb,1);itemMapput(nid,order);update(nid,1);}else{ordersetCount(ordergetCount()+1);update(nid,1);}}publicvoiddelete(intnid){OrderItemBeandelorder=itemMapremove(nid);totalCount=totalCount-delordergetCount();totalPrice=totalPrice-delordergetThing()getPrice()delordergetCount();}publicvoidupdate(intnid,intcount){OrderItemBeanupdorder=itemMapget(nid);totalCount=totalCount+count;totalPrice=totalPrice+updordergetThing()getPrice()count;}publicvoidclear(){itemMapclear();totalCount=0;totalPrice=00;}publicvoidshow(){DecimalFormatdf=newDecimalFormat("¤###");Systemoutprintln("商品编号\t商品名称\t单价\t购买数量\t总价");Setset=itemMapkeySet();Iteratorit=setiterator();while(ithasNext()){OrderItemBeanorder=itemMapget(itnext());Systemoutprintln(ordergetThing()getId()+"\t"+ordergetThing()getName()+"\t"+dfformat(ordergetThing()getPrice())+"\t"+ordergetCount()+"\t"+dfformat(ordergetCount()ordergetThing()getPrice()));}Systemoutprintln("合计:总数量:"+dfformat(totalCount)+"总价格:"+dfformat(totalPrice));Systemoutprintln("");}}---OrderItemBeanjavapublicclassOrderItemBean{privateMcBeanthing;//商品的实体privateintcount;//商品的数量publicOrderItemBean(McBeanthing,intcount){super();thisthing=thing;thiscount=count;}publicMcBeangetThing(){returnthing;}publicvoidsetThing(McBeanthing){thisthing=thing;}publicintgetCount(){returncount;}publicvoidsetCount(intcount){thiscount=count;}}---TestShoppingCarjavapackagecomshop;publicclassTestShoppingCar{publicstaticvoidmain(String[]args){ShoppingCars=newShoppingCar();sbuy(1);//购买商品编号1的商品sbuy(1);sbuy(2);sbuy(3);sbuy(1);sshow();//显示购物车的信息sdelete(1);//删除商品编号为1的商品sshow();sclear();sshow();}}3打印输出结果商品编号商品名称单价购买数量总价1地瓜¥23¥62土豆¥121¥123丝瓜¥151¥15合计:总数量:¥5总价格:¥87商品编号商品名称单价购买数量总价2土豆¥121¥123丝瓜¥151¥15合计:总数量:¥2总价格:¥27商品编号商品名称单价购买数量总价合计:总数量:¥0总价格:¥04打字太累了,比较匆忙,但是主要靠你自己领会。哪里不清楚再提出来。
1整个商品表,购物车表
2点击购买
没登陆情况下把商品Id(或是其他能标识唯一商品的值)存入Cookies 在购物车页面根据Cookies里存的id集合读取商品信息列出来 此时购物车页面读取的是cookies里商品id对应的信息
登录后把cookies里存的数据加到购物车表 点击购买直接存入购物车表 此时购物车页面数据读取的是数据库中商品数据
商品信息都有了 计算价格就简单了
这是比较简单的实现方式了
1、这个如果连数据库就很简单了,cart数据库,首先有id,productID,然后userid,就是买家的id,然后PublishID,视为卖家id,其他的数据从product表里面读,避免了重复存。
2、如果单纯的起步学习,我还记得我小时候,老师讲用session,用户进入系统后如果要登录就用用户id去存session,不登录就随即生成一个id存session,购物车就根据用户id读session数据。
问题一:淘宝里的购物车如何使用? 就是你要买很多东西的时候,不要点“立刻购买”,点购物车,它就会存在你的购物车里面,在右上角的地方可以看到,到你全部选好了之后就可以点上面的购物车,然后一并“立刻购买”。如果你每次买一件点一次立刻购买就相当于你去超市买东西,拿一件就跑到收银台去再回去拿第二件再放到收银台去,购物车就相当于一个随身的篮子,让你选好全部再一起去收银台。
问题二:手机淘宝怎么使用购物车? 方法:
1 登陆您的淘宝账号,然后在淘宝网上查找商品,然后浏览到你自己喜欢的宝贝点击进入购买。
2 选择好尺码和颜色然后点击加入购物车,把尺码、颜色、购买数量后确定好,逐个加入到购物车中。
3 把宝贝加入购物车后,点击购物车进入查看。
4 或者在右下方的购物车快捷栏上购物车进行结算。
5 将加入购物车的宝贝全部勾选了合并价钱,然后进行结算,并填写收货地址,购买运费险,然后确定进入支付宝或者网银付款,完成 *** 作。
问题三:怎样使用淘宝购物车 你搜到商品之后,到详情里面看中那个就加入到购物车,然后你又看中了另一个,再加入购物车,就可以进入购物车一选中你要的,一起付款就可以了
问题四:购物车如何实现?用什么技术 1 cookie
cookie是由服务器产生,存储在客户端的一段信息。它定义了一种Web服务器在客户端存储和返回信息的机制,cookie文件它包含域、路径、生存期、和由服务器设置的变量值等内容。当用户以后访问同一个Web服务器时,浏览器会把cookie原样发送给服务器。通过让服务器读取原先保存到客户端的信息,网站能够为浏览者提供一系列的方便,例如在线交易过程中标识用户身份、安全要求不高的场合避免用户重复输入名字和密码、门户网站的主页定制、有针对性地投放广告等等。利用cookie的特性,大大扩展了WEB应用程序的功能,不仅可以建立服务器与客户机的联系,因为cookie可以由服务器定制,因此还可以将购物信息生成cookie值存放在客户端,从而实现购物车的功能。用基于cookie的方式实现服务器与浏览器之间的会话或购物车,有以下特点:
n cookie存储在客户端,且占用很少的资源,浏览器允许存放300个cookie,每个cookie的大小为4KB,足以满足购物车的要求,同时也减轻了服务器的负荷;
n cookie为浏览器所内置,使用方便。即使用户不小心关闭了浏览器窗口,只要在cookie定义的有效期内,购物车中的信息也不会丢失;
n cookie不是可执行文件,所以不会以任何方式执行,因此也不会带来病毒或攻击用户的系统;
n 基于cookie的购物车要求用户浏览器必须支持并设置为启用cookie,否则购物车则失效;
n 存在着关于cookie侵犯访问者隐私权的争论,因此有些用户会禁止本机的cookie功能。
2 session
session是实现购物车的另一种方法。session提供了可以保存和跟踪用户的状态信息的功能,使当前用户在session中定义的变量和对象能在页面之间共享,但是不能为应用中其他用户所访问,它与cookie最重大的区别是,session将用户在会话期间的私有信息存储在服务器端,提高了安全性。在服务器生成session后,客户端会生成一个sessionid识别号保存在客户端,以保持和服务器的同步。这个sessionid是只读的,如果客户端禁止cookie功能,session会通过在URL中附加参数,或隐含在表单中提交等其他方式在页面间传送。因此利用session实施对用户的管理则更为安全、有效。
同样,利用session也能实现购物车,这种方式的特点是:
n session用新的机制保持与客户端的同步,不依赖于客户端设置;
n 与cookie相比,session是存储在服务器端的信息,因此显得更为安全,因此可将身份标示,购物等信息存储在session中;
n session会占用服务器资源,加大服务器端的负载,尤其当并发用户很多时,会生成大量的session,影响服务器的性能;
n 因为session存储的信息更敏感,而且是以文件形式保存在服务器中,因此仍然存在着安全隐患。
3 结合数据库的方式
这也是目前较普遍的模式,在这种方式中,数据库承担着存储购物信息的作用,session或cookie则用来跟踪用户。这种方式具有以下特点:
n 数据库与cookie分别负责记录数据和维持会话,能发挥各自的优势,使安全性和服务器性能都得到了提高;
n 每一个购物的行为,都要直接建立与数据库的连接,直至对表的 *** 作完成后,连接才释放。当并发用户很多时,会影响数据库的性能,因此,这对数据库的性能提出了更高的要求;
n 使cookie维持会话有赖客户端的支持。>>
问题五:超嗨智能购物车怎么用啊? 超嗨智能购物车使用起来非常简单,购物的时候扫码放入。结算的时候电子支付,走专用通道离场。简单快捷。全程都是自助使用。
问题六:淘宝购物车使用方法 如何使用拍拍购物车?
在浏览商品的时候,您可以将要购买的商品逐个加入到购物车。
二、查看购物车上的商品:
您有如下几种方式进入购物车查看商品:
1) 将商品加入购物车时,点击d出窗口里的“查看购物车”按钮进入购物车;
2) 点击拍拍网页头的“购物车”进入购物车页面;
耽 3) 点击“我的拍拍”左侧菜单上的“我的购物车”链接进入购物车页面;
问题七:淘宝联盟在一家店里买两样商品,怎么用购物车买 在立即购买旁边就有放入购物车的 你放进购物车了以后 退出来退到我的淘宝首页就有个购物车,再点进去购买就可以了
问题八:用网银买东西加入购物车然后怎样 *** 作 你先进入选择商品,加入购物车(这个购物车跟实际的购物车功能一样的,方便你一次性全部付款)或者立刻购买,比如是立刻购买,就会出现下订单的界面,然后填写收货信息什么的,再确认付款。不过呢,建议在拍下货物之前,先跟卖家联系下,看看有什么疑问或要求,跟卖家沟通时很重要的一步呢~还有呢,使用支付宝付款的话,会比较有保障,所以你可以先进入支付宝,用网银给支付宝充值,这样在拍下商品之后用支付宝付款就可以了~就那淘宝为例,你申请TB的账号,它的右上角会有一个我的支付宝还是什么的字样,你点击进去,根据提示 *** 作,就可以给它充值。用支付宝付款还是很方便的~个人建议不要在支付宝账号里存钱~你付款之后,可以订单情况,也可以追踪货物发送情况。还有一点要注意,付款后会有一个确认收货的字样,一定要收到货并且检查无误之后在确认哟!~
问题九:淘宝联盟怎么用购物车 把要购买的商品点击加入购物车,选完后在最上面找到购物车 点开里面就可以看到刚刚加进去的,可以修改数量规格信息;然后选结算生成订单,然后付款给钱就可以了
问题十:手机淘宝代销怎么使用购物车 这个我会的可以教你啊
session cookies都可以 不过session会造成服务器压力过大
具体你可以下载些源码研究研究 比较简单的
>
以上就是关于java中写商品购物车怎么实现每种商品总价都随商品数量变化而变化全部的内容,包括:java中写商品购物车怎么实现每种商品总价都随商品数量变化而变化、asp.net mvc通过cookie实现简单的购物车功能、JavaWeb开发中,怎么根据用户来实现单个的购物车,小白入门,请指教。能附上源码跟容易理解谢谢!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)