基于javaweb的SpringBoot共享自习室管理系统(java+springboot+thymeleaf+html+maven+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

020023302402

040023302402

050023302402

060023302402

070023302402

080023302402

基于javaweb的SpringBoot共享自习室管理系统(java+springboot+thymeleaf+html+maven+mysql)

项目介绍

项目主要功能包括: 数据分析:柱状图分析、折线图分析、统计数据等,每10秒自动刷新 用户管理:用户信息管理、用户投诉管理、投诉反馈信息、黑名单管理; 座位管理:实时座位管理、座位使用预约记录,由管理员进行用户的座位预约操作; 密码管理:重置密码;

环境需要

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

技术栈

  1. 后端:SpringBoot+Mybatis

  2. 前端:Thymeleaf+HTML+CSS+LayUI+bootstrap

使用说明
运行项目,输入localhost:8080/index.html 登录 管理员:zfx1232  密码:123456

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
@RequestMapping("/checkAddTel")
@ResponseBody
public Msg checkAddTel(@RequestParam(value = "usertel")String userTel1) {
String userTel = userTel1.trim();
String regex = "(^1\\d{10}$)";
boolean matches = userTel.matches(regex);
if(matches == true){
return Msg.success().add("va_msg","");
}else{
return Msg.fail().add("va_msg","手机号必须以1开头,11位的数字!");
}
}
/*校验年龄码格式*/
@RequestMapping("/checkAddAge")
@ResponseBody
public Msg checkAddAge(@RequestParam(value = "userage")Integer userAge1) {
String s = userAge1.toString();
String userTel = s.trim();
String regex = "(^\\d{1,3}$)";
boolean matches = userTel.matches(regex);
if(matches == true){
return Msg.success().add("va_msg","");
}else{
return Msg.fail().add("va_msg","请输入数字");
}
}
/*校验密码格式*/
@RequestMapping("/checkAddPwd")
@ResponseBody
public Msg checkAddPwd(@RequestParam(value = "userpwd")String userPwd1) {
String userPwd = userPwd1.trim();
String regex = "(^[a-zA-Z0-9_-]{6,16}$)";
boolean matches = userPwd.matches(regex);
if(matches == true){
return Msg.success().add("va_msg","");
}else{
return Msg.fail().add("va_msg","密码格式不正确:必须超过6位,小于16位的英文和数字!");
}
}
/****************************************************插入*********
* 点击保存按钮,新增用户
* */
@PostMapping("/insertUser")
@ResponseBody
public Msg insertUser(User user){
user.setUserid(null);
userService.insertUser(user);
return Msg.success().add("va_msg","插入成功!");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
        PageInfo<SeatResver> page=new PageInfo<SeatResver>(all,5);
return Msg.success().add("pageInfo",page);
}

/*
* 模糊查询,seatid
* */
@GetMapping("/querySeatlike/{seatid}")
@ResponseBody
public Msg getSeatResver(@PathVariable("seatid") Integer seatid
,@RequestParam(value = "pn",defaultValue = "1")Integer pn){
PageHelper.startPage(pn,20);
List<SeatResver> all = seatResverService.getSeatAll(seatid);
PageInfo<SeatResver> page=new PageInfo<SeatResver>(all,5);
return Msg.success().add("pageInfo",page);
}
}
package com.zfx.controller;



