摘 要

2020年是实现全面建成小康社会的收官之年,这是建设我国现代化的重要目标。随着社会不断进步,科技取得了巨大进步,进而使我们的生活方式产生了巨大的改变。随着电子信息高速发展,人们越来越离不开基于Internet的产品,这些产品的产生使生活和办公更加便捷。如今不论是企业还是政府机关都具有自己的网站,网站是展示给大众的门面,可以有效地提升形象。对企业来讲,除了提升企业形象,还可以利用网站进行电子交易,也就是大家耳熟能详的电子商务。电子商务中最熟悉的就是网上购物,它已经成为如今社会最流行的购物方式,消费者足不出户就可以买到自己满意的商品,也给厂商提供了更多的销路。

本次论文设计实现基于Java的在线购物网站系统,将传统的买卖行为与计算机技术结合。为满足此系统的用户需求和功能需求,将系统分为前台和后端,前台的设计主要针对普通客户,它具有用户注册登录、商品浏览、添加购物车、订单管理、评价管理、收藏管理等功能;后台承担的工作需要管理员来完成,主要是商品管理包含添加商品、删除商品、商品折扣等,除此还有用户管理、订单管理、商品推荐。此系统使用Java语言,JSP技术结合MySQL数据库技术进行开发。通过开发此系统,对相关技术掌握的更加熟练,也得到了更深刻地理解。

关键词:购物 JSP Java 线上 开放性

Abstract

2020 is the final year to achieve a well-off society in an all-round way, which is an important goal in building China's modernization. With the continuous progress of society, great progress has been made in science and technology, which has made a huge change in our lifestyle. With the rapid development of electronic information, people are increasingly inseparable from Internet-based products. The production of these products makes life and office more convenient. Nowadays, both enterprises and government agencies have their own websites. Websites are displayed to the public and can effectively enhance their image. For the enterprise, in addition to improving the corporate image, you can also use the website for electronic transactions, which is well-known e-commerce. The most familiar in e-commerce is online shopping. It has become the most popular shopping method in today's society. Consumers can buy the products they are satisfied with without leaving home, and they also provide more sales for manufacturers.

This paper designs and implements a Java-based online shopping website system, combining traditional buying and selling behaviors with computer technology. In order to meet the user needs and functional requirements of this system, the system is divided into front and back ends. The front desk is designed for ordinary customers. It has user registration and login, product browsing, adding shopping carts, order management, evaluation management, collection management, etc Function; the work undertaken by the background needs to be completed by the administrator. The main product management includes adding products, deleting products, product discounts, etc. In addition, there are user management, order management, and product recommendation. This system uses Java language, JSP technology combined with MySQL database technology for development. By developing this system, we have become more proficient in the relevant technology and have gained a deeper understanding.

Keywords: shopping  JSP  Java  online  openness

绪论

1课题背景

经过改革开放的多年发展,我国经济得到蓬勃发展,人们的生活水平逐渐提升,人们生活更加殷实,人均购买力增强。中国的新四大发明高铁、共享单车、支付宝和网购充分展现了我国科技技术发展的巨大变革[1]。近几年电子商务这四个字席卷了整个社会,简单的解释就是通过Internet网络技术和远程通信技术将传统的买卖关系数字网络化[2]。当今电子商务已经将我们生活的方方面面接连起来,改变了传统的生活方式,使我们出行购物更加方便。时代在进步,我们越来越追求高效率、高质量的生活,计算机网络技术的出现,是实现这些追求的强大动力。如今社会每天都产生购物行为[3],以往我们都是去商场、集市挑选需要的东西,费时又费力,有时还会找不到所要买的东西,这是作为消费者;有些偏远地区通讯不发达,许多特产商品销出非常困难,形成了买不成卖不掉的现状,自从电子商务的出现,改变了这一现状[4]

互联网的全球覆盖和更加智能化的交互功能,企业要想实现更好的发展和个人研究活动,必须适应互联网的新特点。其中销售作为公司卖出商品的一个主要手段,它需要提供给人们更加便利的体验,从而获得更加满意的用户回馈[5]。而在传统模式下销售鲜花还需要租商铺,这笔开支极有可能还赚不回来,使用该方法越来越落后。同时销售员必须时时保存良好的精神面貌,并丝毫不敢走出商品半步,这样的方式会消耗大量的人力物力,导致大量的资源浪费。为了高效、低成本、准确的获得数据,传统模式下的鲜花销售方式必须与时俱进[6],利用互联网的智能化和高效化,以达到高效、快速、准确的效果,以解决新形式下的传统模式留下的弊端[7]。由于该系统基于现代信息技术,因此具有独特的优势,例如:高效率、低成本和空间限制。可以快速的收集和了解不同行业,不同层次的人的需求和反馈,以便快速改善产品和调整营销策略,让企业更好的发展,让个人的到更准确的结果[8]

