javaweb中用户添加到购物车会一直存在吗

javaweb中用户添加到购物车会一直存在吗,第1张

查询的资料,找到三种方法:

1.用cookie实现购物车;

2.用session实现购物车;

3.用cookie和数据库(购物车信息持久化)实现购物车;

分析一下这三种方法的优缺点:

1.单纯有cookie实现购物车,这样的购物车不是很理想,设想一下,如果客户端的浏览器把cookie给禁用了,

这种方法就会在这里流产…

2.session中保存购物车的信息,这个只是在一个会话中可用,如果用户没有登录,或者说登录了以后,添加购物车,在关闭浏览器

或者登出后,之前所添加的购物车通通都流产啦…

3.我这里要说就是这种方法啦…..

主要的流程:

A.用户登录前的数据流:用户在没有登录系统的时候,对喜欢的商品进行添加购物车,那么这个时候,我们可以把购物车信息保存

到cookie中,这里会涉及到cookie的添加,修改 *** 作;也即如果之前在cookie中不存蠢团对应的cookie,则就对cookie进行添加 *** 作。

如果在cookie中存在对应的cookie,那么,这时候,就要对cookie进行修改 *** 作了(这里涉及到用户对同一个商品进行多次添加购物车的情况)。

B.用户登录后的数据流:用户在登录后,系统首先做的第一件事就是去获取对应的cookies,如果存在相关的购物车cookies,那么就对该购物车

信息进行相应用户User的持久化 *** 作,要么添加,要么修改。(添加 *** 作:该用户所对应的购物车如果没有相应的信息进行添加 *** 作;修改 *** 作:类似的,

如果存在对应用户的购物车信息,就进行修改搭档宽 *** 作)。用户登录知亮后,也可以进行购物车的添加 *** 作,不过,这里不是添加到cookie中,而是直接持久化到

数据库中。注:用户登录后的数据都是和数据库打交道。

在购物车中写:购物车一般放到session域中。其中有商品小计,有商品总计的一些求和计算。我记局锋散得用Map来弄的。 在购物车中添加map集合。基埋根据放到购物车桐氏中的key来判断在map中是否存在,如果存在那就在原有商品上+1,如果不存在,那么就可以添加商品到购物车。

实现方法就是定义一个购物车的map,商品id作为key,商品价格作为value,每次添加购物车,判断如果是相同的key,茄袭那么就累加value的值。

import java.util.Map

import java.util.HashMap

public class MapText

{

private Object k

Map<Object, Double>map = new HashMap<Object, Double>()

private Double ks = 0.0

public void testmap()

{

map.put("diyige", 10.0)

map.put("脊纳穗dierge", 100.0)

map.put("disange", 1000.0)

map.put("disige", 10000.0)

map.put("diwuge", 100000.0)// for (int i = map.size() - 1i >0i--)

// {

for (Map.Entry<Object, Double>entry : map.entrySet())

{

System.out.println(entry.getKey() + ">>>>樱卜>>>>>>>>>"

+ entry.getValue()) ks = entry.getValue() + ks

}

System.out.println(ks)

// } System.out.println(ks)

} /**

* @param args

*/

public static void main(String[] args)

{

MapText t = new MapText()

t.testmap() }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11970713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存