Java项目:SSM图书馆图书管理系统

news2024/12/22 18:06:22

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

读者角色包含以下功能:
读者登录,图书查询,借阅图书,借阅管理,修改密码,借阅记录等功能。

管理员角色包含以下功能:
管理员登录,图书管理,图书类别管理,读者列表等功能。

由于本程序规模不大,可供课程设计,毕业设计学习演示之用

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 

5.数据库:MySql 5.7版本;

技术栈

1. 后端:Spring+SpringMVC+Mybatis

2. 前端:HTML+CSS+JavaScript+jsp

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

4. 运行项目,输入localhost:8080/ 登录

运行截图

代码相关

登录管理控制器

@RequestMapping("/login")
@Controller
public class LoginController {

    @Autowired
    private LoginService loginService;

    //用户登录
    @PostMapping
    @ResponseBody
    public String login(@RequestBody LoginVo loginVo, HttpServletResponse response,
                                      HttpServletRequest request){
        String url = loginService.login(loginVo,response,request);
        return url;
    }

    //读者自动登录
    @GetMapping("/autoLogin")
    public String autoLoginReader(HttpServletResponse response,HttpServletRequest request){
        Boolean flag = loginService.autoLoginReader(response, request);
        String url = "";
        if(flag){   //登录成功
            url = "/pages/reader/bookDatalist.jsp";
        }else{  //登陆失败
            url = "/pages/login.jsp";
        }
        return "redirect:"+ url;
    }



}

注册管理控制器

@RequestMapping("register")
@RestController
public class RegisterController {

    @Autowired
    private ReaderService readerService;

    //用户名是否存在
    @PostMapping("/account/{accountName}")
    @ResponseBody
    public ResponseEntity<Void> accountName(@PathVariable("accountName") String accountName){
        readerService.accountNameExist(accountName);
        return ResponseEntity.ok().build();
    }

    //用户注册
    @PostMapping
    @ResponseBody
    public ResponseEntity<Void> registerReader(@RequestBody Reader reader){
        reader.builderReader();
        readerService.saveReader(reader);
        return ResponseEntity.ok().build();
    }

    //发送邮箱验证码
    @PostMapping("/verifyMailCode/{account}/{email}")
    @ResponseBody
    public ResponseEntity<Void> verifyMailCode(@PathVariable("account") String account,
                                               @PathVariable("email") String email){
        readerService.verifyMailCode(account,email);
        return ResponseEntity.ok().build();
    }

}

 图书管理控制器

@RequestMapping("/manager/books")
@RestController()
public class MBookController {

    @Autowired
    private BookService bookService;

    //分页获取图书信息 并可查找
    @GetMapping(value = "/{page}/{size}")
    public ResponseEntity<Page<Books>> booksList(@PathVariable("page") Integer page,
                                                @PathVariable("size") Integer size,
                                                Books book){
        return ResponseEntity.ok(bookService.getBookList(page,size,book));
    }

    //添加图书
    @PostMapping
    public ResponseEntity<Void> addBook(@RequestBody Books books){
        bookService.addBook(books);
        return ResponseEntity.status(HttpStatus.CREATED).build();
    }

    //修改图书
    @PutMapping
    public ResponseEntity<Void> modifyBook(@RequestBody Books books){
        bookService.modifyBook(books);
        return ResponseEntity.ok().build();
    }

    //修改图书的状态
    @PutMapping("/{bId}/{status}")
    public ResponseEntity<Void> modifyBookStatus(@PathVariable("bId") Integer bId,
                                                 @PathVariable("status") Boolean status){
        bookService.modifyBookStatus(bId,status);
        return ResponseEntity.ok().build();
    }

    //修改图书的总数量
    @PutMapping("/total/{bId}/{total}")
    public ResponseEntity<Void> modifyBookTotal(@PathVariable("bId") Integer bId,
                                                 @PathVariable("total") Integer total){
        bookService.modifyBookTotal(bId,total);
        return ResponseEntity.ok().build();
    }

//    //删除图书 多个
    @DeleteMapping
    public ResponseEntity<Void> deleteBookBybIds(@RequestBody List<Integer> ids){
        bookService.deleteBookBybIds(ids);
        return ResponseEntity.ok().build();
    }

    //删除图书 一个
    @DeleteMapping("/{bId}")
    public ResponseEntity<Void> deleteBookBybId(@PathVariable("bId") Integer bId){
        bookService.deleteBookBybIds(Arrays.asList(bId));
        return ResponseEntity.ok().build();
    }

}

如果也想学习本系统,下面领取。关注并回复:103ssm 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/64641.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android 系统启动到App 界面完整详解~

通过本篇文章&#xff0c;你将了解到&#xff1a; Android 系统启动流程概览ServiceManager 进程作用Zygote 进程创建与fork子进程system_server 进程作用App 与 system_server 交互Activity 与 View的展示全流程图 1. Android 系统启动流程概览 init 是用户空间的第一个进程&a…

ARM基础(1):Cortex-M3寄存器

Cortex-M3处理器的寄存器包括R0~R15和一些特殊的寄存器。其中R0到R12是通用寄存器&#xff0c;但是一些16位的Thumb指令只能访问R0到R7(低寄存器)&#xff0c;而32位的Thumb-2指令则可以访问所有这些寄存器。特殊寄存器只能通过特殊访问指令访问。 所有的寄存器如下图所示&…

Java安全--篇四-Java原生反序列化

Java原生序列化和反序列化 看理论&#xff1a; 序列化和反序列化的详解_tree_ifconfig的博客-CSDN博客_序列化和反序列化 java序列化与反序列化全讲解_mocas_wang的博客-CSDN博客_java反序列化 java 序列化和反序列化 - xbwang520 - 博客园 序列化和反序列化的简单图解&am…