2研究的意义

网购,这一新兴的购物方式一经面世,受到了广大民众的支持,这种购物方式的改变进而影响了人们消费习惯。时代发展紧跟潮流,我们进入了一个快节奏的社会,生活变得越来越忙碌,空闲的时间也越来越少,因此相比于实体店,网购会更便捷,不必花费前往实体店的时间,无需排队,全天任何时间段足不出户就可以挑选到自己喜欢的物品[9]。网购也给商家减轻了运营成本,扩宽了销售渠道,因此线上的价格会更便宜,心里觉得更划算。在线购物网站系统上可以容纳大量的商品信息,因为各地商家都可以发布自家的商品,消费者拥有更大的自由选择权。每个商品明码标价,一切都是透明的,一般同类产品数量很多,我们可以货比三家,淘到一些性价比更高的商品[10]。

3国内外研究现状

随着每一次时代的变革,新的商业模式也随之应运而生,电子商务时代的到来对传统营销模式开辟了全新的道路,有些企业嗅觉灵敏,察觉到新时代的商机,从而成就了一些人、一些企业,给国内外带来的影响都无法估量[11]。国内电商平台的领头羊是大家熟悉的阿里巴巴、淘宝,此种新的商业模式带来了巨大商机。据统计,中国电商市场规模排名全球第一,网购销售额远远超出排名第二美国。2019年国内网络购物零售额有望突破11万亿元,只在2019年天猫双十一一天交易额就达到2864亿,再创新佳绩。继阿里巴巴的成功后,当当、京东、拼多多和唯品会等一些电商平台也开始出现在市场上,给线下传统企业带来很大的冲击[12],线上购物平台的转型,更适应市场经济体制,有利于企业商家以后的生存和发展。我国虽然在互联网方面研发起步晚,但发展速度是远远超过美国的,国外最早的雅虎搜索引擎带来了新的发展方向[13]。在之前,国外电商亚马逊、eBay先发展起来,基础用户数量庞大,技术支持已相当成熟,应用在非常大的网站平台上,发展到如今,已经形成良好的信誉。通过建设电商平台,减少了投入成本,商品来源渠道更广,大量商家可直接与平台联系,没有中间商赚差价,可以最大限度的实现利润[14]。北美一直在市场中占有不可忽视的一席之位,美国未来的变化也将影响在线购物系统的发展,我国要在保持稳定发展的基础上,结合自身的特点,使我们的产品不断升级能,增强竞争力。随着互联网的迅速发展,经济全球化使全世界聚集到一起,通过购物网站可以买到全世界任何一个商家的产品 ,解脱了时间和空间上的束缚,能使商家进行更有效的管理[15]。

4本文的主要内容与结构

如何设计实现在线购物网站系统是此论文主要研究的内容,为解决商家的销售难题和方便消费者购买产品,可设计客户和管理员两个角色,此系统面向社会大众,主要包含用户注册、商品浏览、添加购物车、订单管理、评价管理商品管理等功能。现在市面上已经具有各式各样的购物网站,通过分析这些网站的设计特点和所用技术,借鉴它们的优点实现此在线购物网站系统。此系统实现分前台和后端,前台设计主要供用户选购商品,后端是管理员管理的模式,亮点功能是活动管理,比如商品季节性促销打折,可根据需要设定,本文详细介绍了此系统的功能开发架构和逻辑。

1 相关技术简介

1.1 Java介绍

Java是目前开发语言中较为通用的语言,目前很多的数据对接都采用Java开发,因为他的集成度较高,且可以跨平台部署,且数据安全性能较高,目前Java开发主要应用与三大板块,客户端,例如桌面QQ,JavaSE,普通版本,JavaEE,企业网站开发,Java的核心在于JDK,目前较为稳定的版本为8[16],基于Java面向对象的特点,因此在整个设计模式中都是基于整体或者是点或线进行思维发散,Java是在C的语言上集成开发的,且封存了一些底层的指针类型的难点,因此Java的开发显得更为简单[17]

1.2 JSP介绍

