之前沒有接觸過購物車的東東,也不知道購物車應(yīng)該怎么做,所以在查詢了很多資料,總結(jié)一下購物車的功能實現(xiàn)。
查詢的資料,找到三種方法:
1.用cookie實現(xiàn)購物車;
2.用session實現(xiàn)購物車;
3.用cookie和數(shù)據(jù)庫(購物車信息持久化)實現(xiàn)購物車;
分析一下這三種方法的優(yōu)缺點:
1.單純有cookie實現(xiàn)購物車,這樣的購物車不是很理想,設(shè)想一下,如果客戶端的瀏覽器把cookie給禁用了,這種方法就會在這里流產(chǎn)…
2.session中保存購物車的信息,這個只是在一個會話中可用,如果用戶沒有登錄,或者說登錄了以后,添加購物車,在關(guān)閉瀏覽器或者登出后,之前所添加的購物車通通都流產(chǎn)啦…
3.我這里要說就是這種方法啦…..
主要的流程:
A.用戶登錄前的數(shù)據(jù)流:用戶在沒有登錄系統(tǒng)的時候,對喜歡的商品進行添加購物車,那么這個時候,我們可以把購物車信息保存到cookie中,這里會涉及到cookie的添加,修改操作;也即如果之前在cookie中不存對應(yīng)的cookie,則就對cookie進行添加操作。如果在cookie中存在對應(yīng)的cookie,那么,這時候,就要對cookie進行修改操作了(這里涉及到用戶對同一個商品進行多次添加購物車的情況)。
B.用戶登錄后的數(shù)據(jù)流:用戶在登錄后,系統(tǒng)首先做的第一件事就是去獲取對應(yīng)的cookies,如果存在相關(guān)的購物車cookies,那么就對該購物車信息進行相應(yīng)用戶User的持久化操作,要么添加,要么修改。(添加操作:該用戶所對應(yīng)的購物車如果沒有相應(yīng)的信息進行添加操作;修改操作:類似的,如果存在對應(yīng)用戶的購物車信息,就進行修改操作)。用戶登錄后,也可以進行購物車的添加操作,不過,這里不是添加到cookie中,而是直接持久化到數(shù)據(jù)庫中。注:用戶登錄后的數(shù)據(jù)都是和數(shù)據(jù)庫打交道。