賈峰
(廣東理工職業學院,廣州 510091)
校園電商平臺中購物車的設計與實現
賈峰
(廣東理工職業學院,廣州 510091)
針對校園電商系統業務的規模,基于Session和Cookie設計并實現了一款購物車。利用Session存儲購物車對象,購物信息放在List集合中;利用Cookie將購物信息集合轉換為商品ID和購買數量的字符串,保存在本地硬盤上。
購物車;Session;Cookie;jsp
購物車是校園電商平臺的重要組成部分,其功能包括:查看購物車,刪除、修改、清空購物車中的商品,計算購物車商品總價等。要想在網站上實現購物車功能,可以通過Cookie、Session或者數據庫方式,這幾種方法各有優缺點[1]。本文首先提出基于Session設計購物車的方法,然后加入Cookie方式完善購物車,最后提出了基于 Session和Cookie購物車的設計與實現。
Session具有保存和跟蹤用戶狀態信息的功能,可以將會話期間的私有信息保存在服務器端[2],信息存儲在服務器端會更安全,不同用戶的購買數據存儲在不同的Session中?;赟ession購物車設計思路如圖1所示。

圖1 基于Session的購物車設計
圖1中(1)為用戶發送購物請求;(2)為服務器創建Session對象,不再直接訪問Session,而是綁定Cart對象,將用戶購物信息裝入購物車(Cart)對象中。Cart是一個CartItem(商品及數量)的List集合。用戶購買商品時,只須調用Cart類的add方法即可。下面是購物車類的偽代碼:

這樣做的缺點是如果用戶不小心關閉了瀏覽器窗口,購物車中的信息就會丟失,要確保信息不會消失,需要引入Cookie機制。
Cookie是服務器臨時保存在瀏覽器端的少量數據。當瀏覽器訪問服務器時,服務器會將少量的數據以set-Cookie消息頭的方式發送給瀏覽器,瀏覽器會將這些數據臨時保存下來;當瀏覽器再次訪問服務器時,會將之前保存的這些數據以Cookie消息頭的方式發送給服務器?;贑ookie的方式實現購物車,信息存儲在客戶端,減輕了服務器的負荷;基于Cookie的購物車要求用戶瀏覽器必須支持并設置啟用Cookie,否則購物車失效[3]。購物車設計思路如圖2所示。
圖2中(1)(2)同Session的購物車設計。
(3)通過Cart中的store方法,將List集合轉換為一個等價的字符串并保存到Cookie中。在CartItem中最重要的信息就是商品ID和購買數量。


圖2 利用Session和Cookie購物車設計


本文提出了基于Session和Cookie設計與實現購物車的方法,用戶可以把購買商品的數據同時保存在服務器端和客戶端;同時購物車設計也體現了操作簡便、流程清晰等特點[4]。由于學校范圍內的交易平臺訪問量有限,沒有考慮多并發情況下購物車的設計,下一步的研發工作要考慮訪問壓力非常大、查詢量非常大、并發量比較高的情況,需要數據庫存儲購物車信息,使其數據呈現持久態。
[1]潘建建,管群.基于會話狀態的購物車系統[J].計算機系統應用,2012(11):43-46.
[2]張志剛.購物車技術研究及改進方法[J].計算機應用與軟件,2010(3):68-70.
[3]李愛國.基于Cookie的購物車設計與實現[J].信息技術,2013(6):60-62.
[4]印德彬.基于.NET電子商務系統的購物車設計[J].河北軟件職業技術學院學報,2015(2):4-5.
Design and Implementation of Shopping Cart based on Campus E-commerce Platform
JIA Feng
(Guangdong Polytechnic Institute,Guangzhou 510091, China)
According to the scale of the campus e-commerce system,it implements a shopping cart by Session and Cookie.Cart object is stored in the session,and the needs are put into the list collection.Shopping cart information is changed into string(such as good ID and quantity)which is saved in hard disks.
shopping cart;session;cookie;jsp
T9311.52
A
1673-2022(2017)02-0063-02
2017-03-04
賈峰(1981-),男,山西大同人,講師,碩士,研究方向為軟件工程。