JSP的初始本质为servlet,jsp中可以容纳好几种集成语言,在jsp中有很多的servlet的功能,在首次浏览器访问页面时,首先对JSP页面通过虚拟机进行编译,然后将编译信息保存到服务器在下次调用时直接获取节约了服务器的编译时间和资源且提升了访问速度[18],JSP的工作原理为,在用户与浏览器交互时,页面引擎可以将JSP转换为Java文件,然后转为Class文件,JSP的容错能力较强,若有编写错误有时不会报错,但涉及到中转错误则会提示页面服务器,在将JSP转换为class文件后保持到服务器session端,,然后通过servlet创建,init初始化,然后在后台返回的数据后,通过加载html中的标签以及css页面样式展示,然后通过js对数据进行展示[19]

JSP的全名是JAVA服务器的网页,中文名是JAVA服务器的网页。由于JSP开发的网络应用程序是整个平台,因此不仅可以在LINUX下运行,还可以在其他操作系统中运行。从JSP页面的质量上到HTML页面,但它会使用JAVA代码生成动态的网络内容[20]。例如,JSP网页包含了生成静态网页的HTML代码,是连接数据库的JDBC代码。在网站上显示时,包含静态HTML代码,还包含搜索数据库的动态内容,可以说是动态网站,使设计师完全集中在界面的装饰;动态部分由应用程序开发者来创建,接口和业务逻辑实现分离,体现JSP代码的高实用性[21]。JSP开发具有以下特点:

开发简单方便,JSP处理方便,写作方法与HTML几乎相同,在处理形式上也是领先的,与其他标准相比,JSP提供了更多的方法,方便和方便地编制一般的函数。使其更能集中于工作逻辑和其他业务。

1.3 SSM框架介绍

SSM是指Spring+SPringMVC+Mybatis,SSM是当前企业开发中Java使用最频发最稳当的框架,SSM框架的使用使得代码开发更为简单,程序安全性能更高。

Springmvc主要为控制层的中转处理,是servlet层的集成框架,主要原理为在浏览器端用户触发请求时间后,通过在XML中的DispatcherServlet分发器,然后找到注册在spring中的查询器handerMapping,然后找到controller中的方法拦截[22],匹配Url,然后在业务处理后,分发器再找到视图解析,通过ModelAndView返回界面。

Mybatis:在数据层进行业务处理时Mybatis对JDBC进行了封装,通过对每个表进行对应Mapper与XML,XML为每个表对应的SQL语句,在请求时通过SqlSessionFactory拿到连接Session然后处理SQL

Spring:spring最为核心的即为控制反转,使得新建对象变得自动话、动态化,而通过在Spring中注入需要动态代理的Bean类即可完成,通过在各个类中进行注解例如@Bean @Service @Controller来区分各个层级的代码,依据Spring的容器处理对框架进行集成融合[23]

1.4 开发工具介绍

Eclipse为java语言的特定开发工具,也是一款开源的开发平台,可以集成很多的框架以及插件,可以提供Java的开发环境,可以对JDK或者服务器等进行配置,首先在项目创建时建立workspace工作空间,项目将会在工作空间中开发,在eclipse的操作中包含了项目的编码设置以及服务器的部署和项目的导入启动等,集成超级方便,开发更为简单。

1.5 Tomcat服务器介绍

Tomcat是Apache旗下的一款部署服务器,也可理解为Servlet开发容器,可以对JSP和Servlet进行编译部署,可以对Java类进行编译,编译为class文件,tomcat的安全性能较高[24],目前很多小型项目的部署依旧为tomcat,tomcat服务器主要为动态处理请求,文件下包含脚本存储bin和配置文件conf,以及项目部署地webapps。由于 Tomcat 本身也内含了一个 HTTP 服务器,它也可以被视作一个单独的 Web 服务器。但是,不能将 Tomcat 和 Apache HTTP 服务器混淆,ApacheHTTP 服务器是一个用 C 语言实现的 HTTP Web 服务器[25];这两个 HTTPweb server 不是捆绑在一起的。Tomcat 包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。

1.6 MySQL数据库介绍

MYSQL是关系数据库管理系统的名称,它是MYSQL数据库。数据库是记录的集合,这些数据是一个文本、数字或二进制文件,可以管理并存储在数据库管理系统的存储库中。有许多类型的数据库。首先,它是一个简单的平面文件,目前主要基于两种类型的关系数据库和对象[26]。相对数据库和其他数据库使用多个标识符来存储信息,相关数据库需要做更多的工作,但是为了提高数据的可靠性和完整性,关系数据库很容易找到,同时允许操作。MYSQL也是一个开源程序,可以免费修改。MYSQL软件有以下几个方面:INCLUSIVE.MY SQL SERVER(执行管理数据库)、MYSQL客户端(提供访问服务器的接口)和大量的维护工具。MY SQL经常用来处理大数据,数据BASS包含60000张卡片和50多亿条记录,在操作系统中,我的SQL表可以处理800万TB的数据。在其他操作系统中,它通常可以处理4GB数据[27]

