Java毕业设计实战 多用户宿舍管理系统

开发技术

后台: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();
  }
}

以上就是Java毕业设计之多用户宿舍管理系统的实现的详细内容,更多关于Java宿舍管理系统的资料请关注编程教程其它相关文章!