基于javaweb的JSP+Servlet宿舍管理系统(超级管理员、宿舍管理员、学生)(java+jsp+servlet+javabean+mysql+tomcat)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

超级管理员:登录退出、宿舍管理员管理、学生管理、宿舍楼管理、缺勤管理、修改密码

宿舍管理员:登录退出、学生管理、缺勤管理

学生:登录退出、缺勤查看

550123132502

超级管理员

430123132502

440123132502

450123132502

460123132502

470123132502

480123132502

490123132502

宿舍管理员

510123132502

500123132502

学生

530123132502

540123132502

技术框架

JSP Servlet MySQL JDBC Tomcat CSS JavaScript

基于javaweb的JSP+Servlet宿舍管理系统(超级管理员、宿舍管理员、学生)(java+jsp+servlet+javabean+mysql+tomcat)

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
if(action != null & action.equals("list")) {
//查询缺勤记录并展示
Integer roleId = userCurr.getRoleId();
List<DormBuild> builds = new ArrayList<DormBuild>();
if(roleId.equals(0)) {
//如当前用户是超级管理员,他能将学生添加到所有的宿舍楼,查询所有宿舍楼
builds = buildService.findAll();
}else if(roleId.equals(1)) {
//如当前用户 为宿舍管理员,他只能添加学生到其管理的宿舍楼
builds = buildService.findByUserId(userCurr.getId());
}
System.out.println("builds:"+builds);
request.setAttribute("builds", builds);

String startDate = request.getParameter("startDate");
String endDate = request.getParameter("endDate");
String dormBuildId = request.getParameter("dormBuildId");
String searchType = request.getParameter("searchType");
String keyword = request.getParameter("keyword");
String pageIndex = request.getParameter("pageIndex");
System.out.println("startDate:"+startDate+" endDate:"+endDate+" dormBuildId:"+dormBuildId+
" searchType:"+searchType+" keyword:"+keyword+" pageIndex:"+pageIndex);

//默认查询第一页,需两个参数,当前页码pageIndex,每页展示的条数
PageModel pageModel = new PageModel();
if(pageIndex != null && !pageIndex.equals("")) {
pageModel.setPageIndex(Integer.parseInt(pageIndex));
}

//分页查询考勤记录
List<Record> records = recordService.findRecords(startDate,endDate,dormBuildId,
searchType,keyword,userCurr,pageModel);
System.out.println("records:"+records);

//获取查询结果总数
Integer totalNum = recordService.getToTalNum(startDate,endDate,dormBuildId,
searchType,keyword,userCurr);
System.out.println("totalNum:"+totalNum);

request.setAttribute("totalNum", totalNum);
request.setAttribute("startDate", startDate);
request.setAttribute("endDate", endDate);
request.setAttribute("dormBuildId", dormBuildId);
request.setAttribute("searchType", searchType);
request.setAttribute("keyword", keyword);
request.setAttribute("pageIndex", pageModel.getPageIndex());
request.setAttribute("records", records);
request.setAttribute("mainRight", "/WEB-INF/jsp/recordList.jsp");
request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);

}else if(action != null && action.equals("preAdd")) {
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
request.setAttribute("builds", builds);


if(action != null & action.equals("list")) {
//查询学生在右侧展示
String dormBuildId = request.getParameter("dormBuildId");
String searchType = request.getParameter("searchType");
String keyword = request.getParameter("keyword");
//当前要查询的页面
String pageIndex = request.getParameter("pageIndex");
System.out.println("dormBuildId:"+dormBuildId+" searchType:"+searchType+" keyword:"+keyword);

//默认查询第一页,需两个参数,当前页码pageIndex,每页展示的条数
PageModel pageModel = new PageModel();
if(pageIndex != null && !pageIndex.equals("")) {
pageModel.setPageIndex(Integer.parseInt(pageIndex));
}
List<User> students = userService.findStudent(dormBuildId,searchType,keyword,user,pageModel);
//获取查询处理的总数量
Integer totalNum = userService.findTotalNum(dormBuildId,searchType,keyword,user);
System.out.println("totalNum:"+totalNum);
System.out.println("students:"+students);

request.setAttribute("totalNum", totalNum);
request.setAttribute("pageIndex", pageModel.getPageIndex());
request.setAttribute("dormBuildId", dormBuildId);
request.setAttribute("searchType", searchType);
request.setAttribute("keyword", keyword);
request.setAttribute("students", students);
request.setAttribute("mainRight", "/WEB-INF/jsp/studentList.jsp");
request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);

}else if(action != null & action.equals("preAdd")) {
//根据用户角色查询宿舍楼进行添加学生,
//如当前用户 为宿舍管理员,他只能添加学生到其管理的宿舍楼

//跳转到学生的添加页面
request.setAttribute("mainRight", "/WEB-INF/jsp/studentAddOrUpdate.jsp");
request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);

}else if(action != null & action.equals("save")) {
//保存学生
String stuCode = request.getParameter("stuCode");
String name = request.getParameter("name");
String sex = request.getParameter("sex");
String tel = request.getParameter("tel");
String passWord = request.getParameter("passWord");
String dormBuildId= request.getParameter("dormBuildId");
String dormCode = request.getParameter("dormCode");
System.out.println("stuCode:"+stuCode+" name:"+name+" sex:"+sex+
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
			System.out.println("user:"+user);

List<Integer> userBuildids = new ArrayList<>();
//遍历当前宿舍管理员管理的所有宿舍,获取当时当前宿舍管理员管理的所有宿舍ID
for (DormBuild userBuild : userBuilds) {
userBuildids.add(userBuild.getId());
}


request.setAttribute("userBuildids", userBuildids);
request.setAttribute("user", user);
request.setAttribute("mainRight", "dormManagerAddOrUpdate.jsp");
request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);
}else if(action != null & action.equals("deleteOrAcive")) {
//删除或激活
String disabled =request.getParameter("disabled");

//通过宿舍管理员ID获取宿舍管理员
User user = userService.findById(Integer.parseInt(id));
user.setDisabled(Integer.parseInt(disabled));
userService.updateManager(user);

//跳转到宿舍管理员列表页,查看所有的宿舍管理员
//重定向,请求链断开,不能在下一个servlet或jsp中获取保存在request中的参数
response.sendRedirect(getServletContext().getContextPath()+"/dormManager.action?action=list");
}
}

}
package com.demo.util;




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
52
53
54

