项目源码,请关注❥点赞收藏并私信博主,谢谢~
本系统开发采用技术为JSP、Bootstrap、Ajax、SSM、Java、Tomcat、Maven
此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私要
摘要
校园二手交易活动是很多学生们平时和毕业季所必有的活动,对于许多学生日常生活中都会有闲置的商品,或者是在毕业季来临的时候,一些学生都会想要处置一些带不走的物品或者学习用品。并且对于图书来说,二次售卖并不会影响它的使用和阅读,并且许多新的图书的价格对于许多阅读一遍的同学来说是很不划算,所以对于许多在校生来说,二手图书的购买会更加的实用。但是由于信息差的原因许多想要进行二手图书销售的同学并不能通过有效途径找到该图书的需求者,所以在校园管理不断的发展过程中,逐渐出现了跳蚤市场或者一些微信群聊的二手购物。但是这些平台没有针对于二手图书的互动平台,许多想要购买图书的学生只能随机的进行购物,不能形成系统的选购活动。与此同时,许多学生上课的教材也可以得到循环的利用,不仅可以方便学生们的学习活动,还可以得到资源的循环利用,所以校园二手图书交易平台对于学生们校园生活的发展来说是至关重要的。
此次设计且实现的系统题目为校园二手图书交易平台,在此次的系统中主要采用B/S模式,采用前后台的模式进行开发,后台主要为SSM架构,且主要通过MySQL对数据进行存储,前端主要为JSP、JavaScript、主要通过对前端用户交互以及对后台数据进行展示。随着信息化技术的普及,该系统的设计和研发可以降低学生们二手交易的成本,提高交易的数量和效率。
Abstract
The design and implementation of the system for the campus second-hand book trading platform, in this system mainly using B/s mode, using the front and back-stage model for development, the back-stage mainly for the SSM architecture, and mainly through MySQL data storage, the front-end mainly for JSP, JavaScript, mainly through the front-end user interaction and background data display,. With the popularization of information technology, the design and development of the system can reduce the cost of students second-hand transactions, improve the number of transactions and efficiency.
Keywords: Second hand books; Online second-hand transactions; Ding placement stage; Java; SSM
目 录
1.2网站研究现状..................................................................................... 1
2.3 MySQL数据库................................................................................... 3
3.1可行性分析......................................................................................... 5
4.1系统模块设计..................................................................................... 8
4.2系统数据库设计................................................................................. 9
5.1二手书籍展示................................................................................... 13
5.2图书详情查询................................................................................... 13
5.3书籍类型设置................................................................................... 14
5.4二手书籍发布上架........................................................................... 14
5.5图书信息列表................................................................................... 15
5.6购物车结算....................................................................................... 16
5.7交易订单查询................................................................................... 17
6.2系统测试用例................................................................................... 18
第1章 引言
1.1课题背景
图书和课程教材对于学生们的学习活动来说是学习的基本工具,但是许多图书和教材在学习过程中都会成为一次性产物,许多人们都会将其出售给卖废品的。其实对于很多图书来说都是可以实现多次利用和学习的[1],而且许多学生都会购买一些阅读的书籍,但是在阅读完成后不知道如何处置,所以随着校园活动的不断丰富,二手的图书交易平台成为校园生活所必须的线上平台之一。随着线上系统的不断发展和引入,校园内的跳蚤市场和二手交易平台也越来越多,信息化也逐渐成为校园生活进行的发展方向[2]。所以,随着网络化技术的不断提高和发展更加针对二手图书的交易平台和系统也在不断的得到研发和设计。
1.2网站研究现状
国内的高校规模和学生的数量都在不断的发展壮大,对于学生们来说校园生活也在不断的丰富和多样化。随着智能电子产品的出现,学生们在线上购物的频率和生活习惯也得到了很大的转变。由于新冠疫情的影响,许多学生都已经更加倾向在线上进行购物和消费,随着我国信息化水平的不断发展,我国也在不断地将线上信息化系统引入校园的管理和日常生活中[3]。多抓鱼、孔夫子旧书网都是发展成熟的线上二手平台[4],在该平台上不仅可以进行二手书籍的购买,还可以根据书籍的新旧程度进行图书产品的购买。与此同时,消费者还可以根据自身需求在平台进行二手图书的售卖。但是该类线上平台的范围更加针对于所有的消费者,学生们还是更加需要针对校园区域的特定二手图书交易平台[5]。
国外的校园生活的模式和校园管理的方式都不同于国内,而且国外的网络化平台和线上系统的发展都比国内更加先进且成熟。所以在国外的二手交易平台也是针对于不同的领域和范围。在二手交易平台方面的发展国外的线上系统是十分多元化的,在二手图书线上系统方面AbeBooks等平台都是发展的十分成熟的二手图书交易平台[6],在该交易平台中,消费者可以根据自身的需求进行筛选和购买,在一些特殊的节假日还会有折扣和特惠活动。在这些网站上还可以选择商家或者消费者的身份,进行不同的交易活动。
1.3研究意义
随着大学生活的展开,本系统也是为了给同学们带来实惠和方便,大学生二手书交易系统有着其他形式的网上书店所不能比拟的优势:图书来源于学生,销售给学生,并且价格比较便宜。每年大学生毕业时,往往把好多图书当作废纸卖掉,这不仅价格便宜,更主要的是浪费了知识[7]。使得学生与学生之间更方便的完成供求需要。很多同学获得二手书籍提供更可靠的资源,也为许多真真正正需要书籍的人提供便捷,并且本系统可满足同学们卖旧书和买旧书的愿望,同学们注册账号就可以购买所需图书,及时送书上门,卖书的人可以发布图书请求,由后台工作人员查看到后,核实信息的真实性。所以我坚信本系统能够整合庞大的供需市场,将需求全面对接,提升交易效率,满足校园二手书籍的需求[8]。
1.4研究总结
在本内容的设计中主要是从六方面角度进行分析阐述,第一部分主要是对系统的背景进行调研,以及对当前的已有的相似系统进行对比分析,第二部分主要是对开发中的一些架构以及涉及到的语言在本系统中的优势进行分析,第三部分主要是对系统的设计过程中整理的需求以及一些可行性进行分析,第四部分主要是对系统的底层逻辑架构以及交互的过程图等进行设计,第五部分主要是对整体系统的代码编写开发进行设计,第六部分是对设计完成后的测试以及测试用例进行编写。
第2章 技术介绍
2.1Spring架构
在Java项目的基础架构搭建时首先是对Spring进行配置,要对Spring的xml以及对应的项目的web.xml进行设置[9],利用Spring进行项目开发的优势在于控制反转和切面编程,通过Spring可对传统意义的Beans进行定义,在Spring中可通过xml中的标签<bean>进行单例模式的注入[10],同时也可通过注解的方式对一些类进行注入,常见的注解为@Controller、@Component、@Service等,在对类的头部加入注解后,在Spring启动时就可通过拦截的方式对所有的有注解的类进行批量的注入。Spring作为一个架构容器,可作为很多架构的底层基建,因此在开发中Spring必不可少[11]。
2.2Java语言
Java的部署服务器通常采用的是Tomcat,Tomcat作为开源的部署服务器之一,与Java项目搭配部署来说非常的合适,Tomcat中可编译一些html包以及war包等,Tomcat项目解压后即可使用,在Tomcat总最为重要的是webapps包,任何的部署项目文档都需先放到此包下[12],在Tomcat启动时会先扫描下方的文件包,且同时可解压多个项目包,若包名为ROOT,则默认访问时不加包名字,包名作为根目录使用,正常时则在访问时需要加部署的包名,在logs下方则会自动化的生成一些编译时的文件以及错误的exception异常打印,Tomcat可结合nginx来进行集成式部署使用[13]。
2.3 MySQL数据库
在项目的数据存储中采用MySQL进行数据保存,在MySQL中包含了很多的存储结构,包含数据库表结构以及数据库的视图、数据库的函数和触发器等,MySQL这类数据库优势就是开源免费,针对于前期的体量数据不大的项目基本都可满足,MySQL也支持数据备份[14],同时也支持多线程服务,MySQL的数据库表主要是对项目数据存储,包含数据的字段值定义、字段类型定义、主外键的定义以及字段长度等,通过MySQL存储可让项目数据更加结构化[15]。
3.1可行性分析
技术可行性:在本次的系统开发中主要采用的开发的语言为Java,配置的架构为Spring、Mybatis,通过MySQL进行二手书籍数据存储,前端采用JSP进行交互美化设计,数据交互采用Ajax,采用maven对整体项目进行管控,项目总体采用MVC的设计模式,代码层级分明。
经济可行性:从软件开发经济角度来说,首先是判断投入时长比,分析需要投入的人次以及技术人员和维护人员需要后期的投入开发时间,需要判断软件的体量大小,在前期初期设计时若体量较大则可分为几期进行开发,对于一些一次性的投入,比如软件的购买、技术类的花销,则在使用时尽量选择开源技术,保证这类投入的最低消耗,网络和服务器的投入则需要正常的采买,保证服务的客观因素不受影响。
市场可行性:由于信息差的原因许多想要进行二手图书销售的同学并不能通过有效途径找到该图书的需求者,所以在校园管理不断的发展过程中,逐渐出现了跳蚤市场或者一些微信群聊的二手购物。但是这些平台没有针对于二手图书的互动平台,许多想要购买图书的学生只能随机的进行购物,不能形成系统的选购活动。与此同时,许多学生上课的教材也可以得到循环的利用,不仅可以方便学生们的学习活动,还可以得到资源的循环利用
3.2用例分析
(1)买家主要是在首页进行二手书籍的检索,可通过对类型进行设置,通过注册填写自己的个人信息,获取自己的买家账号,可进行意向商品的购物车的添加,可进行订单的购买和结算,对订单数据可进行查询,以及对自己的个人的收货地址进行管理,在购买后可进行评价。
图3.1 普通买家图
(2)在首页端卖家也可注册账号信息,卖家注册后可进行信息的发布,通过上架图书信息以及图片进行新增,然后通过上架进行售卖,可对店铺进行维护,以及对订单进行查询发货。
(3)管理员主要是为旧物类型的管理,可对旧物数据进行管理,以及对注册的人员信息进行管理,可对二级分类进行设定。
图3.3 管理员管理图
3.3性能分析
软件的性能要从不同的人的角度进行分析,从开发者的角度首先是保证系统的bug尽量不存在,尽量可让操作人可流畅的进行,同时要考虑到一些服务器的性能以及中间件的一些效率问题,要考虑到使用用户的访问逢时,而从用户的角度来说,就是响应的时间和并发的用户数,并发数增多时往往会出现系统使用的卡顿情况以及数据数量增多时的存储效率和查询效率的低下问题,在系统端要考虑到界面的美观度以及自适应度,不同的分辨率的界面提现也是不同的。
第4章 系统设计
4.1系统模块设计
系统主要分为卖家、买家、管理员,此次系统设计主要的模块为 图书分类、旧物图书信息上架、学生注册、图书展示、旧物图书购买、下单结算、订单查询。
买家主要是在首页进行二手书籍的检索,可通过对类型进行设置,通过注册填写自己的个人信息,获取自己的买家账号,可进行意向商品的购物车的添加,可进行订单的购买和结算,对订单数据可进行查询,以及对自己的个人的收货地址进行管理,在购买后可进行评价
在首页端卖家也可注册账号信息,卖家注册后可进行信息的发布,通过上架图书信息以及图片进行新增,然后通过上架进行售卖,可对店铺进行维护,以及对订单进行查询发货
管理员主要是为旧物类型的管理,可对旧物数据进行管理,以及对注册的人员信息进行管理,可对二级分类进行设定
图4.1 流程图
4.2系统数据库设计
接下来一步是对数据库的设计,数据库的设计主要分为两步,第一步是对逻辑进行设计,包括数据库的实体图的绘制以及数据库的E-R图,第二步主要是对数据库的底层真实表进行设计,首先对模块进行梳理后要对多对多以及1对多的关联联系进行梳理,多对多可建立一个中间表,1对多则作为外键进行设计,对表字段的设计尽量做到不冗余,且做到物理的主外键关联,避免删除时出现脏数据,采用E-R可直观的对表的联系进行阐释。
图4.2 E-R表
后台的平台负责交易人员表如表4.1 所示,表名:xitongren
表4.1 后台负责人信息表
属性名 | 属性类型 | 初始定义 | 属性说明 |
fuzerenyheid | Int(5) | 初始存值 | 平台交易负责人编号 |
fuzerenyname | varchar(25) | 初始存值 | 平台交易负责人账号 |
fuzerenysword | varchar(58) | 初始存值 | 平台交易负责人密码 |
旧的物品交易上架信息如表4.2 所示,表名:book
表4.2 闲置旧书信息表
属性名 | 属性类型 | 初始定义 | 属性说明 |
bookid | Int(4) | 初始存值 | 图书生成串 |
bookname | varchar(78) | 初始存值 | 图书名字 |
bookprice | varchar(78) | 初始存值 | 图书卖价 |
bookphoto | varchar(80) | 初始存值 | 图书图片 |
bookintroduce | varchar(50) | 初始存值 | 图书描述 |
bookstatus | Int(4) | 初始存值 | 图书可买状态 |
booktype | int(10) | 初始存值 | 图书类型 |
注册买家如表4.3所示,表名:maijia
表4.3 物品拥有买家信息表
属性名 | 属性类型 | 初始定义 | 属性说明 |
Userid | int(11) | 初始存值 | 系统买家生成串 |
Username | varchar(78) | 初始存值 | 系统买家名称 |
Userphone | varchar(60) | 初始存值 | 系统买家电话 |
Usercoaddress | varchar(60) | 初始存值 | 系统买家地址 |
Userlogin_name | varchar(78) | 初始存值 | 系统买家账号 |
Userlogin_password | varchar(60) | 初始存值 | 系统买家密码 |
Userlogin_email | varchar(60) | 初始存值 | 系统买家邮箱 |
物品旧物交易订单如表4.4所示,表名:jaiyidingd
表4.4 旧物交易生成信息表
属性名 | 属性类型 | 初始定义 | 属性说明 |
Dingsdid | varchar (20) | 初始存值 | 交易生成生成串 |
Dingsdnumber | varchar(78) | 初始存值 | 交易生成次数 |
Dingsdxian_id | int(11) | 初始存值 | 交易生成所属编号 |
Dingsdwanjiar_id | int(11) | 初始存值 | 交易生成编号 |
Dingsdprice | double | 初始存值 | 交易生成金额 |
Dingsddatetime | date | 初始存值 | 交易生成时间 |
Dingsdstatus | Int(11) | 初始存值 | 交易生成状态 |
旧物图书分组表如表4.5所示,表名:shzhileixing
表4.5 图书分组信息表
列名 | 可否为空 | 初始定义 | 说明 |
typesxlid | 初始存值 | 初始存值 | 图书分组编号 |
typesxlname | 初始存值 | 初始存值 | 图书分组编号命名 |
卖家如表4.6所示,表名:waimaijia
表4.6 交易店铺卖家信息表
属性名 | 属性类型 | 初始定义 | 属性说明 |
Salerdid | varchar(15) | 初始存值 | 交易店铺卖家主键 |
Salerdname | varchar(25) | 初始存值 | 交易店铺卖家用户 |
Salerdpword | varchar(75) | 初始存值 | 交易店铺卖家密码 |
Salerdphone | varchar(78) | 初始存值 | 交易店铺卖家手机号 |
Salerdpic | varchar(58) | 初始存值 | 交易店铺卖家照片 |
Salerdsex | varchar(6) | 初始存值 | 交易店铺卖家性别 |
Salerdemail | varchar(15) | 初始存值 | 交易店铺卖家邮箱 |
交易二手购物车表如表4.7所示,表名:ehroudj
表4.7 jiayiouwc信息表
属性名 | 属性类型 | 初始定义 | 属性说明 |
cartsdid | Int(4) | 初始存值 | 意向交易添加id串 |
cartss_id | Int(4) | 初始存值 | 意向交易添加图书编号 |
mcartsTotal | double | 初始存值 | 意向交易添加总额 |
cartsrice | double | 初始存值 | 意向交易添加单价 |
cartsid | Int(4) | 初始存值 | 意向交易添加会员编号 |
cartsntime | date | 初始存值 | 意向交易添加时间 |
第5章 系统实现
5.1二手书籍展示
在首页可对二手书籍信息进行展示,可通过findlist对所有的图书书籍信息进行展示,通过querydatapage将交易的图书信息进行table的表格展示,通过foreach可进行循环,可输入querlike进行检索操作。
图5.1首页展示图
5.2图书详情查询
可点击进行详情的查询,通过点击获取id,通过controller层的querybyid进行图书的数据详情获取,然后封装为bookbeans,通过ModelAndjiemians进行数据返回,可点击进行购买操作
图5.2图书详情图
5.3书籍类型设置
系统后台可对图书信息进行类型新增,可通过对图书的一级分类、二级分类等进行定义,然后通过ajax进行类型的新增insert,通过对父节点类型进行绑定,然后调用mapper进行新增。
图5.3类型设定图
5.4二手书籍发布上架
可通过填写input中的输入框中的图书数据信息进行add新增,通过点击submit进行数据的新增操作,然后json对数据进行封装,最后通过insert对数据进行add存储保存,设置图书状态为待上架。
图5.4图书新增图
核心代码如下:
5.5图书信息列表
在旧物图书查询界面,可通过showbooks对所有的图书数据进行查询,可通过controller层对数据进行page设置,然后通过pagevo进行分页参数定义,执行底层的selectdatabypage进行数据limit分页操作,然后展示到界面。
图5.5图书信息列表图
5.6购物车结算
在图书旧物的详情的界面,直接点击添加购物车,后台通过/addtubooksstoDingbag.action,后台参数接受中包含 tubooksid,tubooksprice,orddertubooksaccount等,首,设置Ding的状态为0购物车添加状态,通过cartservice中的addcart进行购物车数据新增,若返回的flag为1则添加购物车成功。
图5.6购物车新增图
核心代码如下:
5.7交易订单查询
在订单查询界面,可通过showDings对所有的订单数据进行查询,可通过controller层对数据进行page设置,然后通过pagevo进行分页参数定义,执行底层的selectdatabypage进行数据limit分页操作,然后展示到界面。
图5.7订单结算图
核心代码如下:
第6章 系统测试
6.1测试方法
在测试中首先要对测验的环境进行搭建,可通过一些测试的工具环境等进行实现,在测试中要对操作的流程以及操作的数据的存储等多方面进行测试,首先要保证的是设计出的软件跟最初的设想基本一致,且操作的流程要符合实际的线下的要求,从用户的角度而言,系统的操作要符合正常的线下操作习惯和步骤,在操作中的任何一步都是要保证数据的流转的存储正确性,这样才可保证存储的数据以及查询展示的数据的正确性。