🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。
作者完整代码目录供你选择:
⬇️文章末尾可以获取联系方式,需要源码或者演示视频可以联系⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
项目展示
摘 要
随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。水果蔬菜商城系统中管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对后台有相应的操作权限。
要想实现水果蔬菜商城的各项功能,需要后台数据库的大力支持。管理员验证注册信息,收集的用户信息,并由此分析得出的关联信息等大量的数据都由数据库。本文中数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。本系统的开发使获取水果蔬菜商城 信息能够更加方便快捷,同时也使水果蔬菜商城管理信息变的更加系统化、有序化。系统界面友好,易于操作。
关键词:水果蔬菜商城;SSM;Mysql
1 系统概述
1.1 概述
随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对水果蔬菜商城方面的要求也在不断提高,需要水果商城的人数更是不断增加,使得水果蔬菜商城的开发成为必需而且紧迫的事情。水果蔬菜商城主要是借助计算机,通过对水果蔬菜商城所需的信息管理,增加用户的选择,同时也方便对广大用户信息的及时查询、修改以及对用户信息的及时了解。水果蔬菜商城对用户带来了更多的便利,该系统通过和数据库管理系统软件协作来满足用户的需求。
互联网的到来,传统的水果蔬菜商城信息获取,没有这种APP软件,都是通过纸质手工等方式进行翻看杂志、报纸等信息,然后进行一条条的统计数据信息,并且要想获取某一条水果蔬菜商城数据需要进行查找,需要用户自己手动的统计,最后由于水果蔬菜商城数据量比较大,传统的数据统计是手动检查和验证的,信息量很大,因为使用手动统计数据是一个很大的工作量,而且错误率很高,当然会有很多数据存储和丢失问题,对于搜索一块数据比较麻烦而且还耽误时间。
1.2 课题意义
随着全球信息化的发展,人们的生活节奏越来越快,对信息的时效性越来越重视。以传统的宣传方式为载体的传统媒介早已不能满足人们对获取信息的方式、便捷性的需求。所以水果蔬菜商城渐渐成为人们关注的焦点。首先,水果蔬菜商城网上获取信息的实时性、便捷性要远远高于传统媒介。系统一经上线,无论用户在世界的哪个角落,只要能够连接互联网,就能在第一时间获得想要的信息。
随着我国经济迅速发展,互联网对人们的生活及工作都带来了非常大的方便,各种管理系统都在不断的增加,但是水果蔬菜商城 查询方面缺乏系统的管理方式,为提高水果蔬菜商城 查询效率,特开发了本水果蔬菜商城 。
水果蔬菜商城 将通过计算机进行整体智能化操作,对于水果蔬菜商城信息的管理及数据保存都是非常多的,为用户提供一个智能化的管理信息平台,方便管理员可以随时随地的查看用户所需的详细信息及所有资讯信息内容,增加系统和用户之间的关系,并且对数据信息管理可以及时、准确、有效地进行系统化、标准化和有效化的工作。
计算机技术在现代管理中的应用,使计算机成为人们应用现代技术的重要工具。能够有效的解决获取信息便捷化、全面化的问题,提高效率。
1.3 主要内容
水果蔬菜商城从功能、数据流程、可行性、运行环境等方面进行需求分析。对水果蔬菜商城的数据库、功能进行了详细设计。分析了主要界面设计和相关组件设计,对水果蔬菜商城的具体实现进行了介绍。
采用SSM框架,从数据库中获取数据、向数据库中写入数据,实现系统直接对数据库进行各种操作,在网页中加入动态内容,从而实现水果蔬菜商城所需要的各种基本功能。
虽然目前已有很多基于SSM框架的水果蔬菜商城 ,但尚未出现更详细的功能显示和信息查询。经过分析,用户的第一眼往往是看到一个软件的外观,一个漂亮的界面将吸引用户下一次点击和理解。为了让用户通过无意识的点击尝试进入每个界面和每个按钮,用户可以进一步了解软件的质量,因此良好的软件界面将是吸引用户注意力的第一步。因此,对于每个软件界面设计工作来说,一个应用程序是占据非常重要的一部分,在高端大气中吸引用户界面,满足用户体验将进一步完成整个应用程序的各项功能,良好的用户体验度将继续使用并经常打开并使用此软件。
2 系统开发环境
2.1 JAVA简介
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,JSP(java server pages),和XML技术。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.2 MySql数据库
Mysql的语言是非结构化的,用户可以在数据上进行工作。因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,其速度、可靠性和适应性而备受关注并得到了普遍的应用。Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用特点:灵活性强,功能强大,语言相对要简洁很多。
数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据库管理主要是数据存储、修改和增加以及数据表的建立。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。
2.3 SSM框架
当今流行的“SSM组合框架”是Spring + SpringMVC + MyBatis的缩写,受到很多的追捧,“组合SSM框架”是强强联手、各司其职、协调互补的团队精神。web项目的框架,通常更简单的数据源。Spring属于一个轻量级的反转控制框架(IoC),但它也是一个面向表面的容器(AOP)。SpringMVC常常用于控制器的分类工作模式,与模型对象分开,程序对象的作用与自动取款机进行处理。这种解耦治疗使整个系统的个性化变得更加容易。MyBatis是一个良好的可持续性框架,支持普通SQL查询,同时允许对存储过程的高级映射进行数据的优化处理。大型Java Web应用程序的由于开发成本太高,开发后难以维护和开发过程中一些难以解决的问题,而采用“SSM组合框架”,它允许建立业务层次结构,并为这个问题提供良好的解决方案。
3 需求分析
3.1 技术可行性:技术背景
水果蔬菜商城是在Windows操作系统中进行开发运用的,而且目前PC机的各项性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,系统使用Java开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。
(1) 硬件可行性分析
订单管理及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。
(2) 软件可行性分析
开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障了数据信息能够得到及时的备份,整个系统可以安全有效的运行。
因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。
3.2 经济可行性
在水果蔬菜商城开发之前所做的市场调研及与其相关的其他管理系统,都是没有任何费用的。所有的调查研究都是通过开发者自己的努力,所有的工作也都是自己亲力亲为的。在碰到自己比较难以解决的问题时,大多数是通过指导老师和同学的帮助进行相关问题的解决。所以对于水果蔬菜商城的开发在经济上是完全可行的,没有任何费用支出的。
使用比较成熟的技术,系统是基于SSM框架开发,采用Mysql数据库。所以系统在开发人力、财力方面的要求不高,具有经济可行性。
3.3 操作可行性:
可操作性主要是对在水果蔬菜商城设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息的操作需求和管理员管理数据信息。对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以水果蔬菜商城的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。
3.4 系统设计规则
本水果蔬菜商城采用SSM框架,Mysql数据库开发,充分保证了系统稳定性、完整性。
水果蔬菜商城 的设计与实现的设计思想如下:
1. 操作简单方便、系统界面安全良好:简单明了的页面布局,方便查询水果蔬菜商城管理的相关信息。
2. 即时可见:对水果蔬菜商城信息的处理将立马在对应地点可以查询到,从而实现“即时发布、即时见效”的系统功能。
3.5 系统流程和逻辑
系统业务流程图,如图所示:

