BS作业 基于springboot + Thymeleaf +mybatis 实现的书城管理系统

2023-10-27

一:项目背景

项目描述
一个基本功能较为完整的后台管理项目。项目主要功能有:登录验证,登录功能还加入了随机验证码的验证;
用户注册,注册中密码基于srping 安全框架提供的加密(自动加盐)的密码储存方式,对注册重名进行了处理;
密码重置;修改用户信息;使用resultful风格实现了对图书CRUD,其中搜索功能是 可以模糊查询 以及可以根据一段时间的范围来进行查询,删除功能实现了单选与多选,编辑功能实现了数据回显;
项目扩展:
模拟用户购书的功能,即用户可以单选或者多选购买书籍;购物车功能,当我们点击购买后,我们的购物车会显示刚购买的物品
项目角色:
后端各个模块的开发,数据库表的设计。
项目收获:
熟悉了Spring Boot框架下开发项目的流程
熟悉了layui框架的基本使用

二:技术栈

SpringBoot + mybatis + Mysql5.7 + Thymeleaf + layui

该项目已经部署在 阿里云上了
项目地址
但是 有一个bug我放过他了 (用户登录所有功能正常 管理登录的 CRUD mei le) 我很菜 因为我是菜鸡杰

三:项目需求

1:首先完老师的需求

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 陈老师布置的作业 也就是完成 登录验证
  • 注册 (如果已经注册了 需要有提示 并重新注册)
  • 错误跳转
  • 修改密码
  • 修改用户信息
  • 然后就是图书的CRUD了

2:扩展功能

  • 显然 陈老师布置的需求 只是 对于 图书管理员的 所以我自己添加了 关于用户 就是 可以实现用户的 购买功能
  • 当我们登录用户系统后 我们可以对书籍 进行购买 同时 还有购物车功能 在购物车实现了结算功能

四:项目模块

1:基本功能(两个模块均有的)

(1):登录

在这里插入图片描述

(2):注册:

在这里插入图片描述

(3):错误跳转

当我们输入的密码 或者 用户名 或则 验证码有误时 跳转错误页面 并在 5秒后返回
在这里插入图片描述

(4):进入登录页面后 修改密码

