【课程设计】Java Web 学生成绩管理系统

摘要:一个基于Java Web的学生成绩管理系统,在学生成绩管理系统中主要有三个权限:管理员、教师和学生。管理员模块主要实现的基本功能是添加教师、添加学生、开设院系和开设课程;教师模块主要实现的基本功能是录入学生成绩、更新学生成绩、查看班级学生成绩和查看教师个人信息(备注:每一位教师只可以管理自己所教班级的学生成绩);学生模块主要实现的基本功能是查看个人所有成绩和个人基本信息。

备注:学生成绩管理系统的部分代码和部分功能展示如下,完整的代码可点击博主主页进行查看,在压缩包下除了完整的系统源代码之外,还有系统所涉及的数据表、数据库Sql语句、设计论文。该系统源代码导入myeclipse后配置好开发环境便可使用,操作简单方便,主要适用于初学者的学习与使用。

一、开发环境

  • Sql Server 2012
  • Myeclipse 2017
  • 建模工具 powerdesigner16.5
  • JDK 1.8

二、数据库连接
数据库的连接采用jdbc的方式,通过URL指定了连接的数据库名称为:student,用户名为USER:sa,登录密码为POSSWORD:123456。连接数据库的具体代码如下:
Dbutil.java

package link;
import java.sql.*;
public class Dbutil {
	private static final String URL="jdbc:sqlserver://localhost;DatabaseName=student";
	private static final String USER="sa";
	private static final String PASSWORD="123456";
	protected static Statement s =null;
	protected static ResultSet rs =null;
	protected static Connection conn =null;
	public static synchronized Connection getConnection()
	{
		try{
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			conn =DriverManager.getConnection(URL,USER,PASSWORD);
		}catch(Exception e){
			e.printStackTrace();
		}
		return conn;}
	public static int executeUpdate(String sql){
		int result=0;
		try {
			s = getConnection().createStatement();
			result=s.executeUpdate(sql);
		}catch(SQLException e) {
			e.printStackTrace();
			}
		return result;
		}
	public static ResultSet executeQuery(String sql){
		try{
			s = getConnection().createStatement();
			rs=s.executeQuery(sql);
		}catch(SQLException e) {
			e.printStackTrace();
			}return rs;
	}
	public static PreparedStatement executePreparedStatement(String sql){
		PreparedStatement ps=null;
		try {
			ps=getConnection().prepareStatement(sql);
		}catch(SQLException e) {
			e.printStackTrace();
			}return ps;
	}
	public static void rollback(){
		try {
			getConnection().rollback();
		}catch(SQLException e) {
			e.printStackTrace();
			}
	}
	public static void close(){
		try{
			if(rs!=null)
				rs.close();
			if(s!=null)
				s.close();
			if(conn!=null)
				conn.close();
		}catch(SQLException e) {
			e.printStackTrace();
			}
	}
	public static void main(String[] args){
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(URL,USER,PASSWORD);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		if(conn == null){
			System.out.println("e");
		}else{
			System.out.println("okk");
	   }
  }
}

三、系统全局E-R图
系统全局E-R图展示了学生成绩管理系统中所有实体之间的关系以及每一个实体所具备的属性。在开发系统的过程当中占据了重要的指导作用。系统全局E-R图如下所示:
在这里插入图片描述
四、管理员模块

  • 管理员管理主页面
    管理员是学生成绩管理系统的最高权限,可以增加教师、增加学生、开设学院、开设课程。jsp页面的代码实现如下:
    ad_Manage.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<HTML>
<body background="background/8.jpg">
<center>
 <font size=2 color = blue>
  <h2>管理员界面</h2>
  <form action="student_manage.jsp" method="post" >
  <input type=submit value="学生信息管理">
  </form>
  <form action="addteacherServlet" method="post" >
  <input type=submit value="添加教师信息">
  </form>
  <form action="addcourseServlet" method="post" >
  <input type=submit value="开设课程信息">
  </form>
  <form action="adddeptServlet" method="post" >
  <input type=submit value="开设院系信息">
  </form>
  <h3><a href="login.jsp">退出登录</a></h3>
</font>
</center>
</body>
</HTML>

管理员管理主页面如下:在这里插入图片描述

  • 添加教师信息页面
    管理员可以实现添加教师的功能,在添加教师的过程中,可以指定该教师是哪个学院的教师。jsp页面的代码实现如下:
    ad_teacher.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
 <center>
<HTML><body background="background/9.jpg">
 <font size=3 color = blue>
  <h2>添加教师信息</h2>
<form action="addteacherServlet" method="post" >
教师编号:<input type="text" name="ZGH" id="ZGH"/><br>
院系编号:<input type="text" name="YZSH" id="YZSH"/><br>
教师姓名:<input type="text" name="JSXM" id="JSXM"/><br>
教师性别:<input type="text" name="JSXB" id="JSXB"/><br>
教师年龄:<input type="text" name="JSNL" id="JSNL"/><br>
联系方式:<input type="text" name="LXFS" id="LXFS"/><br>
  <input type=submit value="添加">
  <input type=reset value="重置">
</form>
		<a href="ad_Manage.jsp">返回上一层</a>
