基于JSP+Servlet的毕业生离校管理系统

作者主页:夜未央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 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要输出学生信息管理系统,你需要在JSP页面中编写HTML和Java代码,以及在Servlet中处理HTTP请求和响应。 首先,你需要创建一个JSP页面,例如:student.jsp。在这个页面中,你可以使用HTML和CSS来设计页面的布局和样式。同时,你需要使用Java代码来从数据库中读取学生信息,并将其显示在页面上。 接下来,你需要编写一个Servlet来处理HTTP请求并生成响应。在Servlet中,你可以使用Java代码来连接数据库,并查询学生信息。然后,你需要将查询结果作为响应发送回客户端。 下面是一个简单的示例,演示如何在JSP页面中输出学生信息管理系统: 在student.jsp页面中,你可以使用以下代码来显示学生信息: ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>学生信息管理系统</title> </head> <body> <table> <% // 连接数据库 String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "123456"; Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, username, password); Statement stmt = conn.createStatement(); // 查询学生信息 String sql = "SELECT id, name, age, gender FROM student"; ResultSet rs = stmt.executeQuery(sql); // 输出表头 out.println("<tr><th>ID</th><th>姓名</th><th>年龄</th><th>性别</th></tr>"); // 输出学生信息 while (rs.next()) { out.println("<tr><td>" + rs.getString("id") + "</td><td>" + rs.getString("name") + "</td><td>" + rs.getString("age") + "</td><td>" + rs.getString("gender") + "</td></tr>"); } // 关闭数据库连接 rs.close(); stmt.close(); conn.close(); %> </table> </body> </html> ``` 在Servlet中,你可以使用以下代码来处理HTTP请求并生成响应: ``` import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class StudentServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应类型和字符编码 response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); // 获取输出流 PrintWriter out = response.getWriter(); // 输出HTML头部 out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<meta charset='UTF-8'>"); out.println("<title>学生信息管理系统</title>"); out.println("</head>"); out.println("<body>"); try { // 连接数据库 String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "123456"; Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, username, password); Statement stmt = conn.createStatement(); // 查询学生信息 String sql = "SELECT id, name, age, gender FROM student"; ResultSet rs = stmt.executeQuery(sql); // 输出表格头部 out.println("<table>"); out.println("<tr><th>ID</th><th>姓名</th><th>年龄</th><th>性别</th></tr>"); // 输出学生信息 while (rs.next()) { out.println("<tr><td>" + rs.getString("id") + "</td><td>" + rs.getString("name") + "</td><td>" + rs.getString("age") + "</td><td>" + rs.getString("gender") + "</td></tr>"); } // 关闭数据库连接 rs.close(); stmt.close(); conn.close(); // 输出表格尾部 out.println("</table>"); } catch (Exception e) { e.printStackTrace(); out.println("查询失败:" + e.getMessage()); } // 输出HTML尾部 out.println("</body>"); out.println("</html>"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } ``` 当你在浏览器中访问http://localhost:8080/yourapp/student时,就可以看到学生信息管理系统的输出了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜未央5788

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值