java cook 购物车_用关系数据库写购物车?速度太慢?来看看怎么用cookie实现购物车...

前言

1.一周没有更新了,主要是不知道大家想要了解哪方面的知识。

2.希望大家可以把想要了解的内容私信或者评论告诉我,我一定努力为大家出对应的详细的介绍。

3.今天就来说一下如何通过Cookie来实现购物车。

应用场景

1.通常来说,如果我们的数据量少,用户量少,我们完全可以将购物车写到数据库中 ,但是当用户量一旦变大,数据库负担很重很容易崩掉。

2.当然也可以使用Session来实现购物车,但是有个缺点就是会占用大量的服务器资源,导致的结果可能比数据库崩掉更严重。

3.也可以使用一些中间件来实现,但是也是相当占用资源。

4.所以我认为使用Cookie是一种非常有效且速度极快的一种实现方式。

应用难点

1.我们知道,在Java中Cookie的数据类型只能是String,但是我们要存储的可能并不只有这一种类型。

2.我们在购物车中,一般需要放置商品的信息以及对应的数量,在用户提交订单后在数据库中生成对应的订单。

3.我们需要解决的难点就是如何拼串、解读字符串中我们需要的数据。

代码实现

1.我们此次为了方便演示,直接在Controller中实现逻辑代码。

2.首先我们创建CartVo.java,该类中包含我们购物车所需要的所有信息。

64362b57463d2cd45e038ef2c542320f.png

CartVo.java

3.接下来我们来编写实现购物车需要工具方法。

a. 首先我们创建购物车Cookie,判断是否存在名为“cart”的Cookie,如果存在直接使用,否则就创建名为“cart”的Cookie。

b647924c4c7d50c9a75ee283579e950e.png

b.获取Cookie 中的购物车商品列表,为了避免抛出异常,我们同样先判断是否存在Cookie。

7ebf27b27723f44a82d59761e6027d95.png

c.接下来我们写一个方法,用来制作Cookie中存储的商品列表的value,也就是将商品数据拼串。

b9228b18427e84358d16d34e8e1d27d3.png

4.以上我们算是将我们在操作Cookie时需要的方法编写完成了,接下来实现我们的CartController.java来实现我们购物车的增、删、改、清的方法。

a.导入我们需要的包

64362b57463d2cd45e038ef2c542320f.png

b.我们来编写添加商品至购物车当中,当购物车中存在相同商品,则将其数量加1。

bd0215b47cf934c3fcaf496491685311.png

f0d1622305720ae56c18603bcaf40900.png

c.获取购物车列表。

7480210262c33a89ca27b1c61550075c.png

d.清空购物车。

cf230339f5c3fe457768a43b2e8b8742.png

e.根据ID删除购物车中的商品,即点击减号减少商品。首先需要判断购物车中商品数量,如果数量大于1则数量减1,否则直接从购物车中删除该商品。

23cfd8656b6f5558bae75af755d5f3f4.png

5.直接调用Controller即可。

最后

1.前台以及数据访问层我们就不做过多的赘述。大家可以自由发挥,当然Cookie还有很多的操作可以进行拓展,大家如果有什么好的想法可以告诉我。

2.如前言所说,最近也是想不到有什么好的内容可以分享给大家,如果大家有什么想要了解的,可以告诉我。

3.感谢大家的关注和阅读,希望日后可以给出更多的好的文章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值