</font></body></HTML></center>

添加教师页面如下:在这里插入图片描述

  • 添加学生页面
    管理员可以添加学生,在添加学生过程中,可以指定该学生所属的学院和所属的班级。jsp页面的代码实现如下:
    ad_student.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
 <center>
<HTML><body background="background/9.jpg">
 <font size=3 color = blue>
  <h2>添加学生信息</h2>
<form action="addstudentServlet" method="post" >
学生学号:<input type="text" name="XH" id="XH"/><br>
院系编号:<input type="text" name="YZSH" id="YZSH"/><br>
学生姓名:<input type="text" name="XSXM" id="XSXM"/><br>
学生性别:<input type="text" name="XSXB" id="XSXB"/><br>
学生年龄:<input type="text" name="XSNL" id="XSBL"/><br>
学生籍贯:<input type="text" name="XSJG" id="XSJG"/><br>
所属专业:<input type="text" name="SSZY" id="SSZY"/><br>
所属班级:<input type="text" name="SSBJ" id="SSBJ"/><br>
  <input type=submit value="添加">
  <input type=reset value="重置">
</form>
		<a href="ad_Manage.jsp">返回上一层</a>
</font></body></HTML></center>

添加学生页面如下:
在这里插入图片描述

  • 开设院系页面
    管理员根据需要开设院系,只有院系成功开设,才能够招收该院系的教师和学生。jsp页面的代码实现如下:
    ad_dept.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
 <center>
<HTML><body background="background/9.jpg">
 <font size=3 color = blue>
  <h2>开设院系信息</h2>
<form action="adddeptServlet" method="post" >
院系编号:<input type="text" name="YZSH" id="YZSH"/><br>
院系名称:<input type="text" name="YXMC" id="YXMC"/><br>
院系电话:<input type="text" name="YXDH" id="YXDH"/><br>
院系地址:<input type="text" name="YXDZ" id="YXDZ"/><br>
  <input type=submit value="添加">
  <input type=reset value="重置">
</form>
		<a href="ad_Manage.jsp">返回上一层</a>
</font></body></HTML></center>

添加院系页面如下:
在这里插入图片描述

  • 开设课程页面
    管理员可以根据要求开设必要的课程,可以指定所教该课程的老师,可以指定该课程是考试课还是考察课,以及该课程的学分。jsp页面的代码实现如下:
    ad_course.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
 <center>
<HTML><body background="background/9.jpg">
 <font size=3 color = blue>
 <h2>开设课程信息</h2>
<form action="addcourseServlet" method="post" >
课程编号:<input type="text" name="KCBH" id="KCBH"/><br>
教师编号:<input type="text" name="ZGH" id="ZGH"/><br>
课程名称:<input type="text" name="KCMC" id="KCMC"/><br>
课程学分:<input type="text" name="KCXF" id="KCXF"/><br>
课程性质:<input type="text" name="KCXZ" id="KCXZ"/><br>
  <input type=submit value="添加">
  <input type=reset value="重置">
</form>
		<a href="ad_Manage.jsp">返回上一层</a>
</font></body></HTML></center>

开设课程的页面如下:
在这里插入图片描述

五、教师模块.

  • 教师管理页面
    教师主要实现的操作是对学生的成绩进行管理,查询所教班级的学生成绩,录入学生成绩和更新学生成绩。jsp页面的代码实现如下:
    teacher.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<HTML>
<body background="background/2.jpg">
<center>
 <font size=2>
  <h2>教师管理界面</h2>
  <form action="inputscoreServlet" method="post" >
  <input type=submit value="录入学生成绩">
  </form>
  <form action="updatescoreServlet" method="post" >
  <input type=submit value="更新学生成绩">
  </form>
  <form action="lookclassroom_message.jsp" method="post" >
  <input type=submit value="查询班级成绩">
  </form>
  <form action="frindteacherServlet" method="post" >
  <input type=submit value="查询个人信息">
  </form>
  <h3><a href="login.jsp">退出登录</a></h3>
</font>
</center>
</body>
</HTML>

教师管理的页面如下:
在这里插入图片描述

  • 录入学生成绩页面
    教师根据所教的课程编号,可以录入所修该课程的学生的成绩。jsp页面的代码显示如下:
    input_score.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
 <center>
<HTML><body background="background/9.jpg">
 <font size=3 color = blue>
 <h3>录入学生成绩</h3>
<form action="inputscoreServlet" method="post" >
学生学号:<input type="text" name="XH" id="XH"/><br>
课程编号:<input type="text" name="KCBH" id="KCBH"/><br>
课程成绩:<input type="text" name="KCCJ" id="KCCJ"/><br>
  <input type=submit value="添加">
  <input type=reset value="重置">
</form>
		<a href="teacher.jsp">返回上一层</a>
</font></body></HTML></center>

录入学生成绩的页面如下:
在这里插入图片描述

  • 查看班级学生成绩页面
    教师只能查询所教班级的学生成绩,输入所教的班级编号,便可以查看班级所有学生的成绩。jsp页面的代码显示如下:
    lookclassroom.jsp
<%@ page contentType="text/html;charset=gb2312" %>
 <center>
