基于学生成绩管理系统(附源代码及数据库)

简介: 基于学生成绩管理系统(附源代码及数据库)

分为以下四大板块:


系统用户管理:   包含管理员账号管理,教师添加,教师查询,学生添加,学生查询,修改密码等模块。


课程管理:对课程信息列表的curd,模糊查询,导出excel等操作。


成绩管理:对学生成绩的curd,模糊查询,导出excel等操作。


版权信息:版权所属信息。


管理员登录:具有最高权限,所有功能均具备。


教师登录:教师有个人资料管理,学生管理,课程管理,成绩管理,,版权信息五大板块。


学生登录:学生有个人资料管理,课程管理,成绩管理,版权信息四大板块。


登录页面


e11b78e146c74917a45701006af72187.png


<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@page import="util.Info"%>
<%@page import="dao.CommDAO"%>
<%@page import="util.PageManager"%>
<html>
<head>
<title>学生成绩管理系统</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
body {
  margin-left: 0px;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  background-repeat: repeat-x;
  background-color: #3C8395;
}
.STYLE9 {
  color: #0000CC;
  font-size: 12px
}
.STYLE8 {
  color: #0033CC
}
input {
  border-radius: 3px;
  border: 1px solid #000;
}
-->
</style>
</head>
<script type="text/javascript">
 <%
String error = (String)request.getAttribute("error"); 
if(error!=null)
{
 %>
 alert("用户名或密码错误");
 <%}%>
  <%
String random = (String)request.getAttribute("random"); 
if(random!=null)
{
 %>
 alert("验证码错误");
 <%}%>
  popheight = 39;
  function check() {
  if (document.form1.username.value == ""
    || document.form1.pwd.value == ""
    || document.form1.pagerandom.value == "") {
    alert('请输入完整');
    return false;
  }
  }
  function loadimage() {
  document.getElementById("randImage").src = "image.jsp?" + Math.random();
  }
</script>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
  <table width="1024" height="728" border="0" align="center"
  cellpadding="0" cellspacing="0" background="images/login.jpg"
  id="__01">
  <tr>
    <td height="183" colspan="3"><table width="64%" height="56"
      border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
      <td height="56"><div
        style="text-shadow: #CCCCCC 3px 0 0, #33CC33 0 1px 0, #33CC33 1px 0 0, #33CC33 0 -1px 0; font-size: 38px;"
        align="center">学生成绩管理系统</div></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td width="314" rowspan="2">&nbsp;</td>
    <td width="352" height="275" valign="bottom"><form
      action="jspmxscjglxthsg3858A9?ac=adminlogin&a=a" method="post"
      name="form1" style="display: inline">
      <table width="205" border="0" align="center" cellpadding="0"
      cellspacing="0">
      <tr>
        <td width="44" height="30"><span class="STYLE9">用户:</span></td>
        <td height="30" colspan="2"><input name="username"
        type="text" id="username"
        style="width: 100px; height: 16px; border: solid 1px #000000; color: #666666"></td>
      </tr>
      <tr>
        <td height="30"><span class="STYLE9">密码:</span></td>
        <td height="30" colspan="2"><input name="pwd"
        type="password" id="pwd"
        style="width: 100px; height: 16px; border: solid 1px #000000; color: #666666"></td>
      </tr>
      <tr>
        <td height="30"><span class="STYLE9">权限:</span></td>
        <td height="30" colspan="2"><select name="cx" id="cx">
          <option value="管理员">管理员</option>
          <option value="学生">学生</option>
          <option value="教师">教师</option>
          <!--quxanxiaxndexnglxu-->
        </select></td>
      </tr>
      <tr>
        <td height="30"><span class="STYLE9">验证码:</span></td>
        <td width="59" height="30"><input name="pagerandom"
        type="text" id="pagerandom"
        style="height: 20px; border: solid 1px #000000; color: #666666; width: 50px" />
        <td width="102"><a href="javascript:loadimage();"><img
          alt="看不清请点我!" name="randImage" id="randImage" src="image.jsp"
          width="60" height="20" border="1" align="absmiddle"> </a></td>
      </tr>
      <tr>
        <td height="30" colspan="3"><input type="submit"
        name="Submit" value="登陆" onClick="return check();"
        style="background: url(images/the_formbtn.gif) no-repeat; color: #000000; width: 80px; height: 24px; border: 0px; line-height: 24px; font-size: 12px; margin-right: 5px; cursor: pointer">
        <input type="reset" name="Submit2" value="重置"
        style="background: url(images/the_formbtn.gif) no-repeat; color: #000000; width: 80px; height: 24px; border: 0px; line-height: 24px; font-size: 12px; margin-right: 5px; cursor: pointer"></td>
      </tr>
      </table>
    </form></td>
    <td width="336" rowspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  </table>