1.7本章小结 

本章主要介绍系统在开发过程中所涉及到的开发框架和语言介绍,本设计主要采用JAVA语言开发,开发框架采用SSM技术,数据库主要采用MYSQL进行数据存储,部署服务器主要采用Tomcat。

2 系统分析与总体设计

2.1系统可行性分析

1、技术可行性:在当前开发框架以及技术的快速发展,技术已经成为一种可靠的力量所在,目前Java技术更加盛行,通过Java中的后台SSM框架,通过控制层中的restful风格进行URL定义,在mybatis中通过mapper与XML的匹配定义,建立动态代理机制,通过SQL拼接完成半自动化数据处理。

2、市场可行性:在当前购物网站比较火热的时代,通过建立第三方平台建立B2C模式销售,基于当前人们的火热购物热潮可以增加系统的推广能力与数据访问能力,可以在此平台建立一些机制,促销网络销售能力。

3、操作可行性,此系统的开发前期紧紧需要几台服务器,然后通过Java的集成以及跨平台部署,只需平台运维人员对数据进行监控,对可能存在的前期的待机或者是数据爆发进行控制。 

2.2系统功能分析

在当前市场前期购物销售调用,可以对系统模块进行划分,和用户权限对系统进行前后端功能分离,系统的核心为商品的销售和购物车订单的处理,主要是针对商品的搜索进行设置,对数据以及一些登陆密码等保密数据要进行加密,对用户主要是商品的搜索,以及详情查询,可以点击下单,输入要购买的数量提示金额,可以对活动价格进行优惠,可以查询自己订单,前端会员用例图如图2-1所示:

图2-1用户端用例图

后台操作员则可以管理商品信息以及订单信息,可以对会员进行管理,可以对商城活动优惠进行设置。如图2-2所示:

图2-2管理员用例图

2.3系统数据分析

依据前期的功能梳理以及和各个模块之间的业务联系,绘制数据库图,主要是对各个表之间进行关联以及各个图表的属性进行详细划分,具体E-R图如图2-3所示

图2-3系统E-R总图

2.4 系统功能设计

在系统中主要是对系统的功能进行划分,通过对功能的梳理系统主要分为前台用户端和后台管理端,通过商品和订单进行关联,首先管理员端可以对自己的商品通过选择类型以及商品图片和价格进行上传,在符合规格后上传,可以建立本系统的促销活动,可以对满减或者是打折等活动设置数值以及设置满减的数值,然后商品与活动进行绑定,管理员端可以查询用户以下的订单,然后可以发货等。

在用户前端可以对商品进行搜索,可以根据一二级类型,以及关键字进行搜索,可以点击商品信息可以对图片进行放大查看,以及可以对商品进行收藏,可以查看优惠促销活动,可以下单添加到购物车,可以对购物内容进行结算。

系统功能模块图如图2-4所示:

图2-4系统模块总图

在用户端主要是对商品的一系列操作和对订单的操作,可以对商品在前端根据类型进行展示,可以下单在订单完成后可以进行评价,针对自己的订单进行评论,具体模块图如下2-5所示:

图2-5系统前端模块图

管理员后台主要是对商品管理,可以对系统的注册用户进行管理,后台可以设置本平台的活动优惠,如图2-6所示:

图2-6系统后端模块图

在整个的流程中,通过以下的流程图对本系统的整个业务操作进行描述,首先用户需要注册,注册完成后通过自己填写的账号进行进行登陆,若注册信息异常提示错误信息后跳转注册页面,在进入到系统后可以搜索商品,可以进行关键字搜索,可以点击查询购物车下单,用户可以对自己的个人信息以及订单信息进行查询如图2-7所示:

图2-7购物流程图

2.5数据库设计

本系统采用MySQL数据库,通过对前期的数据量分析,以及对数据权限分析,对数据的关联查询和数据的业务存储进行选择,最后选择开源的mysql,此系统共包含7张表。

(1)注册用户信息表(users)

包含注册的用户账号信息以及用户的基本个人信息如表2-1所示。

表2-1会员信息表

表字名

业务类型

存储最大

定义主键

字段说明

gwuserId

int

4

自动生成

gwUsername

varchar

60

用户账号

gwPassword

varchar

80

加密密码

gwRegtime

Date

当前时间

gwEmail

varchar

30

使用邮箱

gwephone

varchar

11

关联电话

(2)平台物品信息表(salegoods)

