天天看點

java web開發——購物車功能實作

之前沒有接觸過購物車的東東,也不知道購物車應該怎麼做,是以在查詢了很多資料,總結一下購物車的功能實作。

查詢資料,找到三種方法:

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 web開發——購物車功能實作

使用者登入了以後:

java web開發——購物車功能實作

資料庫裡面的情況:

登入前資料

java web開發——購物車功能實作
java web開發——購物車功能實作

我有一個微信公衆号,經常會分享一些Java技術相關的幹貨。如果你喜歡我的分享,可以用微信搜尋“Java團長”或者“javatuanzhang”關注。