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() }
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)