摘 要
基于SSM框架(Spring + SpringMVC + MyBatis)的农产品交易网站旨在为买卖双方提供便捷、安全的交易平台。设计阶段着重明确用户需求,包括用户管理、商品展示、订单处理等核心功能。后端采用Spring框架管理业务逻辑,SpringMVC处理请求,MyBatis负责数据操作,实现清晰分离和高效管理。
为增强用户体验,前端利用HTML、CSS、JavaScript技术,结合Ajax实现页面动态交互,保证流畅浏览和操作。数据库设计至关重要,考虑数据表关系、索引优化以提高数据存储检索效率。
通过实现用户注册登录、商品发布、购物车管理、订单支付等功能模块,完善农产品交易网站。整合SSM框架优势,确保高效稳定运行,简洁代码结构,为用户提供便捷且安全的交易环境。该综合性网站旨在促进农产品市场发展,促进生产者与消费者有效沟通及交易,推动农业经济繁荣。
关键词:SSM框架;农产品交易;数据库设计;前端交互
Design and Implementation of SSM Optimal Agricultural Product Sales Management System
Abstract
The agricultural products trading website based on the SSM framework (Spring + SpringMVC + MyBatis) aims to provide a convenient and secure trading platform for both buyers and sellers. During the design phase, user requirements, including user management, product display, and order processing, are clearly defined as core functions. The backend utilizes the Spring framework for managing business logic, SpringMVC for handling requests, and MyBatis for data operations, achieving a clear separation of concerns and efficient management.
To enhance user experience, the frontend employs HTML, CSS, and JavaScript technologies, integrated with Ajax for dynamic page interactions to ensure smooth browsing and user interaction. Database design is crucial, considering factors such as data table relationships and index optimization to improve data storage and retrieval efficiency.
By implementing modules like user registration, product listing, shopping cart management, and order payment, the agricultural products trading website is enhanced. Leveraging the advantages of the SSM framework ensures efficient and stable operation, with a concise code structure, providing users with a convenient and secure trading environment. This comprehensive website aims to promote the development of agricultural markets, facilitate effective communication and transactions between producers and consumers, and drive prosperity in the agricultural economy.
Keywords: SSM Framework; Agricultural Products Trading; Database Design; Frontend Interaction
1绪 论
1.1研究背景
当今社会,随着Internet的发展,网上购物已经成为了一种新的购物理念,人们可以足不出户便可以购买所需物品。随着"互联网+"、轻量级框架、分布式、高并发高可用等概念的提出,使得Web应用的开发技术得到了进一步的推进及深入发展,对农产品销售系统的设计、实现、管理产生了深远的影响,并在农产品销售系统的开发中得到了广泛的应用。电子商务通过营造一个虚拟市场环境,使贸易双方没有时空障碍,从而增加贸易机会,降低交易成本,改善服务质量,提高商务活动效率。互联网和电子商务的全面整合不仅极大地丰富了各类产品的销售渠道,而且还提升了企业进行改革与转型的效率,推动了企业的发展步伐[1]。然而,由于电子商务在"互联网+"时代并未经历较长的发展阶段,目前还不够成熟,所以在此程中仍存在很多问题,只有尽快发现这些问题,并及时采取针对性的解决措施,才能使电子商务在未来取得更好的发展。
1.2开发现状
从系统的在国外,当前网络商城发展的领军者当属北美市场了,其中美国网络商城的快速发展走在了北美市场的前沿。具体体现在虽然美国市场仅仅经历了一年的时间就从 B2C 结算转变成为了 B2B 结算,但是通过 B2B 结算就已经超过了 B2C结算的交易额。在全球网络商城发展的过程中,即使以美国为代表的北美市场的网络商城发展突飞猛进,但是网络商城在欧洲地区的发展也在全球网络商城的发展中占有重要地位,其中欧洲依靠欧盟这一特殊的机构,整合资源,结合全球网络商城发展优点,走出了自己独特的道路,为全球网络商城发展贡献自己的力量。将目光转向国内市场,我国互联网发展的起步较晚,目前我国内的网络商城的结算依旧采用 B2C 结算。我国网络上出现的首批网络商城服务到现在不过才二十多年。但是近年来我们国家计算机相关行业的迅猛发展,其中网络商城是其中的佼佼者。线上购物逐渐赶上甚至超过了线下购物,成为我国消费者的主要消费方式,同时网络商城的发展也逐渐改变我们的消费方式、生活习。是我们国家未来消费方式的趋势。近年来,我国特色农产品电商市场因“疫”重生,中央及地方政府发布系列惠农政策,京东、淘宝、拼多多等各类主流电商平台积极开通助农专区,疏通应季上市特色农产品上行通道。此外,乡村振兴叠加数字农业相关政策,共同助力农产品电商步入发展机遇期[2]。
1.3开发意义
从系统的背景来看,可以看出开发该系统有以下几点重大的意义:
第一点,投入的资金少,回收成本和利润快。在国内,使用互联网开店的成本非常低,据调查显示国内开店的平均资金为5万以上,然后跟实体店昂贵的开店费用比起来,已经是微不足道,造成如此差距的原因在于,开网店不需要门店租金,囤积货物,也没有营业执照的硬性要求,也不需要大量人力资源,综合起来就比实体店所花费的费用要少得多了,实体店需要门店租金和大量人力,这些都是不可缺少的成本。
第二点,不限营业时间,基于可以全天24小时营业。传统的实体店大部分营业时间都在8到12小时左右,遇上恶劣天气、老板或者员工有急事,可能都会造成实体店关门休息,网店却不受这些影响,只要不停电,电脑能正常工作,就可以持续不间断的营业。
第三点,不受地理位置影响。以前电子商务大部分只是在国内营销,近年来,越来越多的国际贸易往来导致了越来越多的外国人能通过互联网购买各国的商品,因此电子商务的发展已经突破的地域差异了[3]。
1.4本文的组织结构
六个章节共同组成了本文研究及设计内容,包括:
第一章:绪论。本文章的开头部分,对本题目的研究背景和研究意义等一些做文字性的描述。
第二章:相关技术介绍。主要介绍Java编程技术、Ssm的开发工具、B/S模式等。
第三章:系统分析。包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。
第四章:系统设计。本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。
第五章:系统实现。将本系统分为前提的开发工具介绍和后期的功能代码实现。
第六章:系统测试。系统完成后,根据各个模块的测试用例才对各个模块进行功能测试。
2相关技术介绍
2.1前后端分离
Ajax的出现,也带来了另外一个问题,那就是有了Ajax以后,之前用模板语言实现起来的功能变得简单,之前模板语言实现不了的功能现在也能实现了。这样就造成越来越多的逻辑转移到了Javascript上,使其变得越来越复杂[4]。
随着Js复杂度的增长,原来的开发模式出现了问题,一个程序员搞定全站变得越来越不靠谱,因此在这个时候就把网站开发这个职位划分成了前端和后端两个职位。但是只划分了前后端的职责范围还是远远不够的,在原来的开发模式下,前后端的代码也在一起的。现在既然已经分为前后端两波人在开发了,维护同一套代码就变得不那么方便。项目越复杂,出现你等我,我等你的情况就会越来越多,这样就拖慢了整体团队的节奏。所以为了团队的效率,前后端的代码也要做分离[5]。
前后端的分离方式分为部分分离和全部分离两种,部分分离是只把脚本和样式分离出去,而Html模板还留在后端通过Java,Velocity或者Freemarker来渲染;另一种就是完全分离,脚本样式以及模板全都放在前端来维护。
部分分离已经很大程度上解决了前后端开发时的协调问题,开发效率也得到了很大程度的提升。但也得承认,这种方式也还是有问题的。当要开发Html模板的时候,就需要搭起一整套后端的开发环境,或者是找后端程序员来协助[6]。
而完全分离一般有两种方案,第一种就是使用Velocity这种在Nodejs和Java下都可以编译的页面模板,在开发时放到前端项目里,但在发布时,会把模板发布到后端的模板目录下,这样,开发时就做到了完全分离。这种方式最大的好处就是线上模板的渲染还是由Java来做的,形成的是带有动态数据的Html,比较有利于SEO。但这种方式下,前端的开发环境和发布系统的复杂度都相对较高,单纯的前端改动也还是要带着后端一起发布[7]。
第二种完全分离的方式,就是把纯静态的Html模板完全放在前端,数据全部通过RESTful接口来进行交互。这样前后端就完全分开了,脱离了后端的模板,而这种方式的系统复杂度也会比第一种完全分离的方式低。但这种方案下,所有的页面数据都是用Js渲染的,没有动态模板,不太利于SEO。这个不足我们可以通过做Server Render或者给蜘蛛做一套定制页面来解决。
SSM即SpringMVC+Spring+Mybatis,这三个框架有各自最独有的优势,那么将它们组合在一起能够碰撞出很强的火花。设计者在不需消耗大量功夫,能做出Web应用程序,而且这个程序还具有层次清晰、升级更新操作不影响正常使用的、允许多次使用的特点。这个复合框架形成一个有着结构完整、功能强大和结构良好的体系:SpringMVC使各板块分离,Spring使开发更灵活方便,使用Mybatis让开发者直接对对象进行操纵,各层次分工明细,并实现各个层次间的解耦,让代码更加的灵活精简[8]。这个框架使程序员能够规避在开发时期避免个别错误导致整体被破坏,也能在后期应对客户对产品提出的新需求。
计算机的系统软件主要分为两种:系统软件和应用软件。应用软件则是为了某个特定的应用而开发的一类软件,比如文字处理软件Word、QQ、开发本软件用的Myeclise工具等。而应用型软件大致的分为B/S和C/S两种模式,常用的QQ、Office办公软件就是C/S结构的,另外常见基于的B/S结构开发的有各种网站,比如淘宝、企业的门户网站[9]。
B/S模式的优势有三个:第一是开发和业务扩展简单、只需要改变网页代码,就可以达到想要的网页效果;第二学生的操作显浅易懂;第三具有分布性特定,可以随时随地的进行查询、浏览等业务的处理。这是C/S所无法实现的。综上因素,选择B/S模式来设计和实现本系统。
3系统分析
开发软件有没有触犯法律,这涉及到软件或者系统能不能发布的问题。如果触犯了法律,就必将会受到法律的制裁。常见法律问题就是软件抄袭问题,若是抄袭别人软件,将会受到严厉惩罚[10]。
软件产业经过多年的发展,现在已经达到了很大的规模,从事软件开发的专业人员不计其数,软件产业的重要性已经上升到了影响和推动国民经济发展的核心地位。本系统基于的架构,目前技术已经非常的成熟,是不存在技术上面难以实现的麻烦[11]。
开发软件所需的时间、人力和物力成本,开发完成后的收益如何,从投资回报的角度软件所需功能在现有经济条件能不能实现等进行深入的考虑,都符合实际的要求。所以洗衣店管理系统具有经济可行性和实用性,可以节约管理成本[12]。
1.注册:首先检查用户名和邮箱是否存在,如果都不存在才能进行注册,并将用户输入的密码进行MD5加密,注册成功后提示注册成功,并将用户信息保存到数据库中。
2.商品展示功能模块主要包括产品搜索、查看商品详情功能。未注册用户(游客)和已注册用户均可以在首页进行产品搜索及查看商品详情。具体功能需求如下:
(1)商品搜索:前台用户可以在前台输入关键词进行搜索,搜索成功后返回该商品的动态排序列表,且能够进行分页展示。
(2)查看商品详情:用户可点击对应商品,从而查看该商品的商品详情。
3.购买订单管理功能模块主要包括加入购买订单、更新购买订单商品数量、删除购买订单商品:
(2)更新商品数量:用户可在查看购买订单时更新所需商品的数量。
(3)选择购物车商品:用户可全选/单选所需商品,系统将对所选中的商品计算总价。
4.在线支付:
(1)提交订单:用户提交订单后会自动跳转到支付页面,支付页面显示订单金额和二维码。
(2)支付:用户可扫描二维码进行支付。
(3)返回订单状态:付款完成后将订单状态改为已付款状态,返回订单页面。
5.商品管理:
(1)商品列表:展示所有商品信息,形成的列表样式。
(2)商品搜索:通过商品名、商品类目来搜索商品。
(3)图片上传:给商品添加商品图片。
(4)增加商品:添加新的商品到商城。
(5)更新商品:更新商品的信息,如商品名、价格、数量等。
(6)商品上下架:将商品上架到商城或将商品从商城下架。
6.商品类目管理:
(1)添加品类:管理员可对品类进行管理,点击添加品类选择父类并输入品类名称即可添加品类。
(2)修改品类:管理员可对品类的名称进行修改。
(3)查看子品类:管理员可查看所有平级品类的品类ID,品类名称等。
7.订单管理:
(1)按订单号查询订单:管理员可以按订单号对订单查询。
(2)查看订单详情:管理员可以查看订单的详情。
8.资讯管理:
(1)资讯列表:展示所有资讯信息,形成的列表样式。
(2)资讯搜索:通过资讯标题、资讯编号来搜索资讯。
(3)图片上传:给资讯添加资讯图片。
(4)增加资讯:管理员可以添加新的资讯。
(5)更新资讯:更新资讯的信息,如资讯标题、资讯图片、内容等。
(6)资讯删除:管理员可以删除资讯。
(7)积分功能:引入积分系统,实现积分的获取和管理。
通过对系统的分析,该系统由两类用户组成。买家可以行使用户登录模块功能、商品管理功能、积分模块功能、订单模块功能和留言功能。管理员可以行使用户管理模块功能和商品管理模块等[13]。
1.普通用户主用户在系统中主要使用在线购买业务的情况,其有以下几种功能,
(1)注册和登录:普通用户可以通过系统提供的注册功能创建自己的账户,并使用注册时填写的用户名和密码进行登录。登录后,用户可以享受个性化的服务和功能。
(2)浏览和查找商品:登录后,普通用户可以浏览系统中的商品信息,查看商品的详细描述、价格、库存等信息。用户可以通过搜索框或者分类导航来查找特定商品,以便快速找到所需产品。
(3)查看积分情况:普通用户可以查看自己的积分情况,包括当前积分余额、积分获取途径、已经兑换的奖励等。积分可以用于兑换礼品、参与活动或者享受优惠折扣等。
(4)查看订单:普通用户可以查看自己的订单记录,包括已完成订单、待发货订单、待支付订单等。用户可以查看订单详情,如商品清单、订单状态、配送信息等,帮助了解订单情况并跟踪物流进度。
(5)进行留言:普通用户可以在系统中进行留言或反馈意见,提出问题或建议。管理员或客服人员会及时回复用户的留言,帮助解决问题或改进服务质量。
下图所示为普通用户的用例图。
图3.1 普通用户例图
2. 管理员在系统中担当重要角色,主要负责以下几个方面的管理工作:
(1)系统管理:管理员负责监督和管理整个系统的运行,包括系统配置、权限设置、日志记录等。他们确保系统稳定运行并及时进行维护和更新。
(2)商品信息管理:管理员负责管理系统中的商品信息,包括添加新商品、编辑商品信息、上架下架商品、设置价格等。他们通过对商品信息的管理来维护商品数据库的完整性和有效性。
(3)商品类别管理:管理员负责管理商品的分类体系,包括创建、编辑、删除商品类别,调整类别的层级结构等。他们通过合理的分类管理来帮助用户更快速地找到所需商品。
(4)用户信息管理:管理员负责管理系统中的用户信息,包括注册用户、会员信息、账号状态管理等。他们处理用户的账号问题、密码重置请求,并确保用户信息安全和隐私的保护。
(5)订单管理:管理员负责管理系统中的订单信息,包括查看订单状态、处理退款申请、生成发货单等。他们跟踪订单的生命周期,确保订单流程的顺畅和客户满意度。
(6)积分管理:管理员负责管理系统中的积分制度,包括设置积分规则、追踪用户积分变动、处理积分兑换等。他们通过积分管理来促进用户参与活动、增加用户粘性。
下图所示描述管理员的用例图。
图3.2 管理员用例图
系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。
首先系统使用用户分2种,使用购买功能的为普通用户,使用管理功能的为管理员用户,普通用户注册成功后得到账号和密码,在登录页输入账号密码后登录到系统,普通用户便可以浏览到系统展示的商品,然后进行商品购买,接着形成个人购买订单;管理员用户对系统的数据进行维护,包括商品信息的维护,对商品的数量、价格等进行更新和编辑,对客户的订单进行确认和维护等[14]。
用户从登录主页开始,可以选择进行注册或者直接登录账号。以下是详细的用户购买流程:
(1)注册账户:
用户访问系统的登录主页,点击注册按钮进入注册页面。
在注册页面填写必要信息,如用户名、密码、邮箱等,并提交注册表单。
系统验证信息无误后,成功注册并跳转至登录界面。
(2)登录账户:
用户在登录主页输入已注册的用户名和密码,点击登录按钮。
系统验证用户信息正确后,登录成功并跳转至账户页面。
(3)选择商品:
在账户页面,用户可以浏览系统中的商品信息,通过分类导航或搜索框找到感兴趣的商品。
点击商品图片或名称进入商品详情页,查看商品描述、价格、库存等信息。
(4)加入购物车:
在商品详情页,用户可以选择商品数量,并点击“加入购物车”按钮。
系统将所选商品添加至购物车,用户可以继续浏览其他商品或进入购物车查看已选商品。
(5)进入购买支付页面:
在购物车页面,用户确认购买商品信息,选择配送方式和填写收货地址等。
确认订单信息无误后,点击“去结算”按钮进入支付页面。
(6)完成支付:
在支付页面,用户选择支付方式,如支付宝、微信支付、银行卡等。
输入支付密码或进行指纹验证等确认支付操作。
支付成功后,系统生成订单并显示支付成功页面,同时会发送订单确认邮件或短信给用户。
用户购买商品流程图如下所示。
图3.3 用户购买流程图
管理员发布商品包括以下步骤,以下是管理员发布商品的流程:
(1)登录系统:管理员通过系统提供的管理后台页面输入管理员账号和密码,成功登录到系统管理后台。
(2)进入商品管理界面:在管理后台页面,管理员找到“商品管理”或类似的菜单选项,点击进入商品管理界面。
(3)添加新商品:
点击“添加新商品”按钮或类似选项,进入添加商品页面。
在添加商品页面填写商品相关信息,包括商品名称、描述、价格、库存、分类等。
上传商品主图和附加图片,保证图片清晰且符合规范要求。
(4)编辑商品详情:
在商品详情编辑器中输入商品详细描述,包括特色、功能、材质、尺寸等信息。
根据需要插入图片、链接或格式化文本,使商品详情页面更具吸引力。
(5)审核并保存:
在填写完所有商品信息后,管理员对商品信息进行仔细审核,确保数据准确无误。
确认无误后,点击“保存”或“发布”按钮,将商品信息保存至系统数据库,并上架至前台展示。
(6)查看发布结果:
管理员返回商品列表页面,查看新发布的商品是否正常显示,并检查商品详情页展示效果。
如有需要,可以随时对商品信息进行编辑、下架或删除操作。。
图3.4