购物车简单分析

本篇博文的目的主要是让大家认识到什么是购物车,不求深入但求清晰!

1、不同状态下购物车的保存情况

    一般而言咱们在购物的时候顺手也就将自己喜欢的产品加入到购物车中了。有一天小红在京东上看到了一款色调非常好看的口红价位也非常诱人就立即加入购物车中了。第二天到公司后准备拿给小丽看,可是却怎么也找不到了。这让小红很是郁闷(本来是要和小丽分享呢!)晚上回到家后,登上家用电脑却发现又能找到商品。小红对此很是不解,幸好小红所在的公司是互联网公司,就给一个关系比较好的同事,小周打了个电话问问到底是怎么回事。

    小周听了小红的苦恼后哂然一笑,小红一听就不乐意了。不懂就问有什么可笑的啊!小周眼见情况不对,惹恼了小姑奶奶以后可就没机会了。就开始和小红解释:

    商品加入购物车,会分为两种状态的。

        1、未登录个人账号————商品存入到客户端(也就是自己电脑上)小红目前就属于这种情况,商品信息都在自己的电脑上一般使用cookie就可以实现。你换台电脑没有之前的cookie自然看不到信息记录。也就是这个cookie中缓存的是你的浏览记录,现在某些网站上针对性的给你推荐商品在你未登录时调用的也就是cookie,不要问我cookie禁用或清除浏览记录了怎么办?我是绝对不会告诉你,凉拌的!

        2、登录个人账号————商品存入到服务器端(京东所使用的服务器,你的个人账号在其中还是有一片地的,你的所有信息也都在里面)现在是大数据时代了,所以未来有一天没准你还没下单京东就将你所准备购买的物品送货到家你就可以付款了。当然了,现在实现起来还比较困难,这玩意涉及到行为分析、心理学等多个方面对于数据的有效整合还是有一段路要走的,行了,这块就不扯了。这块我当时就直接用redis进行的实现。

    所以,这块京东这块要记录你的信息还要先判断你是否登录呢!(终于有用武之地了,小周美滋滋的)。


2、在未登录状态下保存cookie还有那些方式?

    我们都知道,cookie是有大小限制的(万一存不下可咋办),并且每次请求的时候也都会携带cookie这样就比较消耗性能了!

那么,我们可以怎么做呢?目前我这块在cookie中只存放key值,具体的商品信息存放到第三方的存储空间中(我用的是redis)。但是咱们还需要考虑到一个问题,上面有提到用户假如禁用了cookie呢?难道真的就没有办法了吗?这个当然是不可能的,有问题就有解决方式嘛!

        一般情况下这个情况还是不怎么会存在的。因为如果cookie全面禁用的话咱们登录的时候也不免会出现问题,因为咱们登录的时候是通过sessionid确定session进行登录的。很不幸sessionid是在cookie中的。这块当时是采用的URL进行重写的(如果禁用cookie,servlet就会引入一种补充会话机制,当用户发出下一次请求时,如果请求信息中没有包含cookie头字段,servlet引擎则认为客户端不支持cookie,他就会依据请求URL参数中的会话标识号来实施会话跟踪,我们将它称作“URL重写”)(tomcat发送给客户端的会话标识号的cookie称作JSESSIONID。URL重写就是将JSESSIONID关键字作为参数名和会话标识号作为参数附加到url后面。如果浏览器不支持cookie或者关闭cookie,就必须对所有可能被客户端访问的请求路径进行URL重写,如超链接,form表单的action属性和重定向的url.response.encodeURL()使URL包含sessionid,如果你需要使用重定向,可以使用response.encodeRedirectURL()来对URL进行编码encodeURL()及encodeRedirectURL()方法首先判断cookie是否被浏览器支持:如果支持参数URL被原样返回,sessionID将通过cookies来维持。)也就是现在与cookie无关了,我们已经将原本放到cookie中的数据作为参数放到了URL这个路径中了,通过以上的方法就可以实现了。


今天就先这么多,后面再保持更新!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值