周少波
摘要:网上购物对当今传统的零售企业带来了巨大的冲击,同时也带来了巨大的商机。网上商城使人们购买货物时无需亲临现场,而且网上支付的方式更加方便、快捷,同時可以节省租店面、招雇员等一些费用。本系统采用MVC三层架构设计模式,采用Struts框架开发,结合Tomcat WEB服务器。逻辑层开发基于J2EE平台,表现层采用B/S结构,使用StrutsTaglib+JSP进行页面呈现,使用Hibernate第三方框架对数据进行持久化并使用MYSQL数据库进行数据存储。实现网上商城和后台管理的功能,确保为用户提供网络购物更好的服务。网上购物网站不仅仅是商品和服务的推广,而且通过网络将买家与卖家、厂商和合作伙伴紧密结合在了一起,从而消除了时间与空间带来的障碍。
关键词:网上购物;SSH框架;MVC模式
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)31-0286-03
1 概述
网上购物已经成为人们一种新的购物方式,尤其是现在的年轻人更热衷于在网上进行购物。网上商品物美价廉,购买方式简单方便,足不出户就能买到称心如意的商品,这使得对开发网上购物系统的技术要求更高了。传统的购物网站采用JSP,Servlet以及JavaBean技术进行开发,系统扩展能力不强,不能够满足人们快速增长的需求。并且在显示页面时,有时要进行逻辑处理,降低了运行效率。另外,对数据库的处理往往过于复杂,特别是与数据库的连接浪费了大量的时间,这使得使用SSH这三个开源框架的优点被很好地体现出来了。SSH框架的设计思路是将整个系统的实现分为三层:表现层、业务逻辑层、持久层。表现层主要是负责前台的显示,业务逻辑层主要负责处理业务逻辑以及页面的转向,持久层主要负责后台与数据库的连接以及交换数据。这样大大增加了系统的扩展性,能够即时的调整系统功能来满足用户的需求,使得结构更加严谨。每层完成指定的任务,减轻页面显示时的工作量,增加了系统的执行效率。此外增加了持久层,也就增加了数据更多的安全性。
2 需求分析
2.1 系统需求
美妆购物商城系统主要分为三类用户:
普通用户:是指以游客身份访问网站的用户。此类用户只能浏览商品信息、商品分类信息、商品品牌分类信息等内容。
商城会员:是指注册成为会员,并根据账号和密码登录了系统的用户。会员登录了系统之后,除了可以查看商品信息以及各种分类商品信息,还可以将商品添加到购物车中,以及删除某些不想要的商品,确定购物车的商品填写收货信息并提交订单。
后台管理员:后台管理员主要负责管理后台信息;主要有订单管理,商品信息管理;商品分类管理以及用户管理。订单管理主要有未发货和已发货订单,管理员可以点击发货安排发货;商品管理主要有添加商品、上传商品图片、删除、修改、查看的管理。商品分类管理主要有添加分类、删除、修改、查看管理。用户管理主要有查看用户信息管理。
2.2 功能需求
前台模块:
1) 用户注册:用户填写个人信息进行注册,注册成功后系统将用户信息保存在用户表。
2) 用户登录:用户通过登录页面登录进入商城首页,可以浏览购买商品。
3) 新品上架模块:将最新添加的商品显示在页面的新品上架板块,方便用户了解商城的最新动态。
4) 特别推荐模块:将商城以为特别的值得推荐的商品显示在首页的特别推荐的板块。
5) 热门商品模块:将最热门的商品显示在商城首页的热门商品显示板块,可以让用户了解大家的购物趋向。
6) 商品分类展示:将商品的分类显示在页面上,方便用户快速找到目标商品。
7) 购物车:用户可以将想要购买的商品添加进购物车方便购物,也可以删除不需要购买的商品。
8) 我的订单:用户购买商品的信息都保存在订单表,可以根据我的订单功能来查看未付款的订单进行付款,并查看历史订单。
后台模块:
1) 商品管理:管理员通过后台管理系统可以实现查询,增加,修改,删除商品信息。
2) 分类管理:管理员通过后台管理系统可以实现查询,增加,修改,删除商品分类的信息。
3) 订单管理:管理员通过后台管理系统可以查看用户订单,删除用户订单,以及修改用户订单的状态。
4) 用户查看:管理员通过后台管理系统可以查看注册的用户。
5) 管理员登录:管理员登录后台管理系统进入后台管理系统。
2.3 业务流程分析
美妆商城用户通过前台页面浏览商品,选购商品添加进购物车,选择付款或者选择继续购物,点击付款,判断用户是否登录,若无,则跳到登录页面登录,否则便可填写收货信息提交订单;后台管理员通过后台管理系统查询订单,审核订单,订单无误之后确认发货,并将发货状态传给用户。
2.4 数据流程分析
首先管理员通过后台管理功能添加商品信息和商品分类,并将商品信息保存在商品表和商品分类表,用户可以注册登录,并将用户信息保存在用户表,然后通过查询统计的方式将商品读取出来,并显示在页面上;其次用户可以生成订单并将订单信息保存在订单表;最后管理员通过后台管理系统根据查询方法查看订单信息,修改用户的订单状态并将修改信息返回给用户。
3 系统设计
3.1 系统总体功能结构
美妆商城网站的总体功能结构:前台功能包括美妆商品信息浏览,购物车和我的订单三个模块;后台管理包括美妆商品管理,订单管理,用户管理,商品分类管理四个模块。系统主要模块及其功能如下:
1) 用户信息管理:此模块用于对账户信息的进行管理,如用户注册、登录。
2) 商品信息管理:主要包括美妆商品信息,分类列表、新品上架、推荐商品以及热门商品的查看。
3) 购物车模块:将商品添加进购物车,商品的删除,查看購物车,清空购物车。
4) 订单管理:查询订单,生成新的订单,查看订单列表以及订单的付款。
5) 后台管理员模块:查看用户信息,添加、修改、删除商品信息,修改订单的状态。
3.2 系统概念结构设计(E-R图)
E-R方法是“实体-联系方法”的简称,是一种用来描述现实世界概念结构模型的方法。该方法有三个基本要素:实体、属性和联系,其中用矩形表示实体,用椭圆表示属性,用菱形表示实体和实体之间的联系,并用直线将有关实体型连接起来。E-R图就是根据ER方法设计的一种图形。根据前面的具体分析就可以得到系统的E-R图如1所示。
3.3 基本表设计
数据库是该系统中必不可少的后台数据存储支持。在设计该系统的表结构之前,首先要创建一个数据库,在我的美妆商城系统中,我定义这个数据库为hbbshop。该数据库中包含了:商品表(shop)、用户表(usertable)、管理员表(admin)、商品分类表(categorytable)、订单表(ordertable)、订单项表(orderitem)。
4 系统功能实现
4.1 前台模块的功能实现
4.1.1 注册
用户通过单击注册后输入用户名密码、用户真实姓名、地址、电话以及邮箱。通过web表单使用post方法提交。这里考虑到两点:第一,对用户的用户名使用了xmlHttpRequest()异步加载校验用户名必须是唯一的;第二,对用户的邮箱格式通过正则表达式进行了校验,只能输入正确的邮箱格式。用户输入注册信息并提交后,系统会检查注册页面输入的数据,对于不符合系统要求的数据会给出必要的提示信息。对于符合要求的注册信息,用户提交的数据将被保存在数据库中并跳转到登录页面。
4.1.2 登录
关于我们登录模块的实现通常就是为了用户输入数据安全,因此需要在用户购买商品时要求对客户进行身份验证。首先使用if判断语句判断用户名是否为空,不为空的情况下判断用户名是否正确根据getHibernateTemplate().find()查询用户的用户名和密码,一致则登录成功,否则重定向到当前登录页面重新登录。
4.1.3 购物车
本系统通过使用session创建购物车,用户选购商品填写商品数量后添加进购物车,在catr-Action中通过addCart()方法封装一个CartItem对象,根据商品的id查找商品并通过addCart()将想要购买的商品添加到购物车中。在购物车中可以查看选择了的商品,同时如果对某些商品不满意,可以使用removeCart()方法进行移除或者使用clearCart()方法清空购物车。
4.1.4 提交订单
用户决定购买商品后点击提交订单通过bootstrap框架model以弹框的方式检查订单并填写收货信息,生成订单,并通过save()方法将订单项存入订单表,通过付款便可完成交易。
4.1.5 我的订单
用户点击我的订单,根据订单id以及用户id 查找订单表中属于该用户的所有订单并根据page-
Bean类分页显示,订单项上有商品的交易状态,用户可以对未付款的商品进行付款操作,并通过up-dateState()方法修改订单状态并通过setState()设置当前的订单状态。
4.2 后台模块的功能实现
4.2.1 管理员登录
关于后台登录模块的实现就是为了用户输入数据的安全,因此需要在进入系统之前对管理员身份进行验证。输入用户名以及密码点击登录时在AdminDao中通过查询语句查询用户名以及密码是否存在,若存在则登录成功,否则使用addActionError()添加用户名或着密码错误的提示。
4.2.2 用户管理
用户管理主要是使用userDao中的findAll()方法根据getHibernateTemplate().find()来查询所有用户并将用户信息显示。
4.2.3 商品管理
商品管理模块主要是管理商品的基本信息,为了让顾客了解到商品的真实信息,在添加商品模块中增加上传商品图片的功能,使顾客能够浏览到商品的真实外貌。
管理员在商品添加功能中输入要添加的商品的基本信息,并设置为是否是热门商品或推荐商品。然后选择图片上传功能,在上传文件位置上添加图片后点击提交,在ShopDao通过getHibernateTemplate().save(shop);将商品分类保存在shop表中,完成后通过findAll方法查找带有分页的商品集合并根据商品id查找商品,点击编辑通过model将商品原数据从栈中取出并传入编辑页面,管理员可在此对商品重新定义或者更换图片点击提交通过update()方法修改商品信息。删除商品信息时,先通过findById()方法获得指定的商品Id,然后再 使用sql语句进行商品信息的删除。
4.2.4 分类管理
该模块是针对商品的类别进行分类,可以查找添加删除修改分类信息,添加商品分类商品时在CategoryAction类中定义save方法,在CategoryDao通过getHibernateTemplate().save(category);将商品分类保存在category表中;点击删除时通过findById()方法找到要删除的订单ID在CategoryDao中通过delete方法进行删除并通过struts.xml文件配置重定向路径实现删除操作。
4.2.5 订单管理
该模块是对顾客的订单明细信息进行管理,主要包括了对用户订单信息的查看、删除和订单受理的操作等功能。
订单管理模块使用了findAll和findOrderItem方法查询订单通过值栈的方式将订单信息显示在页面上。点击删除时通过findByOrder方法找到要删除的订单ID在orderDao中通过delete方法进行删除。通过订单的审核点击发货根据updateState方法修改订单的状态。
5 结论
本系统是一个基于SSH框架的美妆购物商城,该网上商城购物系统采用了当前流行的B/S开发模式和SSH框架,数据存储使用较高安全性与稳定性的数据库MySQL。实现了功能需求里面拟定的功能,各项功能都可以正常运行。
参考文献:
[1] 夏金秀.网上购物商城后台管理系统的设计与实现[D].山东大学,2014.
[2] 田涛.基于SSH框架的网上书城系统设计与实现[D].成都理工大学,2014.
[3] 刘钱.基于SSH2的电子商城网站设计[D].电子技术与软件工程,2016.
[4] 唐李昊,王明宇.基于SSH框架的网上销售系统设计与实现[J]. 电子商务,2014(7).
[5] 刘洲,陈勇. 基于SSH的网络商城系统的设计与实现[D]. 物联网技术,2015.
[6] 徐红升,张瑞玲. 基于SSH整合MVC分层的网上商城的设计与实现[D]. 洛阳师范学院学报,2013.
[7] 谢宗懿. 基于SSH技术的网络书城设计与实现[D].北京工业大学,2015.
[8] 王昶太. 基于Spring与Hibernate的智能电子商城系统的设计与实现[D].北京邮电大学,2015.