网站建设模板公司,vi设计风格有哪些,深圳保障性住房和公租房区别,连网站建设作者主页#xff1a;源码空间codegym 简介#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍
基于SpringBootthymeleaf实现的图书管理系统分为管理员、读者两个登录角色#xff0c;一共是8个功能模块
管理员权限
图书管理#xff1a;… 作者主页源码空间codegym 简介Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍
基于SpringBootthymeleaf实现的图书管理系统分为管理员、读者两个登录角色一共是8个功能模块
管理员权限
图书管理
添加图书书名、作者、出版社、ISBM、简介、价格、出版日期、分类、数量查询图书根据书名或分类查询删除图书点击删除按钮即可修改图书点击修改按钮即进入修改界面
用户管理
添加用户根据角色添加用户或者管理员用户管理对存在的用户或管理员进行删除修改查询
借还管理用户借还书自动添加信息如果超过指定日期会显示催还按钮
修改密码对自己的登录密码进行修改修改成功后退出系统到login页面
读者权限
图书查询根据书名或者分类进行查询
个人信息查看个人详细信息读者号、姓名、用户名、性别、生日、地址、电话、角色
我的借还
我想还书显示所有未还图书以及图书状态如果图书超期或者到应还日期前15天才能进行续借借还记录显示所有已还图书和用户丢失图书进行赔偿的图书借还日志
图书挂失显示读者所有未还图书附带挂失按钮点击挂失 解挂解挂 赔偿
修改密码对自己的登录密码进行修改修改成功后退出系统到login页面
点击查看演示视频
环境要求
1.运行环境最好是java jdk1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境Tomcat7.x,8.X,9.x版本均可
4.硬件环境windows7/8/10 4G内存以上或者Mac OS;
5.是否Maven项目是查看源码目录中是否包含pom.xml;若包含则为maven项目否则为非maven.项目
6.数据库MySql5.7/8.0等版本均可
技术栈
项目运行环境mysql5.7 idea2020.3 windows10 maven MySQL
服务端技术选型SpringBoot MybatisPlus MySQL
前端视图模板及js库Thymeleaf bootstrap jQuery
使用说明
1.使用Navicati或者其它工具在mysql中创建对应sq文件名称的数据库并导入项目的sql文件
2.使用IDEA/Eclipse/MyEclipse导入项目修改配置运行项目
3.将项目中config-propertiesi配置文件中的数据库配置改为自己的配置然后运行
运行指导
idea导入源码空间站顶目教程说明(Vindows版)-ssm篇
http://mtw.so/5MHvZq
源码看好后直接在网站付款下单即可付款成功会自动弹出百度网盘链接网站地址http://codegym.top。
其它问题请关注公众号IT小舟,关注后发送消息即可都会给您回复的。若没有及时回复请耐心等待通常当天会有回复
运行截图
前端界面
登录页面 管理员 读者 代码
LoginCheckFilter
package com.xunmaw.book.filter;import com.xunmaw.book.entity.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.util.AntPathMatcher;import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** 检查用户是否已经完成登录*/
Order(1)
WebFilter(filterName loginCheckFilter,urlPatterns /*)
Slf4j
public class LoginCheckFilter implements Filter{//路径匹配器支持通配符public static final AntPathMatcher PATH_MATCHER new AntPathMatcher();Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println(过滤器生效.........);HttpServletRequest request (HttpServletRequest) servletRequest;HttpServletResponse response (HttpServletResponse) servletResponse;//1、获取本次请求的URIString requestURI request.getRequestURI();// /backend/index.htmllog.info(拦截到请求{},requestURI);//定义不需要处理的请求路径String[] urls new String[]{//登录需要用到的路径/static/js/**,/static/css/**,/static/images/**,/static/js/**,/login,/index,/login.html,/,};//2、判断本次请求是否需要处理boolean check check(urls, requestURI);//3、如果不需要处理则直接放行if(check){log.info(本次请求{}不需要处理,requestURI);filterChain.doFilter(request,response);return;}//4-2、判断登录状态如果已登录则直接放行if(request.getSession().getAttribute(LoginSuccess) ! null){log.info(用户已登录用户为{},request.getSession().getAttribute(LoginSuccess));User user (User) request.getSession().getAttribute(LoginSuccess);Long userId user.getId().longValue();BaseContext.setCurrentId(userId);filterChain.doFilter(request,response);return;}log.info(用户未登录);request.setAttribute(UnLogin,用户未登录);//5、如果未登录则回退到登陆界面request.getRequestDispatcher(/).forward(request,response);return;}/*** 路径匹配检查本次请求是否需要放行* param urls* param requestURI* return*/public boolean check(String[] urls,String requestURI){for (String url : urls) {boolean match PATH_MATCHER.match(url, requestURI);if(match){return true;}}return false;}
}