图3-1登录流程图

图3-2添加信息流程图

图3-3注册信息流程图
4 系统概要设计
4.1 概述
水果蔬菜商城基于Web服务模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在不受时间、地点的限制来使用这个系统。水果蔬菜商城工作原理图,如图4-1所示:

图4-1 系统工作原理图
4.2 系统结构
系统功能结构图,如图4-2所示:

图4-2 系统功能结构图
4.3 数据库设计
4.3.1 数据库实体
管理员实体属性图,如图4-3所示:

图4-3 管理员实体属性图
用户实体属性图,如图4-4所示:

图4-4 用户实体属性图
商家实体属性图如图4-5所示。

图4-5 商家实体属性图
ER实体属性图如图4-6所示。

图4-6 ER管理实体属性图
4.3.2 数据库设计表
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
表4.1商家
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
|
|
shangjiamingcheng |
varchar |
200 |
商家名称 |
|
|
|
mima |
varchar |
200 |
密码 |
|
|
|
shangjiatupian |
longtext |
|
商家图片 |
|
|
|
lianxiren |
varchar |
200 |
联系人 |
|
|
|
lianxidianhua |
varchar |
200 |
联系电话 |
|
|
|
youxiang |
varchar |
200 |
邮箱 |
|
|
|
yingyezhizhao |
longtext |
|
营业执照 |
|
|
|
shangjiadizhi |
varchar |
200 |
商家地址 |
|
|
|
xiangxijieshao |
longtext |
|
详细介绍 |
|
|
|
thumbsupnum |
int |
|
赞 |
|
0 |
|
crazilynum |
int |
|
踩 |
|
0 |
|
storeupnum |
int |
|
收藏数 |
|
0 |
|
money |
double |
|
余额 |
|
0 |
|
status |
int |
|
状态 |
|
0 |
|
passwordwrongnum |
int |
|
密码错误次数 |
|
0 |
表4.2地址
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
|
|
userid |
bigint |
|
用户id |
|
|
|
address |
varchar |
200 |
地址 |
|
|
|
name |
varchar |
200 |
收货人 |
|
|
|
phone |
varchar |
200 |
电话 |
|
|
|
isdefault |
varchar |
200 |
是否默认地址[是/否] |
|
|
表4.3热卖商品
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
|
|
shangpinbianhao |
varchar |
200 |
商品编号 |
|
|
|
shangpinmingcheng |
varchar |
200 |
商品名称 |
|
|
|
fengmian |
longtext |
|
封面 |
|
|
|
shangpinleibie |
varchar |
200 |
商品类别 |
|
|
|
pinpai |
varchar |
200 |
品牌 |
|
|
|
guige |
varchar |
200 |
规格 |
|
|
|
shangpinxiangqing |
longtext |
|
商品详情 |
|
|
|
onelimittimes |
int |
|
单限 |
|
|
|
alllimittimes |
int |
|
库存 |
|
|
|
shangjiamingcheng |
varchar |
200 |
商家名称 |
|
|
|
lianxidianhua |
varchar |
200 |
联系电话 |
|
|
|
shangjiadizhi |
varchar |
200 |
商家地址 |
|
|
|
clicktime |
datetime |
|
最近点击时间 |
|
|
|
clicknum |
int |
|
点击次数 |
|
0 |
|
discussnum |
int |
|
评论数 |
|
0 |
|
price |
double |
|
价格 |
|
|
|
storeupnum |
int |
|
收藏数 |
|
0 |
表4.4品牌
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
|
|
pinpai |
varchar |
200 |
品牌 |
|
|
表4.5订单
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
|
|
orderid |
varchar |
200 |
订单编号 |
|
|
|
tablename |
varchar |
200 |
商品表名 |
|
remaishangpin |
|
userid |
bigint |
|
用户id |
|
|
|
goodid |
bigint |
|
商品id |
|
|
|
goodname |
varchar |
200 |
商品名称 |
|
|
|
picture |
longtext |
|
商品图片 |
|
|
|
buynumber |
int |
|
购买数量 |
|
|
|
price |
double |
|
价格 |
|
0 |
|
total |
double |
|
总价格 |
|
0 |
|
type |
int |
|
支付类型 |
|
1 |
|
status |
varchar |
200 |
状态 |
|
|
|
address |
varchar |
200 |
地址 |
|
|
|
tel |
varchar |
200 |
电话 |
|
|
|
consignee |
varchar |
200 |
收货人 |
|
|
|
logistics |
longtext |
|
物流 |
|
|
|
remark |
varchar |
200 |
备注 |
|
|
|
shangjiamingcheng |
varchar |
200 |
商户名称 |
|
|
|
goodtype |
varchar |
200 |
商品类型 |
|
|
|
sfsh |
varchar |
200 |
是否审核 |
|
|
|
shhf |
longtext |
|
审核回复 |
|
|
|
role |
varchar |
200 |
用户角色 |
|
|
第5章 系统详细设计
5.1管理员功能模块
5.1.1 用户管理
水果蔬菜商城的设计与实现管理员进入用户管理界面图,可以对用户进行管理具体操作如下图所示:

