贾峰
(广东理工职业学院,广州 510091)
校园电商平台中购物车的设计与实现
贾峰
(广东理工职业学院,广州 510091)
针对校园电商系统业务的规模,基于Session和Cookie设计并实现了一款购物车。利用Session存储购物车对象,购物信息放在List集合中;利用Cookie将购物信息集合转换为商品ID和购买数量的字符串,保存在本地硬盘上。
购物车;Session;Cookie;jsp
购物车是校园电商平台的重要组成部分,其功能包括:查看购物车,删除、修改、清空购物车中的商品,计算购物车商品总价等。要想在网站上实现购物车功能,可以通过Cookie、Session或者数据库方式,这几种方法各有优缺点[1]。本文首先提出基于Session设计购物车的方法,然后加入Cookie方式完善购物车,最后提出了基于 Session和Cookie购物车的设计与实现。
Session具有保存和跟踪用户状态信息的功能,可以将会话期间的私有信息保存在服务器端[2],信息存储在服务器端会更安全,不同用户的购买数据存储在不同的Session中。基于Session购物车设计思路如图1所示。
图1 基于Session的购物车设计
图1中(1)为用户发送购物请求;(2)为服务器创建Session对象,不再直接访问Session,而是绑定Cart对象,将用户购物信息装入购物车(Cart)对象中。Cart是一个CartItem(商品及数量)的List集合。用户购买商品时,只须调用Cart类的add方法即可。下面是购物车类的伪代码:
这样做的缺点是如果用户不小心关闭了浏览器窗口,购物车中的信息就会丢失,要确保信息不会消失,需要引入Cookie机制。
Cookie是服务器临时保存在浏览器端的少量数据。当浏览器访问服务器时,服务器会将少量的数据以set-Cookie消息头的方式发送给浏览器,浏览器会将这些数据临时保存下来;当浏览器再次访问服务器时,会将之前保存的这些数据以Cookie消息头的方式发送给服务器。基于Cookie的方式实现购物车,信息存储在客户端,减轻了服务器的负荷;基于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-),男,山西大同人,讲师,硕士,研究方向为软件工程。