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

news/2024/12/29 13:25:27/

基于Ecplise,jsp的学生成绩管理系统

目录

登录页面

系统主页

管理员账号管理

学生查询

课程管理

成绩管理

后台数据库

源代码下载(含数据库)

毕设项目专栏


分为以下四大板块:

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

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

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

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

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

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

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

登录页面

<%@ 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"><divstyle="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"><formaction="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();"><imgalt="看不清请点我!" 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>

系统主页

<%@ 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>

管理员账号管理

<%@ 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="提交" /> <inputname="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>

学生查询

<%@ 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" /> 姓名:<inputname="xingming" type="text" id="xingming"style='border: solid 1px #000000; color: #666666' size="12" /> 联系手机:<inputname="lianxishouji" type="text" id="lianxishouji"style='border: solid 1px #000000; color: #666666' size="12" /> <inputtype="submit" name="Submit" value="查找"style='border: solid 1px #000000; color: #666666' /> <inputtype="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"><ahref="xuesheng_updt.jsp?id=<%=map.get("id")%>">修改</a> <ahref="xuesheng_list.jsp?scid=<%=map.get("id")%>"onClick="return confirm('真的要删除?')">删除</a> <ahref="xuesheng_detail.jsp?id=<%=map.get("id")%>">详细</a></td></tr><%}%></table><br> ${page.info }</body>
</html>

课程管理

成绩管理

后台数据库

源代码下载(含数据库)

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

毕设项目专栏

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



http://www.ppmy.cn/news/61155.html

相关文章

编译方式汇总:Makefile\configure\autogen.sh\configure.ac、Makefile.am文件

一、前言 文章目的&#xff1a;针对各种开源项目&#xff0c;由于部分项目文档写的不够详细&#xff0c;&#xff08;或者是我太菜了&#xff09;&#xff0c;没有进行详细的介绍怎么编译该项目&#xff0c;导致花费过多时间在查找如何编译该项目上。因此该篇文章针对目前遇到的…

带你快速入门光模块行业

一、行业介绍 光纤通信&#xff08;简称光通信&#xff09;是利用光导纤维传输光波信号的一种通信方式&#xff0c;于上世纪六七十年代由华裔科学家高锟博士等人率先提出。 光通信是以激光作为信息载体&#xff0c;以光纤作为传输媒介的通信方式&#xff0c;现已取代电通信成…

SDN — EVPN Overlay 控制面

目录 文章目录 目录EVPN MP-BGPEVPN VxLANEVPN VxLAN 的路由类型Type2:MAC/IP Advertisement Route(MAC/IP 通告路由)VTEP 应用 Type2 通告 host-MAC 地址VTEP 应用 Type2 通告 host-IP 精确路由VTEP 应用 Type2 实现 ARP 广播抑制VTEP 应用 Type2 实现虚拟机迁移Type3:Inc…

Vue3 的生命周期

在 Vue3 中&#xff0c;生命周期钩子函数有所改变。以下是 Vue3 中的生命周期钩子函数及其作用&#xff1a; beforeCreate&#xff1a;在实例被创建之前执行&#xff0c;此时 data、methods、computed 和 watch 等属性都还未初始化。 created&#xff1a;在实例创建完成后执行…

「Codeforces」C. Differential Sorting

C. Differential Sorting https://codeforces.com/contest/1635/problem/C 题目描述 你有一个大小为 n n n 数组&#xff0c;可以选择 3 个索引 x , y , z x,y,z x,y,z &#xff08; 1 ≤ x < y < z ≤ n 1\leq x \lt y \lt z \leq n 1≤x<y<z≤n&#xff09;&a…

【关于C++中----异常】

文章目录 一、C语言中处理错误的方式二、C异常概念三、异常的使用3.1 异常的抛出和捕获3.2 异常的重新抛出3.3 异常安全3.4 异常规范 四、自定义异常体系五、C标准库的异常体系六、异常的优缺点 一、C语言中处理错误的方式 C语言中常见的错误类型包括&#xff1a;语法错误、逻…

【Linux】Linux下的基本指令

&#x1f61b;作者&#xff1a;日出等日落 &#x1f4d8; 专栏&#xff1a;数据结构 人生就是这样&#xff0c;要耐的住寂寞&#xff0c;才守得住繁华。 —— 七堇年 目录 Linux的基本命令(常用)&#xff1a; ls 指令&#xff1a; pwd指…

模拟银行账户转账业务

文章目录 一、需求分析二、核心代码1. 业务层添加 Spring 事务管理2. 配置类中设置事务管理器3. 开启注解式事务驱动 三、相关截图 一、需求分析 需求&#xff1a; 实现任意两个账户间转账操作&#xff0c;要求当转账过程出现异常时&#xff0c;转账方与被转账方的转账操作同时…