存储平台的销售物品,通过对物品的描述以及图片价格等进行定义,如表2-2所示。

表2-2物品信息表

表字名

业务类型

存储最大

定义主键

字段说明

wupinsId

int

4

自动id

wupinsName

varchar

80

物品名称

wupinPrice

int

60

单次价格

wupinNum

Int

4

存储数量

wupinUpTime

Date

更新时间

wupintype

Int

4

初级类型

erjitype

Int

5

详细类型

wupinDesc

varchar

50

物品介绍

wupinActid

Int

4

关联活动

wupinPhoto

file

150

存放位置

(3)后台操作人员信息表(manager)

保存后台管理人员的一些账号信息如表2-3所示。

表2-3操作人员信息表

表字名

业务类型

存储最大

定义主键

字段说明

mId

int

6

主键

编号id

mangersuer

varchar

20

管理员用户名

Managerpwd

varchar

40

密码

(4)平台促销信息表(active)

包含平台的一些满减或者是打折优惠活动信息,包括满多少或者是买一送一等如表2-4所示。

表2-4促销信息表

表字名

业务类型

存储最大

定义主键

字段说明

huodongId

int

8

主键

自动生成id

huodongname

varchar

90

促销名称

huodongdes

varchar

30

促销介绍

discount

double

9

优惠折扣

huodongfullPrice

Int

4

总额满减金额

huodongreducePrce

Int

4

扣除优惠金额

huodongfullNum

Int

6

赠送数量

huodongreduceNum

Int

6

最大优惠数量

(5)购物车(buycart)

包含用户添加到购物车中的一些关联数据如表2-5所示。

表2-5购物车表

表字名

业务类型

存储最大

定义主键

字段说明

yonghuid

int

6

主键

关联用户编号

wupinsid

Int

5

购买物品

addDate

Date

添加日期

wupinNum

Int

4

购买数量

(6)下单表(orders)

存储用户下单后的一些消费信息如表2-6所示。

表2-6下单信息表

表字名

业务类型

存储最大

定义主键

字段说明

xiadanid

int

7

主键

自动编号

carid

Int

6

购物车

wupinsid

Int

5

    销售物品

gouNum

Int

6

购买数量

(7)评价表(pjcomment)

存储用户在购买和下单后的一些消费体验留言信息如表2-7所示。

表2-7评价表

表字名

业务类型

存储最大

定义主键

字段说明

pingjiaid

int

4

主键

自动编号

yonghuid

Int

6

评价用户

wupinid

Int

4

关联商品

score

Int

3

评分

neirong

Varchar

60

评价

pingjiatime

Date

当前时间

2.6本章小结

本章主要从可行性的角度进行分析,然后对系统的主要功能模块进行梳理,对系统的购物流程图进行梳理,然后是数据库E-R图的设计,最后到表结构的具体设计。

3系统实现

3.1 数据库连接

本次数据库主要采用Mysql,Mysql主要通过JDBC进行连接,在连接时主要对数据库连接池进行设置,包括最大最小连接数,目前最流行的为c3p0连接池,可以自定义对池中的数据资源进行释放,可以对连接操作进行限制,可以对数据库配置文件进行设置,如图3-2所示

图3-1数据库连接配置

3.2 前台模块

用户主要是在前端与系统进行业务操作,包含用户购物商品查询以及用户点击查询详情和下单等。

3.2.1 用户注册、登陆模块

会员进入前端系统后,若无账号则可以进行注册,点击注册跳转注册页面,然后输入注册的账号和密码,账号要先去数据库校验是否已存在,若存在直接提示信息已被注册,若不存在则继续填写其他基础信息,点击注册时数据通过form表单提交到controller到register的方法中,首先对数据进行校验,是否不为空,是否长度超出等,然后调用service通过服务层调用数据处理层dao,dao中可对数据进行insert新增,保存到数据库然后返回success,登陆时通过账号去数据库比对是否存在,存在登陆成功,否则提示账号异常并跳转错误页面,如图3-2,3-3所示:

图3-2用户注册

图3-3用户登陆

3.2.2商品浏览模块

在用户进入到商品首页时,首先触发后台控制层,通过对登陆权限等进行拦截,然后通过dao层查询商品表,过滤掉库存为0的商品,然后数据展示到页面,在页面可以点击type参数或者是关键字like和contract进行匹配查询,通过建立机制以最大字段长度类型匹配,界面如图3-4,3-5所示:

图3-4商品展示

图3-5商品详情

3.2.3添加购物车模块

