Java畢業(yè)設(shè)計之多用戶宿舍管理系統(tǒng)的實現(xiàn)
介紹
項目編號:BS-GX-033
開發(fā)技術(shù)
后臺:jsp+servlet+jdbc
前臺:jsp+bootstrap
運行環(huán)境
數(shù)據(jù)庫:mysql5.7
JDK: 1.8
Maven: 3.9
開發(fā)工具
IDEA /Eclipse
本系統(tǒng)基于jsp實現(xiàn)了一個宿舍管理系統(tǒng),功能完整,界面美觀大方,交互簡潔方便,比較適合做畢業(yè)設(shè)計使用。主要分為三個角色用戶:管理員,宿舍管理員,學(xué)生
功能介紹
系統(tǒng)管理員:用戶管理、宿舍樓管理、樓管管理、缺勤管理。
宿舍管理員主要包括:
缺勤管理、學(xué)生管理
學(xué)生主要包括:缺勤查看
效果圖
系統(tǒng)主要實現(xiàn)功能界面展示如下:

管理員登陸

學(xué)生管理

宿舍樓管理

缺勤管理

宿舍管理員登陸

缺勤管理

學(xué)生登陸系統(tǒng)

核心代碼
核心實現(xiàn)代碼如下:
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畢業(yè)設(shè)計之多用戶宿舍管理系統(tǒng)的實現(xiàn)的詳細內(nèi)容,更多關(guān)于Java宿舍管理系統(tǒng)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Spring?AOP實現(xiàn)用戶登錄統(tǒng)一驗證功能
這篇文章主要為大家詳細介紹了Spring?AOP如何實現(xiàn)用戶登錄統(tǒng)一驗證功能,文中的示例代碼講解詳細,對我們學(xué)習(xí)具有一定的借鑒價值,需要的可以參考一下2023-01-01
swagger注解@ApiModelProperty失效情況的解決
這篇文章主要介紹了swagger注解@ApiModelProperty失效情況的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
SpringBoot實現(xiàn)識別圖片中的身份證號與營業(yè)執(zhí)照信息
這篇文章主要為大家詳細介紹了SpringBoot如何實現(xiàn)識別圖片中的身份證號與營業(yè)執(zhí)照信息,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2024-01-01
Eclipse安裝Aptana插件(注意對應(yīng)版本問題)
這篇文章主要為大家詳細介紹了Eclipse安裝Aptana插件的相關(guān)資料,特別注意對應(yīng)版本問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02
Spring ApplicationListener源碼解析
這篇文章主要為大家介紹了Spring ApplicationListener源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01
詳解Java如何優(yōu)雅的調(diào)用dubbo同時不使用其它jar包
這篇文章主要介紹了如何在不使用他人jar包的情況下優(yōu)雅的進行dubbo調(diào)用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-02-02

