周云峰
(广州现代信息工程职业技术学院,广东 广州 510663)
基于Java的在线电子商务网站设计与实现
周云峰
(广州现代信息工程职业技术学院,广东 广州 510663)
文章阐述了如何应用Spring框架和MVC模式设计在线电子商务网站系统。该系统是基于Java开发语言,以Mysql为数据库,以Tomcat,nginx为Web服务器开发并实现的。
在线电子商务;网页静态化;用户行为推荐;负载均衡;MVC
近年来,我国电子商务行业发展迅猛,产业规模不断扩大,加上国家政策的扶持,电子商务已成为人们购物的首要方式,大大节省了人们宝贵的时间。电子商务的发展将线下零售线上化。本文遵循软件开发思想,设计了一套在线电子商务系统。
本网站是以Java语言开发、采用spring MVC架构、mybatis数据库持久层、mysql数据库、以Tomcat作为Web服务器、nginx作为反向代理服务器(解析静态文件,减轻Tomcat压力)设计而成的。网站的主要功能分为会员管理、商品管理、购物车、订单管理、管理员模块、评论管理、商品推荐等几类。
1.1会员模块
系统提供注册登录功能,用户可注册为本网站的会员。通过手机发送验证码、发送邮件激活的方式进行注册,这种方式可以防止虚假恶意注册。
1.2商品模块
商品的展示是购物平台很重要的一部分,需要把网站最核心的东西展示给目标用户。用户可以按商品分类和商品名称进行搜索,并提供热门商品搜索功能。同类商品中用户评价高的商品会排在前面,供买家购物时参考。
1.3购物车模块
用户看到合适的商品,核对尺码、颜色、数量后把商品放入购物车,后期查看即可对自己购物车中的商品信息一目了然,并且用户在核对清楚后点击结算,就形成了订单。
通过COOKIE+DB的方式对J2EE的B2C系统存放购物车。存放购物车的方式有两种:一种是通过Session来存放,使用session.put(key,value)。另一种是通过COOKIE+DB的方式存放。相对而言,前者比较容易实现,但会消耗更多的服务器内存。
首先,每个用户初次访问此网站时,需要为用户分配一个唯一ID(UUID),存放在COOKIE里面。这个功能可以通过过滤器来实现。判断用户cookie里面是否存在ID,不存在就创建。
然后,从数据库获取购物车,如果数据库中不存在记录,代表用户初次购买,这时新建购物车,往购物车中添加购物项。添加完购物项后把整个购物车(实现序列化对象)保存到数据库。
将购物车保存到数据库的时候还要保存用户ID和访问时间。可以设定一个定时器,如果访问时间过期了,就将对应的记录删除。
1.4订单管理模块
用户把选好的商品放入购物车后,确认商品信息无误,结算生成商品订单,点击订单可查看商品的总价、运费、订单总价、创建时间、成交时间等订单信息,用户也可以删除订单。交易完成后对商品进行评价。
1.5管理员模块
管理员可以对注册用户进行管理,统计用户注册信息,统计用户的购买信息,也可以对不合格的用户作删除注销处理。
1.6评论管理模块
用户购买商品后可以对购买的商品进行评价,商家可以对用户的评价进行回复。
1.7商品推荐模块
基于用户购买商品的信息,进行统计分析,分析用户的购买习惯,个性化推荐一些用户可能感兴趣的商品。
本系统采用的是Spring框架,数据库持久层框架采用mybatis,页面采用标签Velocity进行页面静态化。
网站的整体架构设计流程如图1所示:
电商网站一般用户访问量大,本系统采用tomcat集群,nginx+tomcat负载均衡,mysql数据库进行读写分离,应对访问量大的并发性问题。
2.1MVC设计模式
MVC的具体含义是:model+view+control,即模型+视图+控制,它们各自处理自己的任务。而Spring就是典型的MVC架构。MVC设计模式有以下几个特点:
(1)易于工程化管理。
(2)易于维护。
(3)降低层与层之间的依赖。
图1 网站的整体架构设计流程
2.2电子商务网站的实现
(1)会员注册模块:新用户在注册界面填写基本信息。注册模块采用手机验证码加邮箱验证进行校验,避免恶意注册。
(2)会员管理模块:会员管理设计,根据用户购买金额划分为金牌会员、银牌会员、铜牌会员。不同的会员级别购买商品优惠不同。
(3)商品浏览模块:用户浏览商品信息,可以对商品进行搜索,找感兴趣的商品。利用Cookie来实现显示商品浏览历史记录。用户每点击查看一个商品,就记录该用户查看的商品ID、查看时间。根据浏览的商品,系统可以根据用户的浏览记录推荐相关的商品。
(4)购物车模块:主要实现的是修改商品的数量,删除商品等操作。
(5)订单模块:用户购买商品后结算提交,选择送货方式、付款方式。系统生成一个订单号,表示订单生效了。
(6)热门商品:根据用户浏览的商品记录,记录商品的点击量。商品点击量多的排在最前面。管理员可以根据商品的点击量和购买量评出热门商品。
(7)管理员模块:管理员可以对会员进行统计管理,统计注册用户数,商品每天的成交额,总的成交额,商品的上架、下架处理。
(8)权限管理:后台超级管理员可以分配管理员权限,进行分级管理,管理员可以对商品进行上架编辑和下架处理。
[1]梁丽.基于Java的网上书店系统的设计与实现[J].电子技术与软件工程,2013(23):218.
[2]李刚.轻量级J2EE企业应用实战—Struts+Spring+Hibernate整合开发[M].北京:电子工业出版社,2007.
The Design and Implementation of Online E-commerce Website Based on Java
Zhou Yunfeng
(Guangzhou Modern Information Engineering Vocational and Technical College, Guangzhou 510663, China)
This paper describes how to use the Spring framework and MVC model to design a online e-commerce website system. The system is developed and implemented based on the Java development language, with Mysql as the database, Tomcat and nginx as the Web server.
online e-commerce; Web page static; user behavior recommendation; load balance; MVC
周云峰(1980-),男,湖南祁东,工程师;研究方向:计算机网络。