@Controller
public class ComplainController {

@Autowired
ComplainServiceImpl complainService;

//来到投诉页面
@RequestMapping("/toComplain")
public String toComplainPage(Map<String,Object> map){
List<Complain> complains = complainService.getAll();
map.put("cps",complains);
return "Complain";
}
//AJAX通过请求返回投诉列表
@GetMapping("/complainList")
@ResponseBody
public Msg ComplainData(@RequestParam(value = "pn",defaultValue = "1")Integer pn){
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
    //用户删除
@DeleteMapping("/deleteUser/{userid}")
@ResponseBody
public Msg deleteEmployee(@PathVariable("userid") Integer userid){
boolean b = userService.deleteUser(userid);
if (b){
return Msg.success().add("va_msg","用户删除成功!");
}else {
return Msg.fail().add("va_msg","用户删除失败!");
}
}

/*
* 前端ajax请求,查询userid是否在表中存在
* */
@GetMapping("/checkUserID")
@ResponseBody
public Msg checkUserID(@RequestParam("userid") Integer userid){
boolean b = userService.checkUserID(userid);
if(b){
return Msg.success().add("va_msg","用户名存在!");
}else {
return Msg.fail().add("va_msg","用户名不存在,重新输入!");
}
}
}
package com.zfx.controller;



@Controller
public class SeatuseController {
@Autowired
SeatuseServiceImpl seatuseService;

/*
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
    }
}

/*resetpwd
* 点击确认修改密码并且返回登陆页面*/
@PutMapping("/resetpwd")
public String backLogin(@RequestParam("managername") String managername1,
@RequestParam("managerpwd") String managerpwd1,
Map<String,Object> map){
String managername = managername1.trim();
String managerpwd = managerpwd1.trim();
if (managername != "" && managerpwd != ""){
boolean tel = managerService.checkManagerName(managername);
if(tel == true){
map.put("msg","账号不存在,请重新输入!");
return "ForgotPassword";
}else {
int i = managerService.updateUserPwd(managername,managerpwd);
map.put("msg","reset success!");
if(i>0){
return "redirect:/share.html";
}else {
return "ForgotPassword";
}
}
}else {
map.put("msg","账号或新密码为空,请输入!");
return "ForgotPassword";
}
}
@PutMapping("/resetpwd2")
public String backLogin2(@RequestParam("managername") String managername1,
@RequestParam("managerpwd") String managerpwd1,
Map<String,Object> map){
String managername = managername1.trim();
String managerpwd = managerpwd1.trim();
if (managername != "" && managerpwd != ""){
boolean tel = managerService.checkManagerName(managername);
if(tel == true){
map.put("msg","账号不存在,请重新输入!");
return "ForgotPassword2";
}else {
int i = managerService.updateUserPwd(managername,managerpwd);
map.put("msg","reset success!");
if(i>0){
return "redirect:/forgotPwd2";
}else {
return "ForgotPassword2";
}
}
}else {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    }
@PutMapping("/resetpwd2")
public String backLogin2(@RequestParam("managername") String managername1,
@RequestParam("managerpwd") String managerpwd1,
Map<String,Object> map){
String managername = managername1.trim();
String managerpwd = managerpwd1.trim();
if (managername != "" && managerpwd != ""){
boolean tel = managerService.checkManagerName(managername);
if(tel == true){
map.put("msg","账号不存在,请重新输入!");
return "ForgotPassword2";
}else {
int i = managerService.updateUserPwd(managername,managerpwd);
map.put("msg","reset success!");
if(i>0){
return "redirect:/forgotPwd2";
}else {
return "ForgotPassword2";
}
}
}else {
map.put("msg","账号或新密码为空,请输入!");
return "ForgotPassword2";
}
}

}
package com.zfx.controller;


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
public Msg checkLoginManagerPwd(@RequestParam("managerpwd") String managerpwd1){
String managerpwd = managerpwd1.trim();
String regex = "(^[a-zA-Z0-9_-]{6,16}$)";
boolean matches = managerpwd.matches(regex);
if(matches == true){
return Msg.success().add("va_msg"," ");
}else{
return Msg.fail().add("va_msg","密码格式不正确:必须超过6位,小于16位!");
}
}
//注册检查密码
@GetMapping("/checkManagerPwd")
@ResponseBody
public Msg checkManagerPwd(@RequestParam("managerpwd") String managerpwd1){
String managerpwd = managerpwd1.trim();
String regex = "(^[a-zA-Z0-9_-]{6,16}$)";
boolean matches = managerpwd.matches(regex);
if(matches == true){
return Msg.success().add("va_msg"," ");
}else{
return Msg.fail().add("va_msg","密码格式不正确:必须超过6位,小于16位!");
}
}

/*新增管理员
**/
@PostMapping("/registerManager")
public String registerManger(Manager manager,Map<String,Object> map){
manager.setManagerid(null);
boolean flag = managerService.createManager(manager);
if(flag == true){
map.put("msg","插入成功!");
return "redirect:share.html";
}else{
map.put("msg","插入失败!");
return "Register";
}
}

//点击进入按钮校验用户名和密码是否正确
@PostMapping("/loginD")
public String loginDashboard(@RequestParam("managername") String managername1,
@RequestParam("managerpwd") String managerpwd1,
Map<String,Object> map, HttpSession session){


项目链接:
https://javayms.github.io?id=511422302105200hb
https://javayms.pages.dev?id=511422302105200hb