//获取当前登录的用户
User user = (User) request.getSession().getAttribute("session_user");
Integer roleId = user.getRoleId();

DormBuildService buildService = new DormBuildServiceImpl();
UserService userService = new UserServiceImpl();

List<DormBuild> builds = new ArrayList<DormBuild>();
if(roleId.equals(0)) {
//如当前用户是超级管理员,他能将学生添加到所有的宿舍楼,查询所有宿舍楼
builds = buildService.findAll();
}else if(roleId.equals(1)) {
//如当前用户 为宿舍管理员,他只能添加学生到其管理的宿舍楼
builds = buildService.findByUserId(user.getId());
}
System.out.println("builds:"+builds);
request.setAttribute("builds", builds);


if(action != null & action.equals("list")) {
//查询学生在右侧展示
String dormBuildId = request.getParameter("dormBuildId");
String searchType = request.getParameter("searchType");
String keyword = request.getParameter("keyword");
//当前要查询的页面
String pageIndex = request.getParameter("pageIndex");
System.out.println("dormBuildId:"+dormBuildId+" searchType:"+searchType+" keyword:"+keyword);

//默认查询第一页,需两个参数,当前页码pageIndex,每页展示的条数
PageModel pageModel = new PageModel();
if(pageIndex != null && !pageIndex.equals("")) {
pageModel.setPageIndex(Integer.parseInt(pageIndex));
}
List<User> students = userService.findStudent(dormBuildId,searchType,keyword,user,pageModel);
//获取查询处理的总数量
Integer totalNum = userService.findTotalNum(dormBuildId,searchType,keyword,user);
System.out.println("totalNum:"+totalNum);
System.out.println("students:"+students);

request.setAttribute("totalNum", totalNum);
request.setAttribute("pageIndex", pageModel.getPageIndex());
request.setAttribute("dormBuildId", dormBuildId);
request.setAttribute("searchType", searchType);
request.setAttribute("keyword", keyword);
request.setAttribute("students", students);
request.setAttribute("mainRight", "/WEB-INF/jsp/studentList.jsp");
request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);

}else if(action != null & action.equals("preAdd")) {
//根据用户角色查询宿舍楼进行添加学生,
//如当前用户 为宿舍管理员,他只能添加学生到其管理的宿舍楼

//跳转到学生的添加页面
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
	builds =  buildService.findByUserId(user.getId());
}
System.out.println("builds:"+builds);
request.setAttribute("builds", builds);


if(action != null & action.equals("list")) {
//查询学生在右侧展示
String dormBuildId = request.getParameter("dormBuildId");
String searchType = request.getParameter("searchType");
String keyword = request.getParameter("keyword");
//当前要查询的页面
String pageIndex = request.getParameter("pageIndex");
System.out.println("dormBuildId:"+dormBuildId+" searchType:"+searchType+" keyword:"+keyword);

//默认查询第一页,需两个参数,当前页码pageIndex,每页展示的条数
PageModel pageModel = new PageModel();
if(pageIndex != null && !pageIndex.equals("")) {
pageModel.setPageIndex(Integer.parseInt(pageIndex));
}
List<User> students = userService.findStudent(dormBuildId,searchType,keyword,user,pageModel);
//获取查询处理的总数量
Integer totalNum = userService.findTotalNum(dormBuildId,searchType,keyword,user);
System.out.println("totalNum:"+totalNum);
System.out.println("students:"+students);

request.setAttribute("totalNum", totalNum);
request.setAttribute("pageIndex", pageModel.getPageIndex());
request.setAttribute("dormBuildId", dormBuildId);
request.setAttribute("searchType", searchType);
request.setAttribute("keyword", keyword);
request.setAttribute("students", students);
request.setAttribute("mainRight", "/WEB-INF/jsp/studentList.jsp");
request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);

}else if(action != null & action.equals("preAdd")) {
//根据用户角色查询宿舍楼进行添加学生,
//如当前用户 为宿舍管理员,他只能添加学生到其管理的宿舍楼

//跳转到学生的添加页面
request.setAttribute("mainRight", "/WEB-INF/jsp/studentAddOrUpdate.jsp");
request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);


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