</body>
</html>

系统主页


538b58b91e5346ab8268272407e9479d.png


<%@ page language="java" pageEncoding="gb2312"%>
<html>
<head>
<title>学生成绩管理系统--管理中心</title>
</head>
<frameset rows="36,*" cols="*" framespacing="0" frameborder="no"
  border="0">
  <frame src="top.jsp" name="topFrame" id="topFrame" title="topFrame"
  scrolling="NO" noresize />
  <frameset rows="*" cols="220,*" framespacing="0" frameborder="no"
  border="0" id="mainframe">
  <frame src="mygo.jsp" name="left" id="left" title="left" />
  <frame src="sy.jsp" name="right" id="right" title="right" />
  </frameset>
</frameset>
<noframes>
</noframes>
</html>


管理员账号管理


a5bdb407c3934528bb0d9604f0d9525c.png


<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@page import="util.Info"%>
<%@page import="dao.CommDAO"%>
<%@page import="util.PageManager"%>
<%
if (request.getSession().getAttribute("username") == null) {
  out.print("<script>javascript:alert('对不起,您已超时或未登陆,请重新进行登陆!');window.close();</script>");
  out.close();
} else {
  if (request.getSession().getAttribute("cx").equals("超级管理员")) {
  } else {
  out.print("<script>javascript:alert('对不起,您无权操作此模块!');history.back();</script>");
  out.close();
  }
}
%>
<html>
<head>
<title>管理员用户管理</title>
<link rel="stylesheet" href="css.css" type="text/css">
</head>
<%
new CommDAO().delete(request, "allusers");
HashMap ext = new HashMap();
ext.put("cx", "普通管理员");
new CommDAO().insert(request, response, "allusers", ext, true, false, "");
%>
<body>
  <form action="yhzhgl.jsp?f=f" method="post" name="f1"
  onsubmit="return checkform();">
  <table width="100%" border="1" align="center" cellpadding="3"
    cellspacing="1" bordercolor="#00FFFF"
    style="border-collapse: collapse">
    <tr>
    <td width="200">用户名:</td>
    <td><input name="username" type="text" id="username"
      onblur='checkform()' /> <label id='clabelusername' /> *</td>
    </tr>
    <tr>
    <td width="200">密码:</td>
    <td><input name="pwd" type="password" id="pwd"
      onblur='checkform()' /> <label id='clabelpwd' /> *</td>
    </tr>
    <tr>
    <td width="200">确认密码:</td>
    <td><input name="pwd2" type="password" id="pwd2"
      onblur='checkform()' /> <label id='clabelpwd2' /> *</td>
    </tr>
    <tr>
    <td width="200">&nbsp;</td>
    <td><input name="Submit" type="submit" value="提交" /> <input
      name="Submit2" type="reset" value="重置" /></td>
    </tr>
  </table>
  </form>
  <p>已有管理员列表:</p>
  <table width="100%" border="1" align="center" cellpadding="3"
  cellspacing="1" bordercolor="#00FFFF"
  style="border-collapse: collapse">
  <tr>
    <td bgcolor="A4B6D7">序号</td>
    <td bgcolor="A4B6D7">用户名</td>
    <td bgcolor="A4B6D7">密码</td>
    <td bgcolor="A4B6D7">权限</td>
    <td bgcolor="A4B6D7">添加时间</td>
    <td bgcolor="A4B6D7">操作</td>
  </tr>
  <%
  int i = 0;
  for (HashMap map : new CommDAO().select("select * from allusers order by id desc ")) {
    i++;
  %>
  <tr>
    <td><%=i%></td>
    <td><%=map.get("username")%></td>
    <td><%=map.get("pwd")%></td>
    <td><%=map.get("cx")%></td>
    <td><%=map.get("addtime")%></td>
    <td><a href="yhzhgl.jsp?scid=<%=map.get("id")%>"
    onClick="return confirm('真的要删除?')">删除</a></td>
  </tr>
  <%
  }
  %>
  </table>