会员在点击添加按钮后可以输入购买数量在前端JS校验不大于库存数量时可以跳转到购物车页面,通过获取服务器端的用户编号以及点击是传输的商品的编号,存储到购物车表如图3-6,3-7所示:

图3-6添加购物车

图3-7购物车下单

核心代码如下:

shopCart.setUserid(user.getUserid());//加入时间shopCart.setCatedate(new Date());shopCartService.addShopCart(shopCart);goods.setNum(goods.getNum()-shopCart.getGoodsnum());goodsService.updateGoodsById(goods);

3.2.4 用户订单模块

在购物车中需要选择付款方式,,货到付款或者是在线付款然后点击结算完成订单,在后台需对金额以及库存的数量再次校验,然后对购物车进行清除,将数据转换到订单表中,界面如图3-8所示:

图3-8订单查询

3.2.5用户评价模块

在购买完成确定收货时,订单状态就会更新为可评价,用户可以根据自己的购物体验以及商品的质量进行评价界面如图3-9,3-10所示:

图3-9订单评价

图3-10评价显示

核心代码如下:

HttpSession session=request.getSession();User user=(User) session.getAttribute("user");if (user == null) {    return Msg.fail("评论失败");}comment.setUserid(user.getUserid());Date date=new Date();comment.setCommenttime(date);commentService.insertSelective(comment);return Msg.success("评论成功");

3.3 后台模块

在基础信息管理和平台信息管理都在管理员端,主要是针对系统信息的维护以及一些订单信息的发货和详细查询。

3.3.1 用户管理模块

平台注册的用户都存储在此user表中,通过对mapper进行动态机制代理调用,对方法进行limit限制数据,然后通过resultmap对应数组查询,听过views视图解析返回数据到页面如图3-11所示:

图3-11用户管理

核心代码如下:
PageHelper.startPage(pn, 10);
 List<User> userList = userService.selectByExample(new UserExample());

PageInfo page = new PageInfo(userList,5);

@Override
public List<User> selectByExample(UserExample userExample) {
return userMapper.selectByExample(userExample);
}

3.3.2 商品管理模块

后台操作人员对平台销售的一系列物品通过此模块进行管控,首先可以定义类型,此模块设置的为首页的一级类型,通过对大类进行定义,然后点击添加商品信息,需输入必填项物品的名称和描述以及库存余量和销售单价,在选择图片文件时需对文件格式进行限制以及对文件的大小进行设置拦截,如图3-12,3-13所示:

图3-12商品上架

图3-13商品查询

核心代码如下:

PageHelper.startPage(pn, 10);
List<Goods> employees = goodsService.selectByExample(new GoodsExample());
PageInfo page = new PageInfo(employees, 5);
model.addAttribute("pageInfo", page);
return Msg.success("查询成功!").add("pageInfo", page);

3.3.3 活动管理模块

在后台对平台的优惠促销进行活动设置,通过对优惠力度进行详细自定义也可以混合定义,可设置最低消费以及满额减少,通过设置例如满1000减200以及对一些大型日子进行折扣促销,通过对商品与活动进行绑定,在页面商品详情时可以关联查询3-14所示:

图3-14活动查询

3.3.4 订单管理模块

订单模块主要是针对用户前台下单的信息进行后台汇总,通过对数据进行关联用户表和订单表进行查询,通过订单中的用户编号进行左连接查询,对商品信息也进行关联,对订单状态根据status进行设置,如图3-15所示:

图3-15订单查询

3.4本章小结

本章主要是针对各个模块以及模块之间的具体设计思路和代码以及请求的过程进行分析和介绍,通过对层层之间的代码调用,对代码的方法以及底层的调用进行介绍。

4系统测试

4.1测试定义

经过坚持不懈的努力,终于在实现了各个功能模块后来到了最终对系统进行测试的这一阶段,但在这一阶段测试的核心是对设计完成的系统进行功能的检测和逻辑的检测,这虽是最后一步但也是最为重要最为关键的一步,只有对系统进行测试,才能从中知道系统里面各模块的功能能否正常运行,只有从对经过测试才能知道该系统还存在哪些问题,才能从中找到问题并逐一改进完善,此次的在线购物系统也是经过不断地测试、不断的发现问题、不断的改进,才最终实现了一个相对比较满意的效果,所以对系统的测试真的十分重要,但对系统的测试需要耐心及细心,耐心的进行多次测试,细心的不断寻找问题,再认真研究改进,也有利于之后对整个系统开发进行总结,也能实现比较理想的效果。

4.2测试目的

在整个的测试过程中,要对可能出现的问题及情况进行汇总,对某一个bug可能影响的关联功能数据进行分析,避免潜在的数据风险,对系统的高可用情况要进行分析检验,对sql的查询,数据的展示速率进行检测。