[附源码]Python计算机毕业设计Django微录播室预约管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

【计算机网络】超详细——VLAN、Trunk的配置

1、VLAN 1.1 什么是VLAN&#xff1f; VLAN&#xff1a;即Virtual Local Area Network&#xff08;虚拟局域网&#xff09;&#xff0c;是物理设备上连接的不受物理位置限制的用户的一个逻辑组&#xff0c;将一个物理LAN划分成多个广播域的通信技术&#xff1b;每一个VLAN是一…

想要高效运行SolidWorks,云上设计了解一下

SolidWorks是达索系统&#xff08;Dassault Systemes S.A.&#xff09;旗下SolidWorks公司开发的&#xff0c;运行在微软Windows平台下的第一个三维机械设计软件&#xff0c;涵盖非常广泛的横截面制造业细分市场&#xff0c;目前广泛应用在航天、建筑、汽车生产企业、模具生产企…

[附源码]Python计算机毕业设计Django农产品销售网站

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;我…

C语言学习之路(基础篇)—— 文件操作(下)

说明&#xff1a;该篇博客是博主一字一码编写的&#xff0c;实属不易&#xff0c;请尊重原创&#xff0c;谢谢大家&#xff01; 文件的随机读写 1) fseek 表头文件&#xff1a;#include <stdio.h>定义函数&#xff1a;int fseek(FILE *stream, long offset, int whenc…

【网络层】BGP协议详解、三种路由协议总结

注&#xff1a;最后有面试挑战&#xff0c;看看自己掌握了吗 文章目录BGP协议------外部网关协议----BGP发言人交换网络可达性信息树形结构---防止兜圈子---交换完整路径信息---路径向量BGP格式---应用层协议-------TCP传送-----先建立TCP连接-----建立BGP session---利用会话交…

[附源码]JAVA毕业设计律师事务管理系统(系统+LW)

[附源码]JAVA毕业设计律师事务管理系统&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术…

MyBatisPlus_快速入门_笔记

MyBatisPlus_快速入门_笔记 文章目录MyBatisPlus_快速入门_笔记学习目标一、MyBatisPlus简介1. 入门案例问题导入1.1 SpringBoot整合MyBatisPlus入门程序①&#xff1a;创建新模块&#xff0c;选择Spring初始化&#xff0c;并配置模块相关基础信息③&#xff1a;手动添加MyBati…

规避跑道安全事故,如何进行飞机跑道入侵检测

机场跑道入侵因为危险源综合而复杂&#xff0c;涉及方面很多&#xff0c;管制员、飞行员、环境等众多因素的影响导致&#xff0c;一直难以彻底消除&#xff0c;是全球民航面临的重要核心问题。本文围绕北斗RTK技术&#xff0c;探讨如何防止车辆入侵跑道。 机场跑道面积辽阔&am…

# Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决

文章目录1.删除mysql服务2.新建my.ini配置文件3.重新生成data文件4.重新安装mysql服务&#xff0c;同时绑定my.ini配置文件5.重新设置密码6.修改root用户密码1.删除mysql服务 以管理员身份运行cmd&#xff0c;进入安装目录下的mysql的bin文件下&#xff0c;运行命令&#xff1…

Executor框架

文章目录前言Executor框架简介ScheduledThreadPoolExecutor和ThreadPoolExecutor对比总结前言 在一些场景&#xff0c;我们常常会用到多线程&#xff0c;但是线程的管理又比较麻烦。所以我们通常使用线程池来进行线程的管理&#xff0c;而今天我们将介绍一个java中常常 用来创…

如何通过编码器信号计算输送线/输送带线速度(飞剪、追剪算法基础)

不同品牌PLC如何采集编码器的频率(速度)信号,专栏有系列文章和详细讲解,这里不再赘述,链接地址如下: PLC通过编码器反馈值计算速度的推荐做法(算法解析+ST代码)_RXXW_Dor的博客-CSDN博客_plc运算速度PLC如何测量采集编码器的位置数据,不清楚的可以参看我的另一篇博文:…

【docker】配置深度学习环境

目录基本环境搭建问题与解决容器启动后添加端口映射安装完虚拟环境后 CUDA调用不了opencv的使用问题自定义软件包的使用基本环境搭建 容器基本操作&#xff1a; # 按照服务器配置拉取对应的镜像 docker pull pytorch/pytorch:1.9.0-cuda10.2-cudnn7-devel# 查看主机端口 没有信…

网站部署SSL证书是否会影响网站流量?

给网站部署SSL证书的重要性想必很多站长用户都已知悉&#xff0c;SSL证书是数字证书的一种&#xff0c;由受信任的数字证书颁发机构CA&#xff0c;在验证服务器身份后颁发&#xff0c;具有服务器身份验证和数据传输加密功能。由于SSL证书是部署在服务器上&#xff0c;那么SSL证…

【第二阶段:java基础】第11章:Exception异常(P442-P459)

本系列博客是韩顺平老师java基础课的课程笔记&#xff0c;B站&#xff1a;课程链接&#xff0c;吐血推荐的一套全网最细java教程&#xff0c;获益匪浅&#xff01; 韩顺平P442-P4591. 异常的概念2. 常见的异常运行时异常编译异常3. 异常处理1️⃣try-catch-finally2️⃣throws4…

Java项目:SSM在线化妆品网站

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目为前后台项目&#xff0c;前台为普通用户登录&#xff0c;后台为管理员登录&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登…

Java入门笔记

目录Java入门笔记快捷键基础准备环境准备Java编译运行流程TODO自定义模板基础语法变量原理标识符标识符命名规则数据类型整数型浮点型类型转换引用数据类型面向对象类和对象判断一个对象是不是某个类方法传参可变参数基本数据类型传参字符串数据类型传参引用数据类型传参静态属…