![!](https://img-blog.csdnimg.cn/eb5ed8a570be4e46a86d60b5cb7019a2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSp5aSp5ZCR5LiK55qE6I-c6bih5p2w77yB77yB,size_20,color_FFFFFF,t_70,g_se,x_16)

(5):展示用户的信息

在这里插入图片描述

2:图书管理系统(图书的CRUD)

(1):图书管理主页面

在这里插入图片描述

(2):图书的查询

  • 模糊查询
  • 根据出版日期查询范围内的书籍
    在这里插入图片描述

(3):增加书籍

在这里插入图片描述

(4):编辑书籍

这里实现数据的回显
在这里插入图片描述

(5):删除

多选和单选
在这里插入图片描述

3:图书购买系统

(1):主页面

在这里插入图片描述

(2):购买书单

在这里插入图片描述

(2):购物车

这里显示的就是我们购买的书籍,如果购物车未显示 请点击刷新
在这里插入图片描述
结算:结算
在这里插入图片描述

四:技术说明

1:用户注册的时候进行了对密码进行了加盐处理

  //增加一个用户
    @PostMapping("/addUser")
    @ResponseBody
    public Result<Object> addUser (User user) {
        if (user != null) {

            //对密码进行加密
            BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
            String s3 = encoder.encode(user.getPassword());//进行加密
            user.setPassword(s3);

            //判断该用户是否存在
            User userIsNot = userServiceImp.login(user);
            if(userIsNot != null) {
                return Result.fail("您输入的用户名已经被注册了");
            }

            int i = userServiceImp.addUser(user);
            if (i > 0) {
                return Result.success();
            }
        }

        return Result.fail("添加用户失败");
    }

在这里插入图片描述

巴拉巴拉巴拉 。。。。。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BS作业 基于springboot + Thymeleaf +mybatis 实现的书城管理系统 的相关文章

  • Java:线程“主”中的异常 java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:

    我是初学者 谁能帮我弄清楚我们在做什么 我正在尝试读取字符串并将字符串的每个字符存储在数组中 import java util Scanner public class CoreMainDigitExtractor static Scann
  • 在 Java 中从 SOAPMessage 获取原始 XML

    我已经在 J AX WS 中设置了 SOAP WebServiceProvider 但我无法弄清楚如何从 SOAPMessage 或任何 Node 对象获取原始 XML 下面是我现在获得的代码示例 以及我试图获取 XML 的位置 WebSe
  • 尝试获取屏幕上绘制的每个随机圆圈的 x、y 坐标

    您好 我正在制作一款游戏 该游戏将在屏幕上创建随机圆圈 随机创建的圆圈的值为红色或绿色 我的问题是 我希望不仅能够确定用户何时单击其中一个圆圈 而且还能够确定他们最终单击的圆圈 红色或绿色 下面是我的代码 我的主要问题是试图找到将要绘制的圆
  • 如何将现有的 SQLite3 数据库导入 Room?

    好吧 我在桌面上使用 SQLite3 创建了一个只需要读取的某些信息的数据库 我正在制作的应用程序不需要在此表中插入或删除信息 我在 Room 数据库层上做了相当多的谷歌搜索 所有文档都需要在构建应用程序时在 Room 中创建一个新的数据库
  • 检查 IPv4 地址是否在私有范围内

    在 Python 中 使用 IPy 模块您可以执行以下操作 gt gt gt ip iptype PRIVATE 有没有一个库或简单的方法可以在 Java 中执行相同的操作 似乎不完全是但是InetAddress有一些 isXX 方法 例如
  • Android WebView文件上传

    我正在开发一个 Android 应用程序 基本上它是一个WebView和一个进度条 Facebook 的移动网站 m facebook com 已加载到WebView 当我单击 选择文件 按钮上传图像时 没有任何反应 我已经尝试了所有的解决
  • Kafka Java Consumer 已关闭

    我刚刚开始使用卡夫卡 我面临着消费者的一个小问题 我用Java写了一个消费者 我收到此异常 IllegalStateException 此消费者已关闭 我在以下行中遇到异常 ConsumerRecords
  • 正则表达式在 Velocity 模板中不起作用

    我在 Test java 中尝试过这个 String regex lt s br s s gt String test1 lt br gt System out println test replaceAll regex 但是当我在速度模板
  • Android volley使用RequestFuture.get()时出现超时异常

    在我的片段中 我尝试使用 TMDB 的开放电影数据库来获取有关 正在播放 电影的详细信息 如果我使用 RequestFuture get time TimeUnit 方法来执行此齐射请求 我总是会收到超时错误 如果我在 Safari 中手动
  • 从 HttpClient 3 转换为 4

    我已经成功地对所有内容进行了更改 但以下内容除外 HttpClient client HttpPost method client new DefaultHttpClient method new HttpPost url InputStr
  • 如何配置Spring boot分页从第1页开始,而不是从0开始

    boot 1 4 0 可分页 用于分页 它工作正常 没有任何问题 但默认情况下 页面值从 0 开始 但在前端 页面值从 1 开始 那么是否有任何标准方法来增加值而不是手动增加代码内的页码 public Page
  • 从 Android 访问云存储

    我一直无法找到任何有关如何从 Android 应用程序使用云存储的具体文档 我确实遇到过这个客户端库 https cloud google com storage docs reference libraries然而 Google Clou
  • Jetty Plugin 9启动不喜欢icu4j-2.6.1.jar

    我对 mortbay 的 Maven jetty 插件 6 有相同的配置
  • Android项目中使用java获取电脑的IP地址

    我在用ksoap2 android http code google com p ksoap2 android 我需要使用java获取IP地址 这样我就不必每次都手动输入它 我所说的 IP 地址是指 例如 如果我这样做ipconfig使用命
  • Java 中处理异步响应的设计模式

    我读过类似问答的答案 如何在 JAVA 中创建异步 HTTP 请求 https stackoverflow com questions 3142915 how do you create an asynchronous http reque
  • Java:一个函数有多种返回类型...可以使用泛型吗?

    为了简单起见 我有一些程序 如下所示 public String fetchValueAsString String key public DateTime fetchValueAsDateTime String key 我想要类似的东西
  • java中的预增量/后增量

    有人可以帮助我理解为什么 int i 1 int j 1 int k 1 int l 1 System out println i i System out println j j System out println k k System
  • Java 中的微分方程

    我正在尝试用java创建一个简单的SIR流行病模型模拟程序 基本上 SIR 由三个微分方程组定义 S t l t S t I t l t S t g t I t R t g t I t S 易感人群 I 感染人群 R 康复人群 l t c
  • 为什么我不能将 Collection 转换为 Collection>

    问题的关键是 为什么这会导致编译时错误 List
  • 使用 AmazonSNSClient 发送短信时的授权

    aws 官方文档如何发送短信 http docs aws amazon com sns latest dg sms publish to phone html使用 java 中的 aws SDK 非常简单 但是 当发送如底部示例所示的消息时

随机推荐

  • [Pytorch系列-47]:工具集 - torchvision.transforms.Normalize和ToSensor的深入详解

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121300054 目录 第1章 关于标
  • tensor2tensor自定义问题,训练模型(bpe篇)

    tensor2tensor自定义问题 训练模型 上一篇 https blog csdn net hpulfc article details 81172498 之前一篇文章简单介绍了如何使用 google 的SubwordTokenEnco
  • c++小项目:基于STL的演讲比赛流程管理系统

    一 项目目的 运用c 实现一个基于STL的演讲比赛流程管理系统 比赛方式 共两轮 第一轮为分组淘汰赛 第二轮为决赛 共有十名评委 打分方式为去掉最高分和最低分的平均分为基准 第一轮共两组 每组六人 为随机分组和抽签决定演讲顺序 每组取前三名
  • Linux下实现DNS的分离解析

    Linux下实现DNS的分离解析 一 DNS简介 什么是DNS DNS的基本概念 二 安装DNS解析Bind服务 BIND bind配置文件 安装bind bind chroot软件包 查看安装软件生成的配置文件 三 DNS分离解析案例 一
  • Java之Class.forName方法详解

    一 前言 二 案例 三 详解 一 前言 在说明Class类的静态方法forName 之前 先清楚有关Class类的几个概念 1 Class类封装了类或接口的运行时状态 Java程序在运行时 Java运行时系统一直对所有的对象进行所谓的运行时
  • 一些C++、Qt实用技巧

    一 RAII统计函数耗时 RAII 也称为 资源获取就是初始化 是c 等编程语言常用的管理资源 避免内存泄露的方法 它保证在任何情况下 使用对象时先构造对象 最后析构对象 经典使用场景 避免死锁 class MyLock public My
  • nlohmann-json库使用简介

    nlohmann json库使用简介 GitHub地址 nlohmann json 简介 JSON库千千万 为何nlohmann json库那么热门呢 原因在于它的设计理念非常人性化 提供符合直觉的语法 可以像STL容器一样来使用 提供了丰
  • 动态规划算法之矩阵连乘积问题1

    首先我们了解一下什么是动态规划算法 动态规划算法与分治法类似 其基本思想也是将待求问题分解成若干个子问题 但是与分治法不同的是 适合于动态规划算法的问题经分解得到的子问题不是互相独立的 假若用分治法解决此类问题 由于子问题太多 导致最后求解
  • Could not locate zlibwapi.dll. Please make sure it is in your library path!

    下载预编译版本 http www winimage com zLibDll 把 lib 和 dll 文件放到 CUDA 安装目录的 lib 和 bin 文件夹
  • Vmstat基础使用

    Vmstat https www cnblogs com ggjucheng archive 2012 01 05 2312625 html vmstat展示信息
  • 20201020关于List<Map>的过滤 和 求和 BigDecimal的注意点

    过滤出符合条件的数据 List
  • J2EE学习中一些值得研究的开源项目

    原文地址 http java csdn net a 20100127 258561 html 这篇文章写在我研究J2SE J2EE近三年后 前3年我研究了J2SE的Swing Applet Net RMI Collections IO JN
  • 官方Xcode及模拟器SDK下载

    如果你嫌在 App Store 下载 Xcode 太慢 你也可以选择从网络上下载 Xcode下载 Beta版打的包是不能提交到App Store上的 绝对官方源 绝对官方源 绝对官方源 不能确定自己的 Xcode 是否有问题 简单的一条命令
  • win10网络重置后果很严重(联想电脑)

    1 win的网络重置功能 2 重置后是这样的 啥都没有 更别说联网了 我不知道是不是只有联想才会这样 本来在网络连接有好动东西 现在啥都没有 看了好多博客 都没有解决问题 好多人都重装系统了 3 如果你是联想电脑 系统重装也没有用 以前朋友
  • 解决Docker镜像国内无法下载问题

    近期由于docker镜像仓库禁止国内下载 国内各平台均无法下载更新最新docker镜像 为解决此问题 大家可以使用dockerproxy代理下载 使用方法 大家只需打开docker proxy代理网站 在快捷命令中输入所需镜像和版本 点击
  • Django_xAdmin项目(三)之xAdmin进阶开发

    替换django xadmin自带的users模块 1 xadmin gt plugins gt auth py 加载替换系统user的方法 from django contrib auth import get user model 替换
  • 构建统一CIM数字底盘,实现基于BIM的全流程管控

    2009年 SuperMap发布了首款二三维一体化GIS软件 首次提出了二三维一体化GIS技术 随后 二三维一体化的应用系统不断涌现 二三维一体化技术逐步成为三维GIS发展和研究的主流 2017年 SuperMap在二三维一体化 GIS 技
  • 数据结构视频教程 -《[中山大学]算法与数据结构(C语言版)[胡青主讲]》

    整个视频打包下载地址 史上最全的数据结构视频教程系列分享之 中山大学 算法与数据结构 C语言版 胡青主讲 转载请保留出处和链接 更多优秀资源请访问 我是码农 本课程由中山大学胡青老师主讲 非常精彩 数据结构是计算机科学中的重要学科 也是计算
  • WebRTC之VAD算法

    我的书 购买链接 京东购买链接 淘宝购买链接 当当购买链接 VAD Voice Activity Detection 算法的作用是检测语音 在远场语音交互场景中 VAD面临着两个难题 1 可以成功检测到最低能量的语音 灵敏度 2 如何在多噪
  • BS作业 基于springboot + Thymeleaf +mybatis 实现的书城管理系统

    一 项目背景 项目描述 一个基本功能较为完整的后台管理项目 项目主要功能有 登录验证 登录功能还加入了随机验证码的验证 用户注册 注册中密码基于srping 安全框架提供的加密 自动加盐 的密码储存方式 对注册重名进行了处理 密码重置 修改