<HTML><body background="background/9.jpg">
 <font size=2 color = blue>
 <h3>查看班级成绩</h3>
 <form action="lookclassServlet" method="post" >
   班级编号:<input type="text" name="SSBJ" id="SSBJ"/>
  <input type=submit value="查看">
  <input type=reset value="重置">
</form>
<br>
<table border="1">
		<tr>
		               <th>学号</th>
			<th>姓名</th>
			<th>课程编号</th>
			<th>课程名称</th>
			<th>学分</th>
			<th>课程性质</th>
			<th>成绩</th>
			</tr>
			<%StringBuffer search=(StringBuffer)session.getAttribute("search");
		if(search!=null){
		out.print(search);
		}
		%>
		</table>
		<a href="lookclassroom_message.jsp">返回上一层
</font></body></HTML></center>

查询班级学生成绩的页面如下:
在这里插入图片描述
六、学生模块

  • 查看个人成绩页面
    学生登录学生成绩管理系统之后,便可以查看到自己的个人所有成绩。jsp页面的代码显示如下:
    findstudent_score.jsp
<%@ page contentType="text/html;charset=gb2312" %>
 <center>
<HTML><body background="background/5.jpg">
 <font size=2 color = blue>
 <h3>学生查看个人成绩</h3>
<br><br>
<table border="1">
		<tr>
		    <th>课程编号</th>
			<th>课程名称</th>
			<th>学分</th>
			<th>课程性质</th>
			<th>成绩</th>
			<th>取得学分</th>
			<th>绩点</th>
			<th>学分绩点</th>
			</tr>
			<%StringBuffer search=(StringBuffer)session.getAttribute("search");
		if(search!=null){
		out.print(search);
		}
		%>
		</table>
		<a href="student.jsp">返回上一层
</font></body></HTML></center>

学生查看个人成绩的页面如下:
在这里插入图片描述

  • 查看个人信息页面
    学生点击查看个人信息之后,便可以看到个人的基本信息,以及所属的学院和班级。jsp页面的代码显示如下:
    findstudent_personal.jsp
<%@ page contentType="text/html;charset=gb2312" %>
 <center>
<HTML><body background="background/9.jpg">
 <font size=2 color = blue >
 <h3>学生查看个人信息</h3>
</a><br/>
<table border="1">
		<tr>
		    <th>学号</th>
			<th>院系编号</th>
			<th>姓名</th>
			<th>性别</th>
			<th>年龄</th>
			<th>籍贯</th>
			<th>专业</th>
			<th>班级</th>
			</tr>
			<%StringBuffer search=(StringBuffer)session.getAttribute("search");
		if(search!=null){
		out.print(search);
		}
		%>
		</table>
		<a href="student.jsp">返回上一层
</font></body></HTML></center>

学生查看个人信息的页面如下:
在这里插入图片描述

  • 49
    点赞
  • 503
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 31
    评论
学生成绩信息管理系统涉及到学生、教师、系统管理员、班级、学生成绩课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统管理员进入系统后可对学生、老师、班级、课程进行增删改查操作;学生进入系统,查看成绩、查看和修改自己的信息;老师进入系统后,对自己这门课程学生设置课程成绩、查看和修改自己的信息,查看学生的信息和成绩、以及统计分析学生成绩; 管理员为班级设置年级,为年级设置课程,为班级的每门课程设置老师,为学生设置班级。一个年级有多门课程(语文、数学、外语等等),班级的每门课程只能有一名老师,一个老师可以有多门课程;老师选择自己这门课程为该课程学生登记成绩。老师可以查看其他老师的信息(可以当成是老师的通讯录),查看本课程学生的信息和成绩学生可以查看班级其他同学的信息(可以看成是班级的同学录)。 考试分为两种,一种是年级统考,一种是平时考试。年级统考需要管理员事先添加一次年级统考,考试成绩出来后,老师进入系统选择该次考试为学生登记成绩。平时考试则是班级平时的考试,老师添加考试信息,登记成绩成绩统计分析则是针对年级统考进行分析,主要涉及各学科分数名次,总分名次。 技术实现 系统环境:Windows开发工具:IDEAJava版本:JDK 1.8服务器:Tomcat 1.8数据库:MySQL 5.X系统采用技术:Servlet+Jsp+Jdbc+H-ui+EasyUI+jQuery+Html+Css+Ajax 系统功能系统主要分为三种用户角色,分别是管理员、老师以及学生,其具体功能如下: - 管理员   学生信息管理、教师信息管理、年级信息管理、班级信息管理课程信息管理、考试信息管理系统参数设置 - 老师   教学管理、教师个人信息维护、教师通讯录管理 - 学生考试成绩查询、学生通讯录、学生个人信息维护 运行截图 登录界面: 管理员界面: 考试列表:  成绩统计: 学生信息管理: 教师信息管理: 年级、班级信息管理:  系统设置: 教师界面:  成绩登记:  教师通讯录: 个人信息:  学生界面: 学生成绩查询: 班级通讯录: 学生个人信息:              
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小白_xm

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

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

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

打赏作者

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

抵扣说明:

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

余额充值