4.3测试方法

具体测试方法包括:黑盒测试和白盒测试。黑盒测试又被人们称作为功能测试,通常是在程序的接口来做一些测试的方法,它一般包括对程序的功能和使用的方法来做出一些数据的接收和输出,同时还可以做出正确的输出信息,并保证外部信息的完整性,白盒测试通常被人们称作为结构测试,在整个程序的结构和处理当中它是由程序当中的逻辑测试和检验程序来完成一些正确的工作。具体的功能测试包括:系统的适用性、准确性、安全性等功能测试。

4.4测试用例

(1)商品关联测试,如表4-1所示

表4.1商品测试

测试

前置条件

预期输入

测试结果

商品管理的测试

输入商品金额和存储数量以及选择商品文件图片提交到后台

弹窗提示商品新增,且为在售

商品管理成功,且在管理页面输出

未上传图片或者是格式错误的文件信息上传

后台提示文件类型不为图片

后台提示文件类型不为图片

  1. 活动测试,对平台活动优惠进行定义测试,如表4-2所示

表4.2活动测试

测试

前置条件

预期输入

测试结果

优惠活动定义测试

输入满减额度以及折扣额度进行保存

活动设置完成且页面可以提醒

弹出活动已设置

输入打折活动,以及买送活动信息

活动可以共存,且都可以优惠

活动可以正常不冲突购买

(3)商品搜索测试,通过对商品类型或者是物品关键字搜索通过如表4-3所示

表4.3商品搜索测试

测试

前置条件

预期输入

测试结果

商品搜索测试

可以点击设置的一二级类型以及输入关键字配合搜索

可以根据大类显示也可以通过匹配字显示

商品关联类型展示,可以进行自定义搜索

(4)购买测试,用户可以添加购物车以及下单测试如表4-4所示

表4.4购买测试

测试

前置条件

预期输入

测试结果

购买测试

在数量库存满的情况下点击数量下单

直接提示保存购物车然后结算订单

个人订单信息已存储且可以查询

在未登录情况直接点击下单

在弹出系统错误后跳转到登陆页

需首先登陆后才可以继续操作

4.5测试分析

当整个系统开发完毕之后,需要通过一些测试用例来测试系统是否正常或者是否存在bug,同时也要对系统采用逻辑覆盖测试。其中测试的模块有很多,大致分为以下几大模块,包括基础信息测试,商品管理、订单管理测试等等,主要通过模块功能测试和单元测试进行分析,以此来测试系统的流程或者逻辑是否存在问题。

结论

本系统主要是基于Java语言来设计实现的一个在线购物系统,出于对消费者足不出户即可购买到自己心爱的商品所考虑,本系统的功能的各个功能设计比较合理完整,消费者使用起来不仅方便省时,最重要的是操作也是相当简单,起到省时省力的效果。在最开始准备设计本系统时,我虚心请教了我的指导老师,通过听取指导老师的专业意见,不断修改自己的设计思路,认真研究该系统的需求分析,通过不断的努力,克服重重困难,最终设计完成了在线购物系统。在如今,伴随网络科技的飞速发展,人们对生活的要求也越来越高,而对于购物的消费者而言,出不出户便能买到想买的东西, 这就需要依靠发达的网络技术来开发出在线购物系统来提高店铺商家的管理效率,使商铺管理者对员工及商品的管理事务处理起来更加方便、快捷与高效。本次设计采用SSM框架技术,让系统架构清晰明了。本文主要从需求分析切入,认真分析了该系统的各功能模块数据库的设计需求,最后多次对在线购物系统进行系统测试,不断发现问题,不断总结改进。通过这次的毕业设计让我对有关编程语言的特性有了更加深刻的认识,对今后设计研发系统也有了很大的帮助。

参考文献

[1] 潘蕊.SSH框架的Web网站设计与实现研究[J].成才之路,2019(36):58-59.

[2] 苏庆林,李蕾.Python基于SSH协议实现Linux系统远程管理方法研究[J].信息系统工程,2019(12):51-52+55.

[3] 南志鹏,葛珊珊,宋永涛.基于SSH框架的在线招聘系统[J].信息与电脑(理论版),2019,31(23):67-68.

[4] 吴雪莉.基于SSH框架的教学评估管理系统的设计[J].大众标准化,2019(17):41-42.

[5] 赵爱红,李建英,刁鑫.基于SSH2框架的电力教育培训系统的开发与设计[J].电子设计工程,2018,26(21):57-61.

