项目编号:BS-GX-033
开发技术:
后台:jsp+servlet+jdbc
前台:jsp+bootstrap
运行环境:
数据库:mysql5.7
JDK: 1.8
Maven: 3.9
开发工具:IDEA /Eclipse
本系统基于jsp实现了一个宿舍管理系统,功能完整,界面美观大方,交互简洁方便,比较适合做毕业设计使用。主要分为三个角色用户:管理员,宿舍管理员,学生
系统管理员:用户管理、宿舍楼管理、楼管管理、缺勤管理。
宿舍管理员主要包括:
缺勤管理、学生管理
学生主要包括:缺勤查看
系统 主要实现功能界面展示如下:
编辑
管理员登陆
编辑
学生管理
编辑
宿舍楼管理
编辑
缺勤管理
编辑
宿舍管理员登陆
编辑
缺勤管理
编辑
学生登陆系统
编辑
核心实现代码如下:
package com.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; @WebServlet(name = "BlankServlet") public class BlankServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(); Object currentUserType = session.getAttribute("currentUserType"); if("admin".equals((String)currentUserType)) { request.setAttribute("mainPage", "admin/blank.jsp"); request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); } else if("dormManager".equals((String)currentUserType)) { request.setAttribute("mainPage", "dormManager/blank.jsp"); request.getRequestDispatcher("mainManager.jsp").forward(request, response); } else if("student".equals((String)currentUserType)) { request.setAttribute("mainPage", "student/blank.jsp"); request.getRequestDispatcher("mainStudent.jsp").forward(request, response); } } }
package com.servlet; import java.io.IOException; import java.sql.Connection; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.dao.DormBuildDao; import com.model.DormBuild; import com.model.DormManager; import com.model.PageBean; import com.util.DbUtil; import com.util.StringUtil; @WebServlet(name = "DormBuildServlet") public class DormBuildServlet extends HttpServlet { DbUtil dbUtil = new DbUtil(); DormBuildDao dormBuildDao = new DormBuildDao(); @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); HttpSession session = request.getSession(); String s_dormBuildName = request.getParameter("s_dormBuildName"); String page = request.getParameter("page"); String action = request.getParameter("action"); DormBuild dormBuild = new DormBuild(); if("preSave".equals(action)) { dormBuildPreSave(request, response); return; } else if("save".equals(action)){ dormBuildSave(request, response); return; } else if("delete".equals(action)){ dormBuildDelete(request, response); return; } else if("manager".equals(action)){ dormBuildManager(request, response); return; } else if("addManager".equals(action)){ dormBuildAddManager(request, response); } else if("move".equals(action)){ managerMove(request, response); } else if("list".equals(action)) { if(StringUtil.isNotEmpty(s_dormBuildName)) { dormBuild.setDormBuildName(s_dormBuildName); } session.removeAttribute("s_dormBuildName"); request.setAttribute("s_dormBuildName", s_dormBuildName); } else if("search".equals(action)){ if(StringUtil.isNotEmpty(s_dormBuildName)) { dormBuild.setDormBuildName(s_dormBuildName); session.setAttribute("s_dormBuildName", s_dormBuildName); }else { session.removeAttribute("s_dormBuildName"); } } else { if(StringUtil.isNotEmpty(s_dormBuildName)) { dormBuild.setDormBuildName(s_dormBuildName); session.setAttribute("s_dormBuildName", s_dormBuildName); } if(StringUtil.isEmpty(s_dormBuildName)) { Object o = session.getAttribute("s_dormBuildName"); if(o!=null) { dormBuild.setDormBuildName((String)o); } } } if(StringUtil.isEmpty(page)) { page="1"; } Connection con = null; PageBean pageBean = new PageBean(Integer.parseInt(page), 5); request.setAttribute("pageSize", pageBean.getPageSize()); request.setAttribute("page", pageBean.getPage()); try { con=dbUtil.getCon(); List<DormBuild> dormBuildList = dormBuildDao.dormBuildList(con, pageBean, dormBuild); int total=dormBuildDao.dormBuildCount(con, dormBuild); String pageCode = this.genPagation(total, Integer.parseInt(page), 5); request.setAttribute("pageCode", pageCode); request.setAttribute("dormBuildList", dormBuildList); request.setAttribute("mainPage", "admin/dormBuild.jsp"); request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); } catch (Exception e) { e.printStackTrace(); } finally { try { dbUtil.closeCon(con); } catch (Exception e) { e.printStackTrace(); } } } private void managerMove(HttpServletRequest request, HttpServletResponse response) { String dormBuildId = request.getParameter("dormBuildId"); String dormManagerId = request.getParameter("dormManagerId"); Connection con = null; try { con = dbUtil.getCon(); dormBuildDao.managerUpdateWithId(con, dormManagerId, "0"); request.getRequestDispatcher("dormBuild?action=manager&dormBuildId="+dormBuildId).forward(request, response); } catch (Exception e) { e.printStackTrace(); } } private void dormBuildAddManager(HttpServletRequest request, HttpServletResponse response) { String dormBuildId = request.getParameter("dormBuildId"); String dormManagerId = request.getParameter("dormManagerId"); Connection con = null; try { con = dbUtil.getCon(); dormBuildDao.managerUpdateWithId(con, dormManagerId, dormBuildId); request.getRequestDispatcher("dormBuild?action=manager&dormBuildId="+dormBuildId).forward(request, response); } catch (Exception e) { e.printStackTrace(); } } private void dormBuildManager(HttpServletRequest request, HttpServletResponse response) { String dormBuildId = request.getParameter("dormBuildId"); Connection con = null; try { con = dbUtil.getCon(); List<DormManager> managerListWithId = dormBuildDao.dormManWithBuildId(con, dormBuildId); List<DormManager> managerListToSelect = dormBuildDao.dormManWithoutBuild(con); request.setAttribute("dormBuildId", dormBuildId); request.setAttribute("managerListWithId", managerListWithId); request.setAttribute("managerListToSelect", managerListToSelect); request.setAttribute("mainPage", "admin/selectManager.jsp"); request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); } catch (Exception e) { e.printStackTrace(); } } private void dormBuildDelete(HttpServletRequest request, HttpServletResponse response) { String dormBuildId = request.getParameter("dormBuildId"); Connection con = null; try { con = dbUtil.getCon(); if(dormBuildDao.existManOrDormWithId(con, dormBuildId)) { request.setAttribute("error", "宿舍楼下有宿舍或宿管,不能删除该宿舍楼"); } else { dormBuildDao.dormBuildDelete(con, dormBuildId); } request.getRequestDispatcher("dormBuild?action=list").forward(request, response); } catch (Exception e) { e.printStackTrace(); } finally { try { dbUtil.closeCon(con); } catch (Exception e) { e.printStackTrace(); } } } private void dormBuildSave(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { String dormBuildId = request.getParameter("dormBuildId"); String dormBuildName = request.getParameter("dormBuildName"); String detail = request.getParameter("detail"); DormBuild dormBuild = new DormBuild(dormBuildName, detail); if(StringUtil.isNotEmpty(dormBuildId)) { dormBuild.setDormBuildId(Integer.parseInt(dormBuildId)); } Connection con = null; try { con = dbUtil.getCon(); int saveNum = 0; if(StringUtil.isNotEmpty(dormBuildId)) { saveNum = dormBuildDao.dormBuildUpdate(con, dormBuild); } else { saveNum = dormBuildDao.dormBuildAdd(con, dormBuild); } if(saveNum > 0) { request.getRequestDispatcher("dormBuild?action=list").forward(request, response); } else { request.setAttribute("dormBuild", dormBuild); request.setAttribute("error", "保存失败"); request.setAttribute("mainPage", "dormBuild/dormBuildSave.jsp"); request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); } } catch (Exception e) { e.printStackTrace(); } finally { try { dbUtil.closeCon(con); } catch (Exception e) { e.printStackTrace(); } } } private void dormBuildPreSave(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { String dormBuildId = request.getParameter("dormBuildId"); if(StringUtil.isNotEmpty(dormBuildId)) { Connection con = null; try { con = dbUtil.getCon(); DormBuild dormBuild = dormBuildDao.dormBuildShow(con, dormBuildId); request.setAttribute("dormBuild", dormBuild); } catch (Exception e) { e.printStackTrace(); } finally { try { dbUtil.closeCon(con); } catch (Exception e) { e.printStackTrace(); } } } request.setAttribute("mainPage", "admin/dormBuildSave.jsp"); request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); } private String genPagation(int totalNum, int currentPage, int pageSize){ int totalPage = totalNum%pageSize==0?totalNum/pageSize:totalNum/pageSize+1; StringBuffer pageCode = new StringBuffer(); pageCode.append("<li><a href='dormBuild?page=1'>首页</a></li>"); if(currentPage==1) { pageCode.append("<li class='disabled'><a href='#'>上一页</a></li>"); }else { pageCode.append("<li><a href='dormBuild?page="+(currentPage-1)+"'>上一页</a></li>"); } for(int i=currentPage-2;i<=currentPage+2;i++) { if(i<1||i>totalPage) { continue; } if(i==currentPage) { pageCode.append("<li class='active'><a href='#'>"+i+"</a></li>"); } else { pageCode.append("<li><a href='dormBuild?page="+i+"'>"+i+"</a></li>"); } } if(currentPage==totalPage) { pageCode.append("<li class='disabled'><a href='#'>下一页</a></li>"); } else { pageCode.append("<li><a href='dormBuild?page="+(currentPage+1)+"'>下一页</a></li>"); } pageCode.append("<li><a href='dormBuild?page="+totalPage+"'>尾页</a></li>"); return pageCode.toString(); } }
package com.servlet; import java.io.IOException; import java.sql.Connection; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.dao.DormManagerDao; import com.model.DormManager; import com.model.PageBean; import com.util.DbUtil; import com.util.StringUtil; @WebServlet(name = "DormManagerServlet") public class DormManagerServlet extends HttpServlet { DbUtil dbUtil = new DbUtil(); DormManagerDao dormManagerDao = new DormManagerDao(); @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); HttpSession session = request.getSession(); String s_dormManagerText = request.getParameter("s_dormManagerText"); String searchType = request.getParameter("searchType"); String page = request.getParameter("page"); String action = request.getParameter("action"); DormManager dormManager = new DormManager(); if("preSave".equals(action)) { dormManagerPreSave(request, response); return; } else if("save".equals(action)){ dormManagerSave(request, response); return; } else if("delete".equals(action)){ dormManagerDelete(request, response); return; } else if("list".equals(action)) { if(StringUtil.isNotEmpty(s_dormManagerText)) { if("name".equals(searchType)) { dormManager.setName(s_dormManagerText); } else if("userName".equals(searchType)) { dormManager.setUserName(s_dormManagerText); } } session.removeAttribute("s_dormManagerText"); session.removeAttribute("searchType"); request.setAttribute("s_dormManagerText", s_dormManagerText); request.setAttribute("searchType", searchType); } else if("search".equals(action)){ if (StringUtil.isNotEmpty(s_dormManagerText)) { if ("name".equals(searchType)) { dormManager.setName(s_dormManagerText); } else if ("userName".equals(searchType)) { dormManager.setUserName(s_dormManagerText); } session.setAttribute("searchType", searchType); session.setAttribute("s_dormManagerText", s_dormManagerText); } else { session.removeAttribute("s_dormManagerText"); session.removeAttribute("searchType"); } } else { if(StringUtil.isNotEmpty(s_dormManagerText)) { if("name".equals(searchType)) { dormManager.setName(s_dormManagerText); } else if("userName".equals(searchType)) { dormManager.setUserName(s_dormManagerText); } session.setAttribute("searchType", searchType); session.setAttribute("s_dormManagerText", s_dormManagerText); } if(StringUtil.isEmpty(s_dormManagerText)) { Object o1 = session.getAttribute("s_dormManagerText"); Object o2 = session.getAttribute("searchType"); if(o1!=null) { if("name".equals((String)o2)) { dormManager.setName((String)o1); } else if("userName".equals((String)o2)) { dormManager.setUserName((String)o1); } } } } if(StringUtil.isEmpty(page)) { page="1"; } Connection con = null; PageBean pageBean = new PageBean(Integer.parseInt(page), 5); request.setAttribute("pageSize", pageBean.getPageSize()); request.setAttribute("page", pageBean.getPage()); try { con=dbUtil.getCon(); List<DormManager> dormManagerList = dormManagerDao.dormManagerList(con, pageBean, dormManager); int total=dormManagerDao.dormManagerCount(con, dormManager); String pageCode = this.genPagation(total, Integer.parseInt(page),5); request.setAttribute("pageCode", pageCode); request.setAttribute("dormManagerList", dormManagerList); request.setAttribute("mainPage", "admin/dormManager.jsp"); request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); } catch (Exception e) { e.printStackTrace(); } finally { try { dbUtil.closeCon(con); } catch (Exception e) { e.printStackTrace(); } } } private void dormManagerDelete(HttpServletRequest request, HttpServletResponse response) { String dormManagerId = request.getParameter("dormManagerId"); Connection con = null; try { con = dbUtil.getCon(); dormManagerDao.dormManagerDelete(con, dormManagerId); request.getRequestDispatcher("dormManager?action=list").forward(request, response); } catch (Exception e) { e.printStackTrace(); } finally { try { dbUtil.closeCon(con); } catch (Exception e) { e.printStackTrace(); } } } private void dormManagerSave(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { String dormManagerId = request.getParameter("dormManagerId"); String userName = request.getParameter("userName"); String password = request.getParameter("password"); String name = request.getParameter("name"); String sex = request.getParameter("sex"); String tel = request.getParameter("tel"); DormManager dormManager = new DormManager(userName, password, name, sex, tel); if(StringUtil.isNotEmpty(dormManagerId)) { dormManager.setDormManagerId(Integer.parseInt(dormManagerId)); } Connection con = null; try { con = dbUtil.getCon(); int saveNum = 0; if(StringUtil.isNotEmpty(dormManagerId)) { saveNum = dormManagerDao.dormManagerUpdate(con, dormManager); } else if(dormManagerDao.haveManagerByUser(con, dormManager.getUserName())){ request.setAttribute("dormManager", dormManager); request.setAttribute("error", "该用户名已存在"); request.setAttribute("mainPage", "admin/dormManagerSave.jsp"); request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); try { dbUtil.closeCon(con); } catch (Exception e) { e.printStackTrace(); } return; } else { saveNum = dormManagerDao.dormManagerAdd(con, dormManager); } if(saveNum > 0) { request.getRequestDispatcher("dormManager?action=list").forward(request, response); } else { request.setAttribute("dormManager", dormManager); request.setAttribute("error", "保存失败"); request.setAttribute("mainPage", "admin/dormManagerSave.jsp"); request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); } } catch (Exception e) { e.printStackTrace(); } finally { try { dbUtil.closeCon(con); } catch (Exception e) { e.printStackTrace(); } } } private void dormManagerPreSave(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { String dormManagerId = request.getParameter("dormManagerId"); if(StringUtil.isNotEmpty(dormManagerId)) { Connection con = null; try { con = dbUtil.getCon(); DormManager dormManager = dormManagerDao.dormManagerShow(con, dormManagerId); request.setAttribute("dormManager", dormManager); } catch (Exception e) { e.printStackTrace(); } finally { try { dbUtil.closeCon(con); } catch (Exception e) { e.printStackTrace(); } } } request.setAttribute("mainPage", "admin/dormManagerSave.jsp"); request.getRequestDispatcher("mainAdmin.jsp").forward(request, response); } private String genPagation(int totalNum, int currentPage, int pageSize){ int totalPage = totalNum%pageSize==0?totalNum/pageSize:totalNum/pageSize+1; StringBuffer pageCode = new StringBuffer(); pageCode.append("<li><a href='dormManager?page=1'>首页</a></li>"); if(currentPage==1) { pageCode.append("<li class='disabled'><a href='#'>上一页</a></li>"); }else { pageCode.append("<li><a href='dormManager?page="+(currentPage-1)+"'>上一页</a></li>"); } for(int i=currentPage-2;i<=currentPage+2;i++) { if(i<1||i>totalPage) { continue; } if(i==currentPage) { pageCode.append("<li class='active'><a href='#'>"+i+"</a></li>"); } else { pageCode.append("<li><a href='dormManager?page="+i+"'>"+i+"</a></li>"); } } if(currentPage==totalPage) { pageCode.append("<li class='disabled'><a href='#'>下一页</a></li>"); } else { pageCode.append("<li><a href='dormManager?page="+(currentPage+1)+"'>下一页</a></li>"); } pageCode.append("<li><a href='dormManager?page="+totalPage+"'>尾页</a></li>"); return pageCode.toString(); } }