作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
需求分析
使用JSP+Servlet+Mysql技术设计一个毕业生离校管理系统, 整个系统采用BS架构, 为高校方便进行毕业生离校流程进行统一的离校流程, 极大的减少了大量学生同时离校的过程中杂乱的情况, 整个系统分为学生, 教务处, 辅导员, 图书馆, 宿管, 财务处, 系办公室, 管理员登等角色, 不同的角色拥有不同的功能
实现功能
该项目是一个基于JSP+Servlet+Mysql实现的毕业生离校管理系统, 用于统一离校流程, 提升学校管理效率,主要分为如下模块
系统的登录注册模块, 注意只能注册学生账号
学生角色: 可以查看未归还图书信息, 未归还宿舍信息, 欠费信息, 手动发起离线申请
教务处角色: 可以添加离校信息 并确认某人离校
辅导员角色: 辅导员可以登录系统查看离校本人并进行确认离校。
图书馆人员角色: 登录系统添加未归还的图书信息。
宿管处角色: 添加未归还钥匙信息并确认离校状态
财务处角色: 添加欠费信息并确认离校状态
运行环境
jdk1.8,tomcat8.5,mysql5.7,Eclispse/IDEA/MyEclipse
项目技术
jsp, servlet, jquery
技术原理
项目是一个基于JSP+Mysql实现的毕业生离校管理系统, 采用比较传统的javaweb模式进行开发, 除了使用dwr并没有使用任何其他大型框架, 但是本项目的servlet+jsp也是构造了一个符合mvc设计模式及的封装代码, 另外此项目自带一篇毕业论文, 项目可以直接用于毕业设计中
注意事项
系统采用jsp+servlet+mysql编写, eclipse导入项目的时候properties的编码需要调整为utf8
mysql的编码utf8, 需要在dbinfo.properties中修改数据连接与密码
本项目自带一篇参考论文
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中dbinfo.properties配置文件中的数据库配置改为自己的配置
3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
4. 运行项目,输入localhost:8080/xxx 登录
测试账号
管理员账号:a 密码:a
教务处账号:jwc 密码:0
辅导员账号:fdy 密码:0
图书馆账号:tsg 密码:0
宿管处账号:sgc 密码:0
财务处账号:cwc 密码:0
系办公室账号:xbgs 密码:0
运行截图
相关代码
用户servlet
public class user_servlet extends HttpServlet
{
public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException
{
String type=req.getParameter("type");
if(type.endsWith("userAdd"))
{
userAdd(req, res);
}
if(type.endsWith("userMana"))
{
userMana(req, res);
}
if(type.endsWith("userDel"))
{
userDel(req, res);
}
if(type.endsWith("userReg"))
{
userReg(req, res);
}
}
public void userAdd(HttpServletRequest req,HttpServletResponse res)
{
String loginname=req.getParameter("loginname");
String loginpw=req.getParameter("loginpw");
String name=req.getParameter("xingming");
String xingbie=req.getParameter("xingbie");
String zhiwu=req.getParameter("zhiwu");
String del="no";
String sql="insert into t_user (loginname,loginpw,xingming,xingbie,zhiwu,del) " +
"values(?,?,?,?,?,?)";
Object[] params={loginname,loginpw,name,xingbie,zhiwu,del};
DB mydb=new DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "user?type=userMana");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
public void userDel(HttpServletRequest req,HttpServletResponse res)
{
String id=req.getParameter("id");
String sql="update t_user set del='yes' where id=?";
Object[] params={id};
DB mydb=new DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "user?type=userMana");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
public void userMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
List userList=new ArrayList();
String sql="select * from t_user where del='no'";
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
while(rs.next())
{
TUser user=new TUser();
user.setId(rs.getInt("id"));
user.setLoginname(rs.getString("loginname"));
user.setLoginpw(rs.getString("loginpw"));
user.setXingming(rs.getString("xingming"));
user.setXingbie(rs.getString("xingbie"));
user.setZwmc(getZwmc(rs.getInt("zhiwu")));
userList.add(user);
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute("userList", userList);
req.getRequestDispatcher("admin/user/userMana.jsp").forward(req, res);
}
/**
* 学生注册
* @param req
* @param res
*/
public void userReg(HttpServletRequest req,HttpServletResponse res)
{
String xuehao=req.getParameter("xuehao");
String loginpw=req.getParameter("loginpw");
String name=req.getParameter("xingming");
String xingbie=req.getParameter("xingbie");
String lianxi=req.getParameter("lianxi");
String shenfenzheng=req.getParameter("shenfenzheng");
String ruxue=req.getParameter("ruxue");
String yuanxi=req.getParameter("yuanxi");
String riqi = new SimpleDateFormat("yyyy-MM-dd").format(new Date()).toString();
String sql="insert into t_xuesheng (xuehao,loginpw,xingming,xingbie,lianxi,shenfenzheng,ruxue,yuanxi,riqi,zt_jwc,zt_fdy,zt_tsg,zt_sgc,zt_cwc,zt_xbgs,zt_xuesheng) " +
"values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
Object[] params={xuehao,loginpw,name,xingbie,lianxi,shenfenzheng,ruxue,yuanxi,riqi,0,0,0,0,0,0,0};
DB mydb=new DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "login.jsp");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
教务处servlet
public class jwc_servlet extends HttpServlet
{
public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException
{
String type=req.getParameter("type");
if(type.endsWith("xueshengList"))
{
xueshengList(req, res);
}
if(type.endsWith("lxqr"))
{
lxqr(req, res);
}
if(type.endsWith("jwctj"))
{
jwctj(req, res);
}
}
public void xueshengList(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
String sql="select * from t_xuesheng where zt_jwc=0";
GetListService gl = new GetListService();
req.setAttribute("xueshengList", gl.getXueshengList(sql));
req.getRequestDispatcher("admin/jwc/xueshengList.jsp").forward(req, res);
}
public void jwctj(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
TUser user = (TUser)req.getSession().getAttribute("user");
String sql="select * from t_queren where user_id="+user.getId();
GetListService gl = new GetListService();
req.setAttribute("querenList", gl.getQuerenList(sql));
req.getRequestDispatcher("admin/jwc/jwctj.jsp").forward(req, res);
}
public void lxqr(HttpServletRequest req,HttpServletResponse res)
{
TUser user = (TUser)req.getSession().getAttribute("user");
int userType = (Integer)req.getSession().getAttribute("userType");
String xuesheng_id = req.getParameter("xuesheng_id");
String shijian = DateUtils.formatDate2Str(new Date(), "yyyy-MM-dd");
DB mydb=new DB();
String sql="insert into t_queren (xuesheng_id,user_id,shijian,lx) " +
"values(?,?,?,?)";
Object[] params={xuesheng_id,user.getId(),shijian,userType};
mydb.doPstm(sql, params);
sql = "update t_xuesheng set zt_jwc=1 where id=?";
Object[] params1={xuesheng_id};
mydb.doPstm(sql, params1);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "jwc?type=jwctj");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
public void dispatch(String targetURI,HttpServletRequest request,HttpServletResponse response)
{
RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI);
try
{
dispatch.forward(request, response);
return;
}
catch (ServletException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void destroy()
{
}
}
财务处servlet
public class cwc_servlet extends HttpServlet
{
public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException
{
String type=req.getParameter("type");
if(type.endsWith("xueshengList"))
{
xueshengList(req, res);
}
if(type.endsWith("lxqr"))
{
lxqr(req, res);
}
if(type.endsWith("cwctj"))
{
cwctj(req, res);
}
if(type.endsWith("qianfeiAdd"))
{
qianfeiAdd(req, res);
}
if(type.endsWith("qianfei_cwc"))
{
qianfei_cwc(req, res);
}
if(type.endsWith("qianfei_xuesheng"))
{
qianfei_xuesheng(req, res);
}
}
public void cwctj(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
TUser user = (TUser)req.getSession().getAttribute("user");
String sql="select * from t_queren where user_id="+user.getId();
GetListService gl = new GetListService();
req.setAttribute("querenList", gl.getQuerenList(sql));
req.getRequestDispatcher("admin/tsg/tsgtj.jsp").forward(req, res);
}
public void lxqr(HttpServletRequest req,HttpServletResponse res)
{
TUser user = (TUser)req.getSession().getAttribute("user");
int userType = (Integer)req.getSession().getAttribute("userType");
String xuesheng_id = req.getParameter("xuesheng_id");
String shijian = DateUtils.formatDate2Str(new Date(), "yyyy-MM-dd");
DB mydb=new DB();
String sql="insert into t_queren (xuesheng_id,user_id,shijian,lx) " +
"values(?,?,?,?)";
Object[] params={xuesheng_id,user.getId(),shijian,userType};
mydb.doPstm(sql, params);
sql = "update t_xuesheng set zt_cwc=1 where id=?";
Object[] params1={xuesheng_id};
mydb.doPstm(sql, params1);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "cwc?type=cwctj");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
public void xueshengList(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
String sql="select * from t_xuesheng where zt_cwc=0";
GetListService gl = new GetListService();
req.setAttribute("xueshengList", gl.getXueshengList(sql));
req.getRequestDispatcher("admin/cwc/xueshengList.jsp").forward(req, res);
}
public void qianfeiAdd(HttpServletRequest req,HttpServletResponse res)
{
String xuesheng_id = req.getParameter("xuesheng_id");
String leixing = req.getParameter("leixing");
String jine = req.getParameter("jine");
String shijian = req.getParameter("shijian");
DB mydb=new DB();
String sql="insert into t_qianfei (xuesheng_id,leixing,jine,shijian) " +
"values(?,?,?,?)";
Object[] params={xuesheng_id,leixing,jine,shijian};
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "cwc?type=qianfei_cwc");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
如果也想学习本系统,下面领取。回复:008JSP