[6] 卢肖霞.SSH框架在Web项目开发中的设计与实现[J].计算机测量与控制,2018,26(10):122-127.

[7] 吕翔龙. 基于MVC的神华集团合同管理系统设计与实现[D].天津大学,2018.

[8]唐权.SSM框架在JavaEE教学中的应用与实践[J].福建电脑,2017,33(12):93-94+61.

[9] 徐光耀,马佳琳.基于JavaEE技术的网上商城管理系统的设计与实现[J].办公自动化,2017,22(22):22-24+41.

[10] 李文杰.《基于SSM轻量级架构的JAVAWEB人才培养》[J].数字通信世界,2017(10):228+236.

[11] 余甜,蔡文.一种基于Web Service和SSH的网络管理系统设计与实现[J].信息与电脑(理论版),2017(15):65-69.

[12] 王新江. 基于Angular和SSH的后勤管理系统的设计与实现[D].吉林大学,2016.

[13] 刘琦. 基于MVC的超市会员积分管理系统的设计与实现[D].北京工业大学,2016.

[14]邓明杨,李忠雄.基于JAVA Web技术的网上书城的设计与实现[J].计算机产品与流通,2020(05):159-160.

[15]梁雪峰.JAVA程序设计教学中高职学生自主学习能力的研究[J].中国新通信,2020,22(06):157.

[16]高勇,阚红星,高红磊,陈光恩.基于JFinal的儿童健康测评系统的设计与实现[J].微型电脑应用,2020,36(03):69-71.

[17]尹维伟.探析计算机软件Java编程特点及技术[J].电脑编程技巧与维护,2020(03):38-39+52.

[18]石凤贵.基于SSM的选课系统设计与实现[J].电脑知识与技术,2020,16(08):56-58.

[19]黄丽娟,谢述双.中高职《Java程序设计》课程衔接体系探讨[J].计算机产品 与流通,2020(03):184.

[20]李小芳.安全性分析方法在Java程序中的应用研究[J].计算机产品与流通,2020(03):16.

[21]刘金成,王文军,孙晓岩.基于Java技术的校园智能聊天机器人——晓同[J].软件,2020,41(03):69-73.

[22]段尊敬.Java项目从Windows开发平台到Linux服务器的移植[J].电脑知识与技术,2020,16(07):85-87.

[23]徐华珍,宋伟,姚冬虎,孙佳慧.JavaScript教学方法浅析[J].科技视界,2020(07):31-32.

[24]李中明.不同编程语言对计算机应用软件开发的影响研究[J].数字通信世界,2020(03):92.

[25]梅映天.大数据经济背景下Java平台及应用Java技术的安全问题[J].现代营销(经营版),2020(03):86-87.

[26]张居彦.人工智能应用中将Model带离Python与HPC环境的方法[J].电子世界,2020(04):178-179.

[27]史婉玉,王振宇,王昌太.基于Java的趣味数学问题求解方法[J].电脑编程技巧与维护,2020(02):27-29.

[28]何晓峰,郑少明,郑汉军.JAVA在分布式机群计算中数据共享应用[J].网络安全技术与应用,2020(02):43-44.

[29]王宜明.局域网状态自动监测及告警系统设计与实现[J].电脑知识与技术,2020,16(05):35-37+50.

[30]赵昕.软件工程思想在JAVA程序设计教学中的应用[J].计算机产品与流通,2020(02):201.

[31]彭影.优化Java数据库访问效率的策略研究[J].计算机产品与流通,2020(02):21.

[32]Bahri Muhamad. Analysis of the water, energy, food and land nexus using the system archetypes: A case study in the Jatiluhur reservoir, West Java, Indonesia.[J]. The Science of the total environment,2020,716.

[33]. Tree Genetics and Genomics; Studies from University of Tsukuba Yield New Information about Tree Genetics and Genomics (Genetic Diversity and the Origin of Commercial Plantation of Indonesian Teak On Java Island)[J]. Agriculture Week,2020.

[34]Leonardo Villalobos-Arias,Christian Quesada-López,Alexandra Martínez,Marcelo Jenkins. Evaluation of a model-based testing platform for Java applications[J]. IET Software,2020,14(2).

[35]Gloria Animalesto. The infection of trematodes on rice frogs ( Fejervarya cancrivora) in Karawang Regency, West Java[J]. BIO Web of Conferences,2020,19.

[36]Ristiyanti M. Marwoto,Heryanto Heryanto,Ravindra C. Joshi. The invasive apple snail Pomacea canaliculata in Indonesia: a case study in Lake Rawa Pening, Central Java[J]. BIO Web of Conferences,2020,19.

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