加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java web开发_购物车功能实现

发布时间:2020-12-14 06:29:03 所属栏目:Java 来源:网络整理
导读:之前没有接触过购物车的东东,也不知道购物车应该怎么做,所以在查询了很多资料,总结一下购物车的功能实现。 查询的资料,找到三种方法: 1.用cookie实现购物车; 2.用session实现购物车; 3.用cookie和数据库(购物车信息持久化)实现购物车; =============

之前没有接触过购物车的东东,也不知道购物车应该怎么做,所以在查询了很多资料,总结一下购物车的功能实现。

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

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中,而是直接持久化到

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

=========================================================================

代码部分:

=========================================================================

注:

Conf.IDUONA_CASHTICKET_COOKIE_STARTNAME = "iduona_cashTicket_";

<div class="cnblogs_code">

 
         
               
   
 
 
 
 
 
 
 
 
 
        
       addToShoppingCart()           (cashTicket ==  || cashTicket.getId() ==  || cashTicket.getId() < 1             write("nullId"         }   (q ==  || q == ""             
             q = String.valueOf(1         }              
             Cookie cookies[] =              (cookies ==  || cookies.length < 0                 
                 System.out.println("there is no any cookie .."             }                  
                  (getUserInSession() ==                       flag =                                                (c.getName().equals(Conf.IDUONA_CASHTICKET_COOKIE_STARTNAME +                             
                             Integer oldValue =                             Integer newValue = Integer.valueOf(oldValue +                              flag =                        
                                              addCookie(Conf.IDUONA_CASHTICKET_COOKIE_STARTNAME +  
                                          
                      
 
                     write("success"                 }                      
                     CashTicket cashTicketTemp =                                              ShoppingCart oldShoppingCart =                         oldShoppingCart.setAmount(oldShoppingCart.getAmount() +                                                      write("success"                      }                          ShoppingCart shoppingCartTemp =                             shoppingCartTemp.setCreateTime(                                                        write("success"       
 
    
      
       readShoppingCartFromCookie()          System.out.println("======================================================"         Cookie cookies[] =          (cookies ==  || cookies.length < 0                          
         }                               System.out.println("haha there are many cookies :" + c.getName() + "    " +    
     
            
               Cookie cookie =          cookie.setMaxAge(2 * 60 * 60 * 1000);
   
     
            
                c.setMaxAge(2 * 60 * 60 * 1000);
   
     
       
                ( !=             Cookie cookies[] =              (cookies !=                                                                
                         String name =                         Integer amount =                         Integer ct_id = Integer.valueOf(name.substring(name.lastIndexOf("_") + 1                         CashTicket temp =                         ShoppingCart shoppingCartTemp =                           ( !=                                                              
                                 ShoppingCart oldShoppingCart =                               }                                  
                                    shoppingCartTemp.setCreateTime(                        
     
     
       
               Cookie cookies[] =          (cookies ==  || cookies.length < 0             
             System.out.println("there is no any cookie .."         }              System.out.println("开始删除cookies.."                                                   c.setMaxAge(0);
         }

这是部分代码....

效果:

用户没有登录的情况下

用户登录了以后:

数据库里面的情况:

登录前数据

========================================================

More reading,and english is important.

I'm Hongten

大哥哥大姐姐,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢。Hongten博客排名在100名以内。粉丝过千。Hongten出品,必是精品。

E | hongtenzone@foxmail.com ?B |?

========================================================

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读