之前沒有接觸過購物車的東東,也不知道購物車應該怎麼做,是以在查詢了很多資料,總結一下購物車的功能實作。
查詢資料,找到三種方法:
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中,而是直接持久化到資料庫中。注:使用者登入後的資料都是和資料庫打交道。
代碼部分:
注:
這是部分代碼....
效果:
使用者沒有登入的情況下

使用者登入了以後:
資料庫裡面的情況:
登入前資料
我有一個微信公衆号,經常會分享一些Java技術相關的幹貨。如果你喜歡我的分享,可以用微信搜尋“Java團長”或者“javatuanzhang”關注。