</body>
</html>
<script language=javascript src='js/My97DatePicker/WdatePicker.js'></script>
<script language=javascript src='js/popup.js'></script>
<script language=javascript src='js/ajax.js'></script>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.HashMap"%>
<script language=javascript>  
 function checkform(){  
var usernameobj = document.getElementById("username");  
if(usernameobj.value==""){  
document.getElementById("clabelusername").innerHTML="&nbsp;&nbsp;<font color=red>请输入用户名</font>";  
return false;  
}else{
document.getElementById("clabelusername").innerHTML="  ";  
}  
var usernameobj = document.getElementById("username");  
if(usernameobj.value!=""){  
var ajax = new AJAX();
ajax.post("factory/checkno.jsp?table=allusers&col=username&value="+usernameobj.value+"&checktype=insert&ttime=<%=Info.getDateStr()%>
  ")
    var msg = ajax.getValue();
    if (msg.indexOf('Y') > -1) {
    document.getElementById("clabelusername").innerHTML = "&nbsp;&nbsp;<font color=red>用户名已存在</font>";
    return false;
    } else {
    document.getElementById("clabelusername").innerHTML = "  ";
    }
  }
  var pwdobj = document.getElementById("pwd");
  if (pwdobj.value == "") {
    document.getElementById("clabelpwd").innerHTML = "&nbsp;&nbsp;<font color=red>请输入密码</font>";
    return false;
  } else {
    document.getElementById("clabelpwd").innerHTML = "  ";
  }
  var pwd2obj = document.getElementById("pwd2");
  if (pwd2obj.value == "") {
    document.getElementById("clabelpwd2").innerHTML = "&nbsp;&nbsp;<font color=red>请再次输入密码</font>";
    return false;
  } else {
    document.getElementById("clabelpwd2").innerHTML = "  ";
  }
  if (pwd2obj.value != pwdobj.value) {
    document.getElementById("clabelpwd2").innerHTML = "&nbsp;&nbsp;<font color=red>两次密码输入不一致</font>";
    return false;
  } else {
    document.getElementById("clabelpwd2").innerHTML = "  ";
  }
  return true;
  }
  popheight = 450;
</script>


学生查询


850caa1e1e534828866c919a64130710.png

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@page import="util.Info"%>
<%@page import="dao.CommDAO"%>
<%@page import="util.PageManager"%>
<html>
<head>
<title>学生</title>
<LINK href="css.css" type=text/css rel=stylesheet>
<script type="text/javascript" src="js/My97DatePicker/WdatePicker.js"
  charset="gb2312"></script>
</head>
<body>
  <p>已有学生列表:</p>
  <form name="form1" id="form1" method="post" action="">
  搜索: 学号:<input name="xuehao" type="text" id="xuehao"
    style='border: solid 1px #000000; color: #666666' size="12" /> 姓名:<input
    name="xingming" type="text" id="xingming"
    style='border: solid 1px #000000; color: #666666' size="12" /> 联系手机:<input
    name="lianxishouji" type="text" id="lianxishouji"
    style='border: solid 1px #000000; color: #666666' size="12" /> <input
    type="submit" name="Submit" value="查找"
    style='border: solid 1px #000000; color: #666666' /> <input
    type="button" name="Submit2" value="导出EXCEL"
    style='border: solid 1px #000000; color: #666666'
    onClick="javascript:location.href='xuesheng_listxls.jsp';" />
  </form>
  <table width="100%" border="1" align="center" cellpadding="3"
  cellspacing="1" bordercolor="00FFFF" style="border-collapse: collapse">
  <tr>
    <td width="30" align="center" bgcolor="CCFFFF">序号</td>
    <td bgcolor='#CCFFFF'>学号</td>
    <td bgcolor='#CCFFFF'>密码</td>
    <td bgcolor='#CCFFFF'>姓名</td>
    <td bgcolor='#CCFFFF' width='40' align='center'>性别</td>
    <td bgcolor='#CCFFFF'>联系手机</td>
    <td bgcolor='#CCFFFF'>地址</td>
    <td width="138" align="center" bgcolor="CCFFFF">添加时间</td>
    <td width="60" align="center" bgcolor="CCFFFF">操作</td>
  </tr>
  <%
  new CommDAO().delete(request, "xuesheng");
  String url = "xuesheng_list.jsp?1=1";
  String sql = "select * from xuesheng where 1=1";
  if (request.getParameter("xuehao") == "" || request.getParameter("xuehao") == null) {
  } else {
    sql = sql + " and xuehao like '%" + request.getParameter("xuehao") + "%'";
  }
  if (request.getParameter("xingming") == "" || request.getParameter("xingming") == null) {
  } else {
    sql = sql + " and xingming like '%" + request.getParameter("xingming") + "%'";
  }
  if (request.getParameter("lianxishouji") == "" || request.getParameter("lianxishouji") == null) {
  } else {
    sql = sql + " and lianxishouji like '%" + request.getParameter("lianxishouji") + "%'";
  }
  sql += " order by id desc";
  ArrayList<HashMap> list = PageManager.getPages(url, 15, sql, request);
  int i = 0;
  for (HashMap map : list) {
    i++;
  %>
  <tr>
    <td width="30" align="center"><%=i%></td>
    <td><%=map.get("xuehao")%></td>
    <td><%=map.get("mima")%></td>
    <td><%=map.get("xingming")%></td>
    <td align='center'><%=map.get("xingbie")%></td>
    <td><%=map.get("lianxishouji")%></td>
    <td><%=map.get("dizhi")%></td>
    <td width="138" align="center"><%=map.get("addtime")%></td>
    <td width="60" align="center"><a
    href="xuesheng_updt.jsp?id=<%=map.get("id")%>">修改</a> <a
    href="xuesheng_list.jsp?scid=<%=map.get("id")%>"
    onClick="return confirm('真的要删除?')">删除</a> <a
    href="xuesheng_detail.jsp?id=<%=map.get("id")%>">详细</a></td>
  </tr>
  <%
  }
  %>
  </table>
  <br> ${page.info }
</body>
</html>

课程管理


9628e09c0e0846a6aaf97d94a9a6d5eb.png

成绩管理


0fe9329e46f34bd88e32d1aca51a23a4.png

后台数据库


c09e66f355d0486ca443fcae82443df8.png


源代码下载(含数据库)

https://download.csdn.net/download/m0_54925305/85414218


毕设项目专栏

https://blog.csdn.net/m0_54925305/category_11702151.html?spm=1001.2014.3001.5482


相关文章
|
29天前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
29 1
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
110 3
|
1月前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
37 1
|
2月前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
137 3
|
2月前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
42 2
|
2月前
|
安全 NoSQL 关系型数据库
阿里云数据库:构建高性能与安全的数据管理系统
在企业数字化转型过程中,数据库是支撑企业业务运转的核心。随着数据量的急剧增长和数据处理需求的不断增加,企业需要一个既能提供高性能又能保障数据安全的数据库解决方案。阿里云数据库产品为企业提供了一站式的数据管理服务,涵盖关系型、非关系型、内存数据库等多种类型,帮助企业构建高效的数据基础设施。
124 2
|
2月前
|
存储 NoSQL 关系型数据库
数据库管理系统
【10月更文挑战第8天】
146 1
|
2月前
|
数据可视化 API PHP
低代码开发工具-学生管理系统-老师管理增删改查实现
低代码开发工具-学生管理系统-老师管理增删改查实现
42 5
|
2月前
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
179 5
|
2月前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
下一篇
DataWorks