摘 要
2022年以来,我国的新冠疫情呈现了多点爆发的态势,从吉林到上海,疫情导致了人民群众的生产生活受到了很大的影响,在此大背景下我国的实体零售业更加步履维艰,水果商城是一家新鲜水果的实体商店,在疫情之下存在诸多经营困难,由于店铺周边小区时常封闭管控,店铺人流量降低,居民消费购买力也在不同程度的降低,然而店铺的租金依旧较高,店铺已经连续几个月入不敷出,新鲜水果的时效性强,不能存放太久,作为实体的水果店铺往往需要批量买进水果,才能降低成本,不少水果商品几天后就发生腐烂变质,损失较大。本文拟设计开发一个基于JSP的水果商城,系统中主要有两种角色:普通消费者用户和后台管理者用户,消费者用户在水果商城中可以实现用户登录,水果商品浏览,加入购物车功能和购物车结算功能。管理人员在登录后台后可以实现用户管理功能,水果商品管理功能,用户订单处理功能,留言管理功能。水果商城使用JSP技术进行设计开发,以MyEclipse为开发平台,采用基于B/S结构的多层开发模式,网站采用了面向对象的方法进行数据建模,并进行了初步的分析与设计工作,数据存储使用MYSQL数据库,经过系统测试证明,基于JSP的水果商城系统具有一定的实用性和可行性。
关键词:水果商城;B/S;JSP;MYSQL;MyEclipse
ABSTRACT
Since 2022, the new crown epidemic in my country has shown a trend of multiple outbreaks. From Jilin to Shanghai, the epidemic has greatly affected the production and life of the people. The mall is a brick-and-mortar store of fresh fruit. Under the epidemic, there are many operational difficulties. As the surrounding areas of the store are often closed and controlled, the flow of people in the store is reduced, and the purchasing power of residents is also reduced to varying degrees. However, the rent of the store is still high, and the store For several consecutive months, I have been unable to make ends meet. Fresh fruit is time-sensitive and cannot be stored for too long. As a physical fruit store, it is often necessary to buy fruits in bulk to reduce costs. Many fruit products rot and deteriorate after a few days, resulting in large losses. . This paper intends to design and develop a fruit mall based on JSP. There are two main roles in the system: ordinary consumer users and background administrator users. Consumer users can realize user login, fruit product browsing, adding to shopping cart functions and Shopping cart checkout function. After logging in to the background, administrators can manage member management functions, fruit commodity management functions, user order processing functions, and message management functions. The fruit mall uses JSP technology for design and development, uses MyEclipse as the development platform, and adopts a multi-layer development model based on B/S structure. The website adopts an object-oriented method for data modeling, and conducts preliminary analysis and design work. MYSQL database is used for storage, and the system test proves that the fruit mall system based on JSP has certain practicability and feasibility.
Key words:Fruit mall;B/S;JSP; MYSQL;MyEclipse
第1章 绪论
1.1 研究背景及意义
2022年以来,我国的新冠疫情呈现了多点爆发的态势,从吉林到上海疫情导致了人民群众的生产生活受到了很大的影响,在此大背景下我国的实体零售业更加步履维艰,水果商城是一家新鲜水果的实体商店,在疫情之下存在诸多经营困难,由于店铺周边小区时常封闭管控,店铺人流量降低,居民消费购买力也在不同程度的降低,然而店铺的租金依旧较高,店铺已经连续几个月入不敷出,新鲜水果的时效性强,不能存放太久,作为实体的水果店铺往往需要批量买进水果,才能降低成本,不少水果商品几天后就发生腐烂变质,损失较大。而当下比较火热的一些外卖平台,抽取佣金比较高,除去支付佣金,外卖骑手的费用,水果产品已经没有利润可言。在互联网的大环境影响下,人们的消费行为逐渐由传统水果店铺发展为网上购买水果。尤其是近几年生活水平的提高,人们对水果种类、质量要求也逐步提高,针对水果商城面对的各种问题,建立一个水果商城的需求是显而易见的。
在传统的水果采购方式上,顾客需要亲自到店里挑选,这种方式在比价和挑选其他地区新鲜水果方面受到限制,也造成了消费者的时间损失。对于卖家来说,商店的规模会对顾客流量产生影响,而保存水果也需要大量时间和成本。而在水果商城上,购物不受地域和时间的限制,在忙碌时间想点一份新鲜的水果不再是天马行空的想象,还可以减少更多的人力物力。这些都能极大的提高水果商城的管理效率和降低经营成本,使水果商城管理科学化、经营盈利化。建设像水果商城这样的购物网站,不仅迎合现代人的健康生活方式,还增加了传统水果商贩投资的商机。
1.2 研究概况
中国生鲜电商市场目前正处于高速发展阶段,备受资本青睐。生鲜电商产业链各环节不断完善,市场表现强劲。因此,生鲜领域受到越来越多的关注。然而,物流的运输和产品的及时性一直是最大的问题;生鲜电商产业链的各个环节都在不断完善,市场表现也很好。在生鲜领域中,生鲜食品的新鲜度和质量是最重要的两个方面,但是市场上的全过程冷链体系并不完善,无法保证商品的新鲜度和完整性,也造成了“商家秀”和“买家秀”的巨大差异。
目前,全国水果网上零售已超过1600亿元,成为水果流通的主渠道。我们必须及时把握这一新趋势,科学分析判断,使之成为水果产业高质量发展的新动力。2020年,鲜果网上零售额达到1295.69亿元,超过1000亿元,高于农产品网上零售增速5.62个百分点,占比22.88%,超过五分之一,是中国最大的电商农产品类[3]。因此,业内也有一种说法,农产品电子商务决胜于生鲜产品电子商务,生鲜产品电子商务决胜于水果电子商务。水果电商大省一般是一个生产大省。产业基础决定了电子商务的基础。如果产业基础雄厚,水果电子商务将强劲。
在全国水果生产格局中,广西、山东和陕西是前三名,这三个省份的电子商务销售也处于前列。与2019年数据相比,陕西水果电商增长1位,排名第二,部分品类增长较快。例如,根据惠农的大数据。洛川苹果已经超越阿克苏苹果,成为苹果电商影响力的第一品牌。电子商务的水果产品主要以中低价为主。98.39%的单品售价在50元以下,其中5元以下的单品所占比例最大,占55.62%。从包装来看,目前最流行的是3kg包装。网络购物产品中的水果属性正在加速向小批量、多次快速消费品的转变。
第2章 相关技术简介
2.1 MYECLIPSE开发工具介绍
水果商城的开发工具使用的是MECLIPSE。MYECLIPSE是企业级的集成开发环境,在本文中主要用于JAVA WEB的项目开发,其自身具有强大的编译功能和效率,是程序开发者的首选。在本文中首先需要配置JAVA的运行环境,把之前准备好的JDK与TOMCAT安装到本地电脑,在运行环境完成之后,开始创建本文中的项目基于JSP的水果商城,在FILE文件选项中选择创建WEB SERVICE PROJECT项目,输入项目名后点击确定就自动创建了网站的基本文件结构,其中包括了网站中需要使用的各种JAVA包,与相关的配置文件,由于本项目采用的是JAVABEAN+JSP+SERVLET技术,在MYLECLIPSE里的SRC文件下创建水果商城需要的JAVA功能文件,其中主要包括了JAVABEAN和SERVLET,在WEBROOT文件夹下创建在浏览器中显示的JSP文件,以及控制网页样式的CSS文件[11],网站用到的图片文件,想要在MYECLIPE成功的运行出网站的首页,还需要在MYECLIPSE里配置TOMCAT服务器,MYECLIPSE的环境配置里选择本机安装好的TOCMAT文件,最终完成网站的发布工作。
2.2 MYSQL数据库介绍
水果商城中数据库使用的是MYSQL数据库。基于JSP的水果商城作为一个动态的网站,需要对客户的业务逻辑和数据逻辑做处理,并且把处理的结果存储在存储空间内,然后反馈给客户。在本文中选择的是MYSQL数据库作为存储空间。MYSQL数据库比较适合中小企业网站的开发,其体积小,效率高,稳定性强,免费开源等特点受到了广大程序开发者的使用。在水果商城中使用了图形化的数据库管理工具Navicat 15 for MySql对MYSQL数据库进行管理,首先是在Navicat 15 for MySql中创建数据库,然后在数据库中创建所需要的表,在表中添加所需要的字段,数据类型,数据长度,最后设置表的主键,就完成了建表工作,水果商城中的数据信息就可以通过JAVA程序对客户需要处理的数据进行自动的存入和修改。
2.3 TOMCAT服务器介绍
在基于JSP的水果商城中所使用的开发技术是JSP,该技术想要在个人电脑上成功运行出来,必须有相关的服务器作为解析,才能对JSP中的数据与逻辑进行正确的解析,而本文使用了TOMCAT作为水果商城的服务器。TOMCAT服务器是面向所有程序开发人员的免费开放源代码的WEB应用服务器,由于TOMCAT的占用内存较小,执行效率高,性能稳定而且还是免费开放,因此在基于JSP的水果商城中首选了TOMCAT作为服务器[13]。在本文中首先是先安装好JDK与开发环境,让JSP有个安装的环境,最后安装TOMCAT服务器。
2.4 JSP技术介绍
基于JSP的水果商城中所使用的动态网页开发技术是JSP。当浏览者打开浏览器,向服务器发送请求的时候,JSP会把处理的数据和业务逻辑结果反馈给浏览器,最后以HTML的形式展示给浏览者。在本文中所使用的JSP技术采用了面向对象的方法,通过JAVABEAN封装每个数据表的属性和方法,以及对数据表操作的方法,在SERVERLET中处理业务逻辑[18],以本文中的管理员发布水果产品为例,当管理员输入水果的标题,上传水果的图片文件时,JSP通过表单把文件上传需求信息传递给SERVELET,在执行水果商品数据插入的SERVLET中调取文件插入数据的方法,最后在JAVABEAN中执行插入数据命令,把新鲜水果的信息数据存入到数据表中。
第3章 项目需求分析
3.1 系统性能需求分析
基于JSP的水果商城在设计开发之初就要充分考虑使用者对网站性能的需求,从而避免后期可能会出现的各种问题。首先是响应速度,消费者通过地址栏访问水果商城的首页时候要能快速的展示出水果商城运行界面,为了减少用户等待时间,最好在1秒内能够运行出系统登录的界面,因此在服务器选择上,和JS插件上要充分考虑这一性能需求。其次是用户体验上,水果商城的消费者用户在登录系统后需要能够清晰的看到网站的所有使用模块,并且在导航栏处能一次点击进入到相应的板块内容,在水果商品的详情页面,对水果加入购物车后,该订购信息会自动跳转到会员中心我的购物车页面中,并且提示用户在线支付。最后在数据安全上,所有用户注册的个人信息,以及发布的用户在线订购水果的订单信息,一定要做好安全防护,最好能够使用加密算法,除了用户本人其他人及时掌握到相关的数据信息,没有自己的账户密码,也是无法了解用户私人信息。网站性能关系着网站后期的运行是否能够长远,因此设计好网站的性能至关重要。水果商城使用JSP技术进行设计开发,以MyEclipse为开发平台,采用基于B/S结构的多层开发模式网站采用了面向对象的方法进行数据建模,并进行了初步的分析与设计工作,数据存储使用MYSQL数据库,经过系统测试证明,基于JSP的水果商城系统具有一定的实用性和可行性。
3.2 系统功能需求分析
本文拟设计开发一个基于JSP的水果商城,系统中主要有两种角色:普通消费者用户和后台管理者用户,在本节中根据不同的使用者进行不同的功能分析。
一、消费者用户
1.用户登录
用户通过地址栏访问到水果商城登录界面后,正确输入自己的账号和密码信息并选择正确的用户角色后可以进入到水果商城,并且在头部显示用户名信息。
2.水果商品浏览
消费者可以看到水果商城线上的所有水果产品,并且可以根据水果类别进行筛选。
3.加入购物车功能
消费者对于喜欢的水果产品,可以点击加入购物车,该水果商品会自动添加到个人中心的购物车中。
4.购物车结算功能
消费者可以对购物车中的水果信息进行选择,其中不喜欢的水果商品可以将其移出购物车,喜欢的水果商品可以选择支付方式,在线结算。
二、管理员用户
1.用户管理功能
水果商城的管理员在后台能够管理所有的注册消费者信息。
2.水果商品管理功能
管理员可以在后台中添加发布水果,也可以做出修改已经发布的水果信息或移除的定期维护操作。
3.用户订单处理功能
用户购买的水果商品的订单信息都会存储在订单表中,管理员可以在后台查看所有用户的订单信息并处理发货。
4.留言管理功能
管理员在水果商品管理的后台可以查看所有消费者关于水果商店的留言建议信息。
3.3 用例模型分析
在基于JSP的水果商城中,为了更加清晰的明确不同角色可以操作的功能,将使用用例模型来展示水果商城消费者与管理员所具有的网站操作属性
3.3.1 消费者用例模型分析
作为水果商城的消费者,可以在线注册登录,浏览水果商品,购买水果商品,在线留言建议,用例图如图3.1所示。
3.3.2 管理员用例模型分析
作为水果商城的管理员,可以对用户信息、用户留言、用户订单和水果产品进行管理,用例图如图3.2所示。
3.4 网站结构设计
水果商城主要分为两个模块,前台功能和后台管理。按角色可分为:普通访客、消费者和管理员。水果商城结构设计如图3.3所示。第4章 数据库设计
4.1 数据库设计分析
基于JSP的水果商城主要是对业务逻辑和数据进行处理,从而完成整个系统的开发,其中的数据处理主要是对业务逻辑中涉及到的数据进行储存和读取,因此水果商城的数据表设计的是否合理,将会直接影响整个系统的运行效率和稳定性,本节将首先通过ER实体图来分析数据库中每个表的实体和相应的字段,最后通过数据建表的形式,完成整个数据库的设计。
4.2 数据库ER实体图分析
4.3 创建数据库和数据库表
本系统涉及的主要数据表包括:用户信息表—users, 产品表—goods,订单表—dingdan,新闻表-news,水果分类表-fenlei和留言表-message。
(1)用户信息表-users
水果商城的用户信息表主要用于存放用户信息,如表4.1所示。
表4.1 用户信息表
字段 | 字段类型 | 说明 |
Id | int | 编号(主键) |
UserName | varchar | 用户名 |
PassWord | varchar | 密码 |
Tel | varchar | 电话 |
| varchar | 邮箱 |
Role | varchar | 身份 |
Nr | varchar | 地址 |
(2)产品表-goods
水果商城的产品表主要用于存放产品信息,主要字段和说明如表4.2所示。
表4.2 产品表
字段 | 字段类型 | 说明 |
Id | int | 编号(主键) |
Title | varchar | 标题 |
Price | double | 价格 |
Pic | varchar | 商品图片 |
Tid | varchar | 商品分类 |
Content | varchar | 简介 |
Uname | varchar | 发布人 |
(3)订单表-dingdan
水果商城的订单表主要用于存放用户已经订购的产品订单信息,如表4.3所示。
表4.3 订单表
字段 | 字段类型 | 说明 |
Id | int | 编号(主键) |
Title | varchar | 标题 |
Yhm | varchar | 订购人 |
Price | double | 价格 |
Tid | varchar | 商品号 |
State | varchar | 付款状态 |
Paystyle | varchar | 支付方式 |
(4)新闻表-news
新闻表主要用于存放管理员发布的新闻信息,如表4.4所示。
表4.4 新闻表
字段 | 字段类型 | 说明 |
Id | int | 编号(主键) |
Title | varchar | 新闻标题 |
Content | varchar | 新闻内容 |
Uname | varchar | 发布人 |
(5)留言表-message
水果商城的留言表主要用于存放留言信息,主要字段和说明如表4.5所示。
字段 | 字段类型 | 说明 |
Id | int | 编号(主键) |
Title | varchar | 留言标题 |
Uname | varchar | 留言者 |
Content | varchar | 留言内容 |
表4.5 留言表
(6)水果分类表-fenlei
水果商城的水果分类表主要用于存放水果分类信息,如表4.6所示。
表4.6 水果分类信息表
字段 | 字段类型 | 说明 |
Id | int | 编号(主键) |
Title | varchar | 分类标题 |
第5章 系统功能实现
5.1 用户登录功能
用户登录功能模块中,首先需要定义好用户的属性,即用户表中的字段变量以及所具有的行为,然后在JavaBean中定义用户登录的构造方法User Login,在该构造方法中传递了两个参数,分别为用户的用户名和密码,当用户在前台界面中输入账号和密码时。JSP程序会把传递的参数给构造方法,在该方法中主要是对用户表中的数据进行比对,如果存在则提示登录成功,如果不存在则提示账户信息错误。
图5.1 用户登录功能图
5.2 用户购买水果功能
用户在前台看到喜欢的水果信息,可以将其加入购物车,当用户点击加入购物车时,JSP页面会把水果的具体信息,以及用户信息传递给负责处理购物车的业务Servlet,在该功能中首先创建JavaBean中插入数据的方法,创建对象,最后在JavaBean中执行插入命令。
图5.2 用户购买水果功能图
5.3 用户留言功能
在用户留言界面中,用户在JSP页面的表单里输入留言的标题、内容,点击提交后,JSP页面的form表单会触发Action属性,向留言Servlet中传递留言参数,通过Servlet向JavaBean中的留言方法中执行留言数据表的数据插入。
图5.3 用户留言功能图
5.4 水果展示功能
在前台的水果产品展示功能中,首先要在JavaBean中封装一个Goods List的构造函数,该函数的主要方法是向水果表中获取数据记录,条件是水果产品的种类匹配,把获取到的水果记录数据封装在list数组中,最后在前台循环显示出来。
图5.4 水果展示功能图
5.5 水果发布管理功能
管理员可以在后台发布水果信息,管理员在水果管理的页面,输入水果相关信息,从本地上传好水果图片,点击上传后,网页就会把相关的数据传输到数据库中,然后在水果管理页面中在把水果信息从数据库中读取出来,管理员可以对水果信息进行操作。
图5.5 水果展示功能图
5.6 用户订单管理功能
用户的订单数据业务都封装在了JavaBean中的Order.java中。管理员能够对用户的订单进行发货与删除的操作,在该功能中,首先是把用户订单信息,查询出来存在list数组中,然后实例化对象把数据显示出来,在每一条数据后都有发货按钮,当管理员点击发货后触发表单Servlet中的发货业务逻辑,通过实例化JavaBean中的发货方法把该用户订单的发货状态,由待发货更新成已发货。图5.6 用户订单管理功能图
5.7 水果搜索功能
用户可以在水果商城的搜索框输入自己想要的水果信息,用户提交搜索信息后,页面会把数据提交到数据库进行比对,如果有该水果就把结果返回到搜索结果页面,如果没有,则显示没有。
图5.7 水果搜索功能图
5.8 用户管理功能
管理员在后台中可以查看用户信息并删除频繁注册用户,管理员点击删除之后,网页就会执行数据库删除语句,到用户信息表里把相关的用户给删除掉。图5.8 用户管理功能图
第6章 系统测试
6.1 测试目的
测试软件系统的过程就是要创造一些条件,通过自动的手段或者使用人工方法的过程,测试是为了尽可能的少发生错误,现在通过运行程序发现错误,让错误发生就能及早的修改完善系统,一般的测试大多是动态测试。这是提高系统稳定性和可靠性的有效方法。
6.2 测试内容
项目使用功能测试即黑盒测试来试运行,在一定的功能场景下模拟用户输入相应的测试用例,结果是否满足需求设计是通过检查预期结果与实际结果的差异来判定。以用户登录功能为例进行测试。用户输入正确的账号密码并且选择正确的用户角色后能够登录成功,如图6.1所示。
图6.1 用户登录成功图
用户输入账号密码或选择用户角色不正确时会登录失败,如图6.2所示
图6.2 用户登录失败图
6.3 测试结果分析
系统测试的目的是发现并排除错误。系统测试通常需要花费大量时间,需要认真思考以确保测试的全面性。在上述环境中,将设计完成的水果商城网站进行运行。经过一系列测试和调试,该水果商城基本达到了预期目标,其中发现了一些错误,已经基本解决,测试结果与预期结果基本一致。系统各功能模块能正常运行,并对异常输入给出相应提示,基本实现了用户通过该商城购买水果的需求。经过系统测试和系统调试,水果商城运行基本稳定,性能良好。测试中基本没有问题,但仍有一些问题需要进一步解决、改进和优化。最后,系统各功能运行一切正常,并达到了设计要求。
结论
经过几个月的努力,水果商城网站的功能已基本完成,基本满足了用户方便快捷购买新鲜水果的需要。水果商城使用JSP技术进行设计开发,以MyEclipse为开发平台,采用基于B/S结构的多层开发模式,网站采用了面向对象的方法进行数据建模,并进行了初步的分析与设计工作,数据存储使用MYSQL数据库。水果商城界面设计上虽然和商业的网站有着不小的差距,但是也可以满足消费者在线订购水果产品,线下配送的基本使用。通过设计这样一个相对完整的水果商城,从中学到了很多东西,理论和动手实践能力都得到了加强,使用专业知识解决问题的能力也得到加强。同时也了解到自己的不足之处,提高了自己查阅文献、设计手册、设计说明书、计算机图形制作等专业能力。最开始阶段比较慢,也比较难熬,在首页制作完成之后,其他页面就顺利多了。希望在以后的工作中能够对水果商城继续完善。
参考文献
- 曹凡,吴玉.浅析 Java 的发展现状与趋势[J].计算机时代 2010(5).
- 李素若,陈万华,张牧. Java 面向对象程序设计[M]. 北京:化学工业出版社,2010, 6
- 孙鹏. 实践出来的水果一体化新零售[J]. 数字经济, 2021(3):4.
- 洪维恩.Java2 程序设计基础[M]. 重庆:电脑报电子音像出版社,2010.
- 王进.J2EE 框架深度历险[M].南京:东南大学出版社 2009.
- 张明星. Dreamweaver CS6 网页设计与制作详解[M]. 北京: 清华大学出版社,2014.
- 闫迎利,王伟平.Java 编程网络大讲堂[M]. 北京:清华大学出版社,2010, 8.
- 石道元, 李亮. 电子商务实务[M]. 电子工业出版社, 2012.
- (美)Jason Brittain,Ian F Darwin. Tomcat 权威指南(第二版) [M] .(吴豪)北京: 中国电力出版社,2009.
- 张帆.软件开发技术[M].北京:电子工业出版社.2012.
- 聂常红.Web 前端开发技术——HTML、CSS、Java Script [M]. 北京: 人民邮电出版社, 2013.
- 孙璐. 基于Java技术的Web应用开发[M]. 电子工业出版社, 2009.
- 李俊青.Java EE Web 开发与项目实战[D].华中理工大学出版社,2011:55-58
- 肖俊杰, 曹雨, 张谦,等. 电子商务环境下我国农产品营销研究——以水果销售为例[J]. 卷宗, 2015, 5(1):3.
- 孙宁, 赵维平, 王宇飞,等. 中国古谱数据库管理平台设计与实现[J]. 现代计算机, 2017(1):6.
- 卫娜. 高校数字图书馆共享书单系统设计研究[J]. 2020.
- 卢云霞. 浅谈个人博客网站的设计与实现[J]. 内蒙古科技与经济, 2021(17):3.
- 姜奇玮.基于JAVA WEB的海运通关系统的设计与实现[D].湖北,华中科技大学,2011, 54-60.
- 孙蓓蓓. 基于大数据的生鲜果蔬电商用户数据挖掘与应用[J]. 科学与财富, 2019.
- 商鹏. 网上购物商城的设计方案探讨[J]. 科学与信息化, 2020.