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

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

071923040309

081923040309

101923040309

111923040309

121923040309

131923040309

141923040309

151923040309

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

管理员
admin 123456

学生
student 123456

注:【学生入住管理-学生入住登记】的姓名需要与【系统管理-添加用户】的姓名一致,学生登录后才能关联到他的详细信息

JAVA-Web实现的学生宿舍管理系统

学生宿舍管理系统旨在开发出一个方便管理员与学生使用的信息系统。

通过本系统可以实现

管理员对学生信息的增删查改、对卫生信息的登记与查看、对综合宿舍信息的增删查改、对宿舍维修状况的整体把握与处理;

同时学生也可使用本系统进行查看与修改个人信息、维修报修、查看卫生评比等操作。

本项目使用 Java 做为Servlet端语言,MySQL作为数据库,使用JSP技术实现动态网页的制作,以Tomcat 9.0作为服务器,页面之间通过重定向技术实现通信。HTTP协议是无连接的,我们使用Session来保持用户的登陆状态,在页面跳转时不丢失信息;对每一个页面分别建立一个Servlet进行表单处理;对所有数据库的实例对象建立一个Dao.Factory类,所有页面通过调用Dao.Factory来创建数据库的后台实例,通过实现Dao接口来进行数据库链接。

数据库使用Mysql,连接端口等可根据自己情况更改。

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
String number=request.getParameter("dorNumber");
String bed=request.getParameter("dorBed");
String emptybeds=request.getParameter("dorEmptybeds");
String type=request.getParameter("dorType");
ResultSet rs=DaoFactory.getDormitoryInstance().query(section1, section2, number, bed, emptybeds, type);
int[] sumInfo1=DaoFactory.getDormitoryInstance().sumInfo1(section1, section2, number, bed, emptybeds, type);
StringBuffer sb=new StringBuffer();
try {
while(rs.next())
{
String id=rs.getString("do_id");
sb.append("<tr><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(id);
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_section"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_number"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_bed"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_emptybeds"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_type"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_water"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_elec"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_remark"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE4'>");
sb.append("<a href='updateDormitory.jsp?id="+id+"'><button name='btn_update' type='button' class='btn_update'>编辑</button></a>");
sb.append("&nbsp;");
sb.append("<a href='../DeleteDorServlet?id="+id+"'><button name='btn_delete' type='button' class='btn_delete'>删除</button></a>");
sb.append("</span></div></td></tr>");
}
rs.close();
sb.append("<tr><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append("合计");
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append("");
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append("");
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(String.valueOf(sumInfo1[0]));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(String.valueOf(sumInfo1[1]));
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



/**
* Servlet implementation class UpdateServlet
*/
@WebServlet("/UpdateServlet")
public class UpdateServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public UpdateServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
HttpSession session=request.getSession();
String usernameStr=session.getAttribute("name").toString();
String nameStr=request.getParameter("updateName");
String phoneStr=request.getParameter("updatePhone");
if(DaoFactory.getAdminInstance().update(usernameStr,nameStr,phoneStr)>0)
{
String typeStr=request.getParameter("key");
String keywordStr=request.getParameter("value");
ResultSet rs=DaoFactory.getAdminInstance().query(typeStr, keywordStr);
StringBuffer sb=new StringBuffer();
try {
while(rs.next())
{
String username=rs.getString("ad_username");
sb.append("<tr><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(username);
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("ad_usertype"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("ad_name"));
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



/**
* Servlet implementation class UpdateHelServlet
*/
@WebServlet("/UpdateHelServlet")
public class UpdateHelServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public UpdateHelServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
HttpSession session=request.getSession();
int did=Integer.parseInt(session.getAttribute("id").toString());
String section=request.getParameter("dorSection1")+request.getParameter("dorSection2");
int number=Integer.parseInt(request.getParameter("upNumber"));
String person=request.getParameter("upPerson");
String result=request.getParameter("upResult");
String date=request.getParameter("upDate");
String remark=request.getParameter("upRemark");
if(DaoFactory.getHealthInstance().update(did, section, number, person, result, date, remark)>0)
{
ResultSet rs=DaoFactory.getHealthInstance().queryAll();
int[] sumInfo=DaoFactory.getHealthInstance().sumInfo();
StringBuffer sb=new StringBuffer();
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
response.setContentType("text/html;charset=utf-8");
String section1=request.getParameter("dorSection1");
String section2=request.getParameter("dorSection2");
String number=request.getParameter("dorNumber");
String bed=request.getParameter("dorBed");
String emptybeds=request.getParameter("dorEmptybeds");
String type=request.getParameter("dorType");
ResultSet rs=DaoFactory.getDormitoryInstance().query(section1, section2, number, bed, emptybeds, type);
int[] sumInfo1=DaoFactory.getDormitoryInstance().sumInfo1(section1, section2, number, bed, emptybeds, type);
StringBuffer sb=new StringBuffer();
try {
while(rs.next())
{
String id=rs.getString("do_id");
sb.append("<tr><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(id);
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_section"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_number"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_bed"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_emptybeds"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_type"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_water"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_elec"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_remark"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE4'>");
sb.append("<a href='updateDormitory.jsp?id="+id+"'><button name='btn_update' type='button' class='btn_update'>编辑</button></a>");
sb.append("&nbsp;");
sb.append("<a href='../DeleteDorServlet?id="+id+"'><button name='btn_delete' type='button' class='btn_delete'>删除</button></a>");
sb.append("</span></div></td></tr>");
}
rs.close();
sb.append("<tr><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append("合计");
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append("");
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append("");
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(String.valueOf(sumInfo1[0]));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(String.valueOf(sumInfo1[1]));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append("");
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
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
	// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
ResultSet rs=DaoFactory.getRepairsmanInstance().queryAll1();
StringBuffer sb=new StringBuffer();
try {
while(rs.next())
{
String id=rs.getString("re_id");
sb.append("<tr><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(id);
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_section"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("do_number"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("re_item"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("re_date"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("re_reason"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("re_name"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("re_phone"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("re_remark"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("rm_name"));
sb.append("</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE2'>");
sb.append(rs.getString("rm_phone"));
sb.append("</span></div></td></tr>");
}
rs.close();
}catch(SQLException e) {
e.printStackTrace();
}
HttpSession session=request.getSession();
session.setAttribute("query", sb);
response.sendRedirect("Admin/repairsInfo.jsp");
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


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