基于javaweb+mysql的jsp+servlet宿舍管理系統(tǒng)(超級(jí)管理員、宿舍管理員、學(xué)生)
基于javaweb+mysql的jsp+servlet宿舍管理系統(tǒng)(超級(jí)管理員、宿舍管理員、學(xué)生)(java+jsp+servlet+javabean+mysql+tomcat)
運(yùn)行環(huán)境
Java≥8、MySQL≥5.7、Tomcat≥8
開(kāi)發(fā)工具
eclipse/idea/myeclipse/sts等均可配置運(yùn)行
適用
課程設(shè)計(jì),大作業(yè),畢業(yè)設(shè)計(jì),項(xiàng)目練習(xí),學(xué)習(xí)演示等
功能說(shuō)明
超級(jí)管理員:登錄退出、宿舍管理員管理、學(xué)生管理、宿舍樓管理、缺勤管理、修改密碼
宿舍管理員:登錄退出、學(xué)生管理、缺勤管理
學(xué)生:登錄退出、缺勤查看
超級(jí)管理員
宿舍管理員
學(xué)生
技術(shù)框架
JSP Servlet MySQL JDBC Tomcat CSS JavaScript
基于javaweb+mysql的JSP+Servlet宿舍管理系統(tǒng)(超級(jí)管理員、宿舍管理員、學(xué)生)(java+jsp+servlet+javabean+mysql+tomcat)
httpServletRequest.getSession().setAttribute("session_user", user); chain.doFilter(httpServletRequest, response); }else if(requestUrI.startsWith(path+"/student.action") && !roleId.equals(2)) { //當(dāng)用戶發(fā)送的請(qǐng)求是學(xué)生模塊的請(qǐng)求時(shí),只有當(dāng)前用戶角色不是學(xué)生就放行 httpServletRequest.getSession().setAttribute("session_user", user); chain.doFilter(httpServletRequest, response); }else if(requestUrI.startsWith(path+"/record.action") || requestUrI.startsWith(path+"/password.action")|| requestUrI.startsWith(path+"/loginOut.action")|| requestUrI.startsWith(path+"/index.action")) { //當(dāng)用戶發(fā)送的請(qǐng)求是考勤、修改密碼、退出模塊的請(qǐng)求時(shí),不管用戶的角色是什么,都放行 httpServletRequest.getSession().setAttribute("session_user", user); chain.doFilter(httpServletRequest, response); }else { httpServletRequest.getRequestDispatcher("/index.jsp").forward(httpServletRequest, response); } } /** * @see Filter#init(FilterConfig) */ public void init(FilterConfig fConfig) throws ServletException { // TODO Auto-generated method stub } } /** * Servlet implementation class LoginServlet */ @WebServlet("/login") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L;
String keyword = request.getParameter("keyword"); //當(dāng)前要查詢的頁(yè)面 String pageIndex = request.getParameter("pageIndex"); System.out.println("dormBuildId:"+dormBuildId+" searchType:"+searchType+" keyword:"+keyword); //默認(rèn)查詢第一頁(yè),需兩個(gè)參數(shù),當(dāng)前頁(yè)碼pageIndex,每頁(yè)展示的條數(shù) PageModel pageModel = new PageModel(); if(pageIndex != null && !pageIndex.equals("")) { pageModel.setPageIndex(Integer.parseInt(pageIndex)); } List<User> students = userService.findStudent(dormBuildId,searchType,keyword,user,pageModel); //獲取查詢處理的總數(shù)量 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")) { //根據(jù)用戶角色查詢宿舍樓進(jìn)行添加學(xué)生, //如當(dāng)前用戶 為宿舍管理員,他只能添加學(xué)生到其管理的宿舍樓 //跳轉(zhuǎn)到學(xué)生的添加頁(yè)面 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")) { //保存學(xué)生 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+ " tel:"+tel+" passWord:"+passWord+" dormBuildId:"+dormBuildId+ " dormCode:"+dormCode);
} }else { //保存 if(dormBuild != null) { //當(dāng)前用戶輸入的宿舍樓名已存在 //表示跳轉(zhuǎn)到宿舍樓添加頁(yè)面 request.setAttribute("error", "當(dāng)前宿舍樓名已存在,請(qǐng)重新輸入!"); request.setAttribute("mainRight", "/WEB-INF/jsp/dormBuildAddOrUpdate.jsp"); request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response); }else { //當(dāng)前用戶輸入的宿舍樓名不存在,則保存用戶輸入的信息到數(shù)據(jù)庫(kù) DormBuild build = new DormBuild(); build.setName(name); build.setRemark(remark); build.setDisabled(0); dormBuildService.save(build); //保存完成,跑到宿舍樓管理列表頁(yè),查詢所有宿舍樓 List<DormBuild> builds = dormBuildService.find(); //查詢所有的宿舍樓,在select中遍歷 List<DormBuild> buildSelects = dormBuildService.find(); request.setAttribute("buildSelects", buildSelects); request.setAttribute("builds", builds); request.setAttribute("mainRight", "/WEB-INF/jsp/dormBuildList.jsp"); request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response); } } }else if(action != null & action.equals("preUpdate")) { //根據(jù)宿舍樓id,查詢宿舍樓 DormBuild build = dormBuildService.findById(Integer.parseInt(id)); //保存宿舍樓信息,到前端頁(yè)面展示 request.setAttribute("build", build); //跳轉(zhuǎn)到宿舍樓修改頁(yè)面 request.setAttribute("mainRight", "/WEB-INF/jsp/dormBuildAddOrUpdate.jsp"); request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response); }else if(action != null & action.equals("deleteOrAcive")) { //刪除或激活 String disabled = request.getParameter("disabled"); DormBuild dormBuild = dormBuildService.findById(Integer.parseInt(id)); System.out.println("更新前dormBuild:"+dormBuild); dormBuild.setDisabled(Integer.parseInt(disabled)); System.out.println("更新后dormBuild:"+dormBuild);
//如當(dāng)前用戶 為宿舍管理員,他只能添加學(xué)生到其管理的宿舍樓 //跳轉(zhuǎn)到學(xué)生的添加頁(yè)面 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")) { //保存學(xué)生 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+ " tel:"+tel+" passWord:"+passWord+" dormBuildId:"+dormBuildId+ " dormCode:"+dormCode); //未存在,則保存 User student = userService.findByStuCode(stuCode); if(id != null && !id.equals("")) { //更新之前,查詢數(shù)據(jù)庫(kù)是否已經(jīng)存在當(dāng)前學(xué)號(hào)的學(xué)生,如已存在,則跳轉(zhuǎn)到添加頁(yè)面 if(student != null && !student.getId().equals(Integer.parseInt(id))) { System.out.println("根據(jù)學(xué)生學(xué)號(hào)查詢student:"+student); //當(dāng)前學(xué)號(hào)的學(xué)生已存在,請(qǐng)重新修改,跳轉(zhuǎn)到該學(xué)生的修改頁(yè)面 request.getRequestDispatcher("/student.action?action=preUpdate&id="+id).forward(request, response);; }else { //更新 User studentUpdate = userService.findById(Integer.parseInt(id)); studentUpdate.setStuCode(stuCode); studentUpdate.setSex(sex); studentUpdate.setTel(tel); studentUpdate.setName(name); studentUpdate.setPassWord(passWord); studentUpdate.setDormBuildId(Integer.parseInt(dormBuildId)); studentUpdate.setDormCode(dormCode); userService.updateStudent(studentUpdate); response.sendRedirect(getServletContext().getContextPath()+"/student.action?action=list"); } }else { //保存 if(student != null) { //在保存之前,查詢數(shù)據(jù)庫(kù)是否已經(jīng)存在當(dāng)前學(xué)號(hào)的學(xué)生,如已存在,則跳轉(zhuǎn)到添加頁(yè)面 response.sendRedirect(getServletContext().getContextPath()+"/student.action?action=preAdd"); }else { User user2 = new User(); user2.setStuCode(stuCode); user2.setSex(sex); user2.setTel(tel);
} } /** * Servlet implementation class RecordServlet */ @WebServlet("/record.action") public class RecordServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public RecordServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response) */ protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("====record.action========"); //在tomcat8.0中,如果是post請(qǐng)求,傳遞過(guò)來(lái)的中文可能會(huì)出現(xiàn)亂碼問(wèn)題 request.setCharacterEncoding("utf-8");
UserService userService = new UserServiceImpl(); RecordService recordService = new RecordServiceImpl(); DormBuildService buildService = new DormBuildServiceImpl(); if(action != null & action.equals("list")) { //查詢?nèi)鼻谟涗洸⒄故? Integer roleId = userCurr.getRoleId(); List<DormBuild> builds = new ArrayList<DormBuild>(); if(roleId.equals(0)) { //如當(dāng)前用戶是超級(jí)管理員,他能將學(xué)生添加到所有的宿舍樓,查詢所有宿舍樓 builds = buildService.findAll(); }else if(roleId.equals(1)) { //如當(dāng)前用戶 為宿舍管理員,他只能添加學(xué)生到其管理的宿舍樓 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); //默認(rèn)查詢第一頁(yè),需兩個(gè)參數(shù),當(dāng)前頁(yè)碼pageIndex,每頁(yè)展示的條數(shù) PageModel pageModel = new PageModel(); if(pageIndex != null && !pageIndex.equals("")) { pageModel.setPageIndex(Integer.parseInt(pageIndex)); } //分頁(yè)查詢考勤記錄 List<Record> records = recordService.findRecords(startDate,endDate,dormBuildId, searchType,keyword,userCurr,pageModel); System.out.println("records:"+records); //獲取查詢結(jié)果總數(shù) 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);
DormBuild dormBuild = dormBuildService.findByName(name); System.out.println("dormBuild:"+dormBuild); if(id != null && !id.equals("")) { //更新 if(dormBuild != null && !dormBuild.getId().equals(Integer.parseInt(id))) { //表示跳轉(zhuǎn)到宿舍樓添加頁(yè)面 request.setAttribute("error", "當(dāng)前宿舍樓名已存在,請(qǐng)重新輸入!"); //根據(jù)宿舍樓id,查詢宿舍樓 DormBuild build = dormBuildService.findById(Integer.parseInt(id)); //保存宿舍樓信息,到前端頁(yè)面展示 request.setAttribute("build", build); request.setAttribute("mainRight", "/WEB-INF/jsp/dormBuildAddOrUpdate.jsp"); request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response); }else { dormBuild = dormBuildService.findById(Integer.parseInt(id)); dormBuild.setName(name); dormBuild.setRemark(remark); //執(zhí)行更新 dormBuildService.update(dormBuild); //更新完成,跑到宿舍樓管理列表頁(yè),查詢所有宿舍樓 List<DormBuild> builds = dormBuildService.find(); //查詢所有的宿舍樓,在select中遍歷 List<DormBuild> buildSelects = dormBuildService.find(); request.setAttribute("buildSelects", buildSelects); request.setAttribute("builds", builds); request.setAttribute("mainRight", "/WEB-INF/jsp/dormBuildList.jsp"); request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response); } }else { //保存 if(dormBuild != null) { //當(dāng)前用戶輸入的宿舍樓名已存在 //表示跳轉(zhuǎn)到宿舍樓添加頁(yè)面 request.setAttribute("error", "當(dāng)前宿舍樓名已存在,請(qǐng)重新輸入!"); request.setAttribute("mainRight", "/WEB-INF/jsp/dormBuildAddOrUpdate.jsp"); request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);
String oldPassWord = request.getParameter("oldPassWord"); //當(dāng)前登錄的用戶原始密碼 String passWord = userCur.getPassWord(); if(!passWord.equals(oldPassWord)) { response.setCharacterEncoding("utf-8"); PrintWriter writer = response.getWriter(); writer.print("您輸入的原始密碼錯(cuò)誤,請(qǐng)重新輸入!"); } }else if(action != null && action.equals("change")) { //修改密碼 String newPassword = request.getParameter("newPassword"); userCur.setPassWord(newPassword); userService.updatePassWord(userCur); System.out.println("修改密碼userCur:"+userCur); request.getRequestDispatcher("/index.jsp").forward(request, response); } } } /** * Servlet implementation class LoginOutServlet */ @WebServlet("/loginOut.action") public class LoginOutServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public LoginOutServlet() { super(); // TODO Auto-generated constructor stub }
request.setAttribute("searchType", searchType); request.setAttribute("keyword", keyword); request.setAttribute("users", users); request.setAttribute("mainRight", "dormManagerList.jsp"); request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response); }else if(action != null & action.equals("preAdd")) { //跳轉(zhuǎn)到宿舍管理員添加頁(yè)面 request.setAttribute("mainRight", "dormManagerAddOrUpdate.jsp"); request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response); }else if(action != null & action.equals("save")) { System.out.println("======保存宿舍管理員========="); String name = request.getParameter("name"); String passWord = request.getParameter("passWord"); String sex = request.getParameter("sex"); String tel = request.getParameter("tel"); //獲取復(fù)選框中用戶選中的宿舍樓 String[] dormBuildIds = request.getParameterValues("dormBuildId"); System.out.println("name:"+name+" pass:"+passWord+" sex:"+sex+" tel:"+tel+" dormBuildIds:"+Arrays.toString(dormBuildIds)); if(id == null || id.equals("")) { //保存 User user = new User(name, passWord, sex, tel, null, 1); user.setDisabled(0); //當(dāng)前登錄的用戶 User user2 = (User) request.getSession().getAttribute("session_user"); user.setCreateUserId(user2.getId()); userService.saveManager(user,dormBuildIds); System.out.println("getServletContext().getContextPath():"+getServletContext().getContextPath()); }else { //修改 //通過(guò)宿舍管理員ID獲取宿舍管理員 User user = userService.findById(Integer.parseInt(id)); user.setName(name); user.setPassWord(passWord); user.setSex(sex); user.setTel(tel); userService.updateManager(user); //修改還需修改宿舍管理員與宿舍樓的中間表 //① 刪除當(dāng)前宿舍管理員管理的所有宿舍樓 buildService.deleteByUserId(user.getId()); //② 新增當(dāng)前宿舍管理員管理的所有宿舍樓 buildService.saveManagerAndBuild(user.getId(),dormBuildIds); }
User user = userService.findById(Integer.parseInt(id)); //根據(jù)宿舍管理員ID獲取宿舍管理員管理的樓棟 List<DormBuild> userBuilds = buildService.findByUserId(user.getId()); user.setDormBuilds(userBuilds); System.out.println("user:"+user); List<Integer> userBuildids = new ArrayList<>(); //遍歷當(dāng)前宿舍管理員管理的所有宿舍,獲取當(dāng)時(shí)當(dāng)前宿舍管理員管理的所有宿舍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"); //通過(guò)宿舍管理員ID獲取宿舍管理員 User user = userService.findById(Integer.parseInt(id)); user.setDisabled(Integer.parseInt(disabled)); userService.updateManager(user); //跳轉(zhuǎn)到宿舍管理員列表頁(yè),查看所有的宿舍管理員 //重定向,請(qǐng)求鏈斷開(kāi),不能在下一個(gè)servlet或jsp中獲取保存在request中的參數(shù) response.sendRedirect(getServletContext().getContextPath()+"/dormManager.action?action=list"); } } } /**
/** * Servlet implementation class RecordServlet */ @WebServlet("/record.action") public class RecordServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public RecordServlet() { super(); // TODO Auto-generated constructor stub }
/** * 該過(guò)濾器攔截所有以.action的請(qǐng)求 */ @WebFilter("*.action") public class LoginFilter implements Filter { /** * Default constructor. */ public LoginFilter() { // TODO Auto-generated constructor stub } /** * @see Filter#destroy() */ public void destroy() { // TODO Auto-generated method stub } /** * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("------------登錄攔截器------------"); HttpServletRequest httpServletRequest = (HttpServletRequest) request; HttpSession session = httpServletRequest.getSession(); //①獲取登錄后保存在session中的用戶信息 User user = (User) session.getAttribute("session_user"); System.out.println("session user:"+user);
public class LoginOutServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public LoginOutServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response) */ protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("========退出=========="); //清除保存在session中的用戶信息 request.getSession().removeAttribute("session_user"); //清除保存在cookie中的用戶信息 //根據(jù)名字查找保存當(dāng)前項(xiàng)目的學(xué)號(hào)和密碼 Cookie cookie = CookieUtil.getCookieByName(request,"cookie_name_pass"); if(cookie != null) { //設(shè)計(jì)cookie有效時(shí)間0 ,馬上失效 cookie.setMaxAge(0); //設(shè)置cookie作用范圍 cookie.setPath(request.getContextPath()); System.out.println("request.getContextPath():"+request.getContextPath()); //將cookie響應(yīng)出去 response.addCookie(cookie); } response.sendRedirect("index.jsp"); } } public class CookieUtil { public static void addCookie(String cookieName, int time, HttpServletRequest request,HttpServletResponse response, String stuCode, String password) { //根據(jù)保存學(xué)號(hào)和密碼的cookie的名字獲取cookie Cookie cookie = getCookieByName(request,cookieName); //如有該項(xiàng)目保存學(xué)號(hào)和密碼的cookie,則更改cookie的值,如未有則新建cookie if(cookie != null) { cookie.setValue(stuCode+"#"+password);
response.sendRedirect(getServletContext().getContextPath()+"/record.action?action=list"); }else { request.setAttribute("record", record); request.setAttribute("mainRight", "/WEB-INF/jsp/recordAddOrUpdate.jsp"); request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response); } }else if(action != null && action.equals("deleteOrAcive")) { System.out.println("======刪除或者激活========="); //刪除或者激活 String disabled = request.getParameter("disabled"); Record record = recordService.findById(Integer.parseInt(id)); record.setDisabled(Integer.parseInt(disabled)); //查看用戶是否有修改考勤記錄的權(quán)限 User user = userService.findStuCodeAndManager(record.getUser().getStuCode(),userCurr); System.out.println("修改權(quán)限user :"+user); if(user == null) { //無(wú)刪除激活權(quán)限 response.sendRedirect(getServletContext().getContextPath()+"/record.action?action=list"); }else { //有刪除激活權(quán)限 recordService.update(record); //跳轉(zhuǎn)到缺勤記錄列表頁(yè) response.sendRedirect(getServletContext().getContextPath()+"/record.action?action=list"); } } } } /** * Servlet implementation class DormBuildServlet */
//將cookie響應(yīng)出去 response.addCookie(cookie); } response.sendRedirect("index.jsp"); } } public class CookieUtil { public static void addCookie(String cookieName, int time, HttpServletRequest request,HttpServletResponse response, String stuCode, String password) { //根據(jù)保存學(xué)號(hào)和密碼的cookie的名字獲取cookie Cookie cookie = getCookieByName(request,cookieName); //如有該項(xiàng)目保存學(xué)號(hào)和密碼的cookie,則更改cookie的值,如未有則新建cookie if(cookie != null) { cookie.setValue(stuCode+"#"+password); }else { cookie = new Cookie(cookieName, stuCode+"#"+password); } //設(shè)置cookie的有效時(shí)間 cookie.setMaxAge(time); //設(shè)置cookie的作用范圍 只在當(dāng)前項(xiàng)目范圍中有效 cookie.setPath(request.getContextPath()); System.out.println("request.getContextPath():"+request.getContextPath()); response.addCookie(cookie); } public static Cookie getCookieByName(HttpServletRequest request, String cookieName) { //從request中獲取當(dāng)前項(xiàng)目的作用cookie Cookie[] cookies = request.getCookies(); //遍歷所有cookie if(cookies != null && cookies.length >0) { for (Cookie cookie : cookies) { //根據(jù)cookie的名字獲取cookie,并返回 if(cookie.getName().equals(cookieName)) { return cookie;
/** * Servlet implementation class RecordServlet */ @WebServlet("/record.action") public class RecordServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public RecordServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response) */ protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("====record.action========"); //在tomcat8.0中,如果是post請(qǐng)求,傳遞過(guò)來(lái)的中文可能會(huì)出現(xiàn)亂碼問(wèn)題 request.setCharacterEncoding("utf-8"); String action = request.getParameter("action"); String id = request.getParameter("id");
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")) { //跳轉(zhuǎn)到添加頁(yè)面 request.setAttribute("mainRight", "/WEB-INF/jsp/recordAddOrUpdate.jsp"); request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response); }else if(action != null && action.equals("save")) { //保存 String stuCode = request.getParameter("stuCode"); String date = request.getParameter("date"); String remark = request.getParameter("remark"); System.out.println("remark:"+remark+" date:"+date+" stuCode:"+stuCode); //做保存前,判斷用戶是否有添加該學(xué)號(hào)學(xué)生缺勤記錄的權(quán)限 User user = userService.findStuCodeAndManager(stuCode,userCurr); System.out.println("查詢添加缺勤權(quán)限user:"+user); if(id != null && !id.equals("")) { //更新 if(user != null) { //有修改權(quán)限 Record record = recordService.findById(Integer.parseInt(id)); try { record.setDate(new SimpleDateFormat("yyyy-MM-dd").parse(date)); record.setRemark(remark); record.setStudentId(user.getId()); recordService.update(record); } catch (ParseException e) { e.printStackTrace(); } response.sendRedirect(getServletContext().getContextPath()+"/record.action?action=list"); }else { //無(wú)修改權(quán)限 response.sendRedirect(getServletContext().getContextPath()+"/record.action?action=list"); }
到此這篇關(guān)于基于javaweb+mysql的jsp+servlet宿舍管理系統(tǒng)(超級(jí)管理員、宿舍管理員、學(xué)生)的文章就介紹到這了,更多相關(guān)jsp+servlet宿舍管理系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
讓JSP頁(yè)面過(guò)期, 保證每次JSP頁(yè)面都是最新的.
讓JSP頁(yè)面過(guò)期, 保證每次JSP頁(yè)面都是最新的....2006-10-10jsp Response對(duì)象頁(yè)面重定向、時(shí)間的動(dòng)態(tài)顯示
response對(duì)象主要用于對(duì)客戶端的請(qǐng)求進(jìn)行回應(yīng),將web服務(wù)器處理后的結(jié)果發(fā)回給客戶端,封裝了jsp產(chǎn)生的響應(yīng),并發(fā)送到客戶端響應(yīng)客戶端的請(qǐng)求,請(qǐng)求的數(shù)據(jù)可以是各種數(shù)據(jù)類型,甚至是文件2021-07-07jsp實(shí)現(xiàn)生成中國(guó)國(guó)旗圖片效果代碼
這篇文章主要介紹了jsp實(shí)現(xiàn)生成中國(guó)國(guó)旗圖片效果代碼,涉及JSP圖形繪制及數(shù)學(xué)運(yùn)算的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10如何使用JSP訪問(wèn)MySQL數(shù)據(jù)庫(kù)
如何使用JSP訪問(wèn)MySQL數(shù)據(jù)庫(kù)...2006-10-10JSP自定義標(biāo)簽基礎(chǔ)知識(shí)學(xué)習(xí)
這篇文章主要為大家詳細(xì)介紹了JSP自定義標(biāo)簽基礎(chǔ)知識(shí),如何實(shí)現(xiàn)自定義標(biāo)簽,請(qǐng)參考本文進(jìn)行學(xué)習(xí)2016-03-03Servlet動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)詳解
Servlet動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)詳解,需要的朋友可以參考一下2013-03-03