图5-1 用户管理界面图
5.1.2 商家管理
水果蔬菜商城的设计与实现管理员进入商家管理界面图,可以对商家进行管理具体操作如下图所示:

图5-2 商家管理界面图
5.1.3 品牌管理
水果蔬菜商城的设计与实现管理员进入品牌管理界面图,可以对品牌进行管理具体操作如下图所示:

图5-3 品牌管理界面图
5.1.4 果蔬商品管理
水果蔬菜商城的设计与实现管理员进入果蔬商品管理界面图,可以对果蔬商品进行管理具体操作如下图所示:

图5-4 果蔬商品管理界面图
5.1.5 交流论坛管理
水果蔬菜商城的设计与实现管理员进入交流论坛管理界面图,可以对交流论坛进行管理具体操作如下图所示:

图5-5 交流论坛管理界面图
5.1.6 系统简介管理
水果蔬菜商城的设计与实现管理员进入系统简介管理界面图,可以对系统简介进行管理具体操作如下图所示:

图5-6 系统简介管理界面图
5 系统测试
5.1 系统测试的目的
程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题我们需要测试程序,在测试过程中发现问题并纠正它们,从而使系统更长时间稳定成熟。
本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。
软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。
水果蔬菜商城的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在水果蔬菜商城正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。
5.2 系统测试方法
在对水果蔬菜商城进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让水果蔬菜商城开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个水果蔬菜商城开发所牵扯的该问题都必须一一解决,提高水果蔬菜商城平台的安全性、稳定性。
白盒测试与黑盒测试是测试中比较常用的两种方法。
① 结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。
② 功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。
5.3 测试结果
经过对一系列测试结果的有效分析,本平台开发系统符合用户的要求和需求。所有的基本功能相对齐全,操作起来简单方便,测试系统性能良好,作为大众化系统使用是比较值得推广宣传的。
结论
本系统通过对SSM和Mysql数据库的简介,从硬件和软件两反面说明了水果蔬菜商城的可行性,本文结论及研究成果如下:实现了SSM与Mysql相结合构建的水果蔬菜商城,网站可以响应式展示。通过本次水果蔬菜商城的研究与实现,我感到学海无涯,学习是没有终点的,而且实践出真知,只有多动手才能尽快掌握它,经验对系统的开发非常重要,经验不足,就难免会有许多考虑不周之处。比如要有美观的界面,更完善的功能,才能吸引更多的用户。
由于在此之前对于java知识没有深入了解,所以从一开始就碰到许多困难,例如一开始的页面显示不规范、数据库连接有问题已经无法实现参数的传递等等,不过通过在网上寻找有关资料以及同学的帮助下最后都得到了解决,在此过程中,我不仅学到了很多知识,也提高了自己解决问题的能力,尤其是学会如何从大量的信息中筛选出所需有用的信息,同时我更加深刻的体会到了,虽然书本上的大部分知识都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在此次毕业设计活动中,我不断的提高了自己,也得到了宝贵的经验,我相信这些对我以后的发展都会有很大帮助。
通过这次水果蔬菜商城的开发,我参考了很多相关系统的例子,取长补短,吸取了其他系统的长处,逐步对该系统进行了完善,但是该系统还是有很多的不足之处,有待以后进一步学习。
实践证明,水果蔬菜商城有着非常好的发展前景,经过测试运行,系统各项功能都十分完善,界面漂亮,使用方便,操作容易,在技术理论上已经成熟。
致 谢
毕业设计结束的同时也意味着四年的大用户活就要结束了。水果蔬菜商城的完成以及如何在系统运行过程中实现的更好,这其中付出了很大的努力,这段时光将会终身难忘。
在毕业设计的这一段时间里,离不开导师的细心指导,还有同学们的热情帮助,有时候几个同学在一起讨论系统中的某个功能模块如何实现,如何实现的更好,或是问题没得到有效的解决,就会没有心思做其他的事情,让我们对学习充满了动力。
在毕业设计即将结束之时,首先要感谢我的指导老师,谢谢您在毕业设计和毕业论文中对我的指导。在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力帮助下我才能将课本上的知识与自己的项目结合,真正的做到学以致用。感谢您经常牺牲自己的休息时间,利用其丰富的教学和项目经验对我进行指导。课堂上,您教会我们如何学习、教会我们新的知识,在课下,您又像朋友一样亲切,教会了我很多道理,让我意识到先做人、后做事。感谢所有教过我的老师,为我倾注了大量的心血,正是你们的谆谆教诲、严谨教学才使我能顺利的完成学业,再此向你们表示深深的感谢。感谢大学里教过我的每一位老师,真心祝福您们。
在这里还得感谢我的战友们,也就是同学们对我的大力支持及帮助。正是因为有你们的不断帮助、鼓励,熬夜通宵,不停的调试、测试程序,给我带来了极大的动力,才能最终完成网站的运行。我们在一起交流、谈论的时光,都将是我们在通往未来道路上的宝贵财富。我要深深地感谢你们!
毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!
最后,我要向牺牲了休息时间来对本文进行审阅,评议和参与论文答辩的各位老师表示深深的感谢。在此,衷心的谢谢您们!
参考文献
[1] 张继东.Mysql数据库基于java的访问技术[J/OL].电子技术与软件工程,2017,(15):169(2017-08-03).
[2] 李春燕,李根.基于java技术的网络信息花店网站平台设计[J/OL].电子技术与软件工程,2017,(20):9(2017-10-26).
[3] 王浩.基于java技术的在线技能评测系统的设计与实现[J].数字技术与应用,2016,(12):171-172.
[4] 王金龙,张静.基于java+Mysql的高校慕课(MOOC)花店网站系统设计[J].通讯世界,2017,(20):276-277.
[5] 潘国荣.基于java+JavaBean+Servlet实现模式的增删改模块的设计与实现[J].信息通信,2017,(08):101-103.
[6] 葛建霞.《java动态网页设计》课程中项目花店网站法的应用研究[J].宿州教育学院学报,2017,20(04):160-161.
[7] 李清霞.《java动态网页设计》课程建设与花店网站模式研究[J].福建电脑,2017,33(06):92-93+166.
[8] 曾晰,舒坚.基于java的养老院管理信息系统的设计与实现[J].信息通信,2017,(09):122-124.
[9] 傅峰. 基于移动平台的论坛管理系统的设计[J]. 电子设计工程,2016,24(09):66-68+71.
[10] 李丹. 派遣信息网络管理平台设计与实现[J]. 软件导刊,2016,15(03):97-98.
[11] 付昕. 基于B/S调度信息管理系统的实现[J].山东省农业管理干部学院学报, 2018, 27(4):166-168
[12] 黄艳峰. 在Java语言中实施“案例医学会网站管理系统”的研究与探索[J]. 电脑知识与技术, 2015, 6(5):1148-1149
[13] 赵钢. java Servlet+EJB的Web模式应用研究[J]. 电子设计工程, 2018, 21(13):47-49
[14] 肖英. 解决java/Servlet开发中的中文乱码问题[J]. 科技传播, 2017, (1)11-25
[15] Hsiao I H, Sosnovsky S, Brusilovsky P. Guiding students to the right questions: adaptive navigation support in an e-learning system for Java programming[J]. Journal of Computer Assisted Learning, 2016, 26(4):270-283.
核心代码展示
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
项目推荐
【计算机毕业设计】各项技术选题汇总
【计算机毕业设计】基于Springboot的网上购物商城销售系统
【计算机毕业设计】开题报告模板2
【计算机毕业设计】任务书案例2
【网站项目】基于springboot的在线考试系统
【网站项目】基于springboot的4S店车辆管理系统
【软件设计】基于python的高校资产管理系统
【网站项目】python009基于推荐算法的电影推荐系统
【网站项目】基于Springcloud的分布式架构网上商城
⬇️文章末尾可以获取联系方式,需要源码,高清图片,演示视频可以联系(不开源)⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡





