大家好,今天给大家演示一下由jsp实现的一款学生宿舍管理系统,该项目实现了学生信息、宿舍信息、管理员信息、考勤信息等的管理功能,学生、宿管、系统管理员登录后系统显示不同的界面。数据库采用的是mysql,功能结构层次非常清晰,是Java学习参考非常难得的好项目,目前该项目已经配套了完整的开发文档(开发文档包含了需求分析、系统架构、流程图、E-R图、用例图、实体图、数据库设计、代码实现等论文的所有要求点,可作为参考论文),帮您快速掌握整个系统哦!
下面我们来看看如何运行。
1. 将项目导入到eclipse中;
2. 导入之后发现没有错误,如果有错误的话可能是jre需要配置一下,我来演示一下如何配置jre。
3. 还有一种情况,就是在你的eclipse或者myeclipse从没运行过Java web程序的时候,就是说tomcat没有配置的时候,可能会出现httpservlet错误的提示,此时有两种方法可以解决,(1)配置tomcat,运行项目的时候选择配置的tomcat,我来演示一下。还有一种是添加一个httpservlet的jar包,这个包我会放在项目根目录下,当然如果你以前运行过Java web项目,那么上面那些问题都不会出现。
4. 接下来我们配置数据库信息,在dorm.properties文件中,配置自己的mysql用户名和密码;
5. 将数据库文件导入到mysql中,我们用的是navicat工具;
6. 成功导入后就可以运行了,下面是运行结果;
成功运行后的界面,登陆界面:
首先我们选择系统管理员来登录,用户名是admin,密码是111:
可以看到,系统管理员有宿管管理、学生管理、宿舍楼管理、考勤管理等功能,我们一个一个来看看:
宿舍管理员管理:
学生信息管理:
宿舍楼管理:
考勤记录管理:
接下来我们用宿舍管理员账号登录:
宿舍管理员查看学生信息、考勤信息:
考勤管理:
学生可查看自己的考勤信息:
以上就是系统的主要功能!
部分代码:
package com.lero.web;
import java.io.IOException;
import java.sql.Connection;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.lero.dao.DormManagerDao;
import com.lero.model.DormManager;
import com.lero.model.PageBean;
import com.lero.util.DbUtil;
import com.lero.util.PropertiesUtil;
import com.lero.util.StringUtil;
public class DormManagerServlet extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
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), Integer.parseInt(PropertiesUtil.getValue("pageSize")));
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), Integer.parseInt(PropertiesUtil.getValue("pageSize")));
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", "dormManager/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();
}
}
完整代码看下方:
下载:点击查看