精华内容
下载资源
问答
  • 这是我的一篇java web学生成绩管理系统中的数据库设计,其实也就是六张表而已,没有什么复杂的内容。我使用的MySQL 8.0
  • 【课程设计】Java Web学生成绩管理系统

    千次阅读 多人点赞 2021-03-21 20:21:16
    Java Web 学生成绩管理系统 要求:写一个基于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>
    

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

    展开全文
  • 基于Web学生成绩管理系统设计和实现
  • 为了提高学生及教师对学生学习成绩查询的速度及准确度,采用MVC(Model-View-Controller)设计模式 、JSP技术、数据库连接池技术、系统安全控制等技术在系统设计中应用。做了学生成绩查询系统的总体设计和具体模块的...
  • 基于Web 学生成绩管理系统设计与实现 该系统基于校园网,采用ASP.NET+SQL Server 开发技术,解决了传统人工方式处理学生成绩信息的弊端,实现了学校人力资源的优化和学生成绩信息的科学管理,具有较高的实用价值。
  • 本人亲自书写的oracle课程设计,发布出来方便大家。 第一节 概述 3 1、课题名称 3 2、背景说明 3 ...第七节 系统部分模块演示 15 1、登陆模块 15 2、恢复以及彻底删除模块 17 第八节 课程设计小结 19 附言 20
  • 基于Web学生成绩管理系统

    千次阅读 2021-03-05 20:07:33
    本次课程设计课题为学生成绩管理系统,该学生成绩管理系统主要包括前台用户界面的开发和后台数据库的开发,重点在于后台数据库的开发。要求建立起完整性强、数据一致性和数据安全性好的数据库。在前端用户界面的开发...
    源码及论文下载:
    http://www.byamd.xyz/tag/java/
    
    

    摘 要

    本次课程设计课题为学生成绩管理系统,该学生成绩管理系统主要包括前台用户界面的开发和后台数据库的开发,重点在于后台数据库的开发。要求建立起完整性强、数据一致性和数据安全性好的数据库。在前端用户界面的开发和设计则要求应用程序能提供强大的数据操纵功能,同时也要具备界面友好、使用简单方便等特点。之后需要将数据通过界面操作输入到系统的数据库里面。

    本系统主要运用MySQL为后台数据库,web作为前台技术,以eclipse为开发工具,系统实现了老师管理、学生管理、班级管理、课程管理、学生成绩报表等必需的功能,做到操作简单,界面友好,运行比较稳定,可适用于大学院校大学生成绩管理。

    关键词:学生成绩管理 ,java EE,MySQL数据库 ,eclipse

    **
    **

    Abstract

    This course design topic for the student achievement management system, the student achievement management system mainly includes the development of the foreground user interface and the backstage database, the emphasis is on the development of the background database. It is required to establish a database with strong integrity, data consistency and data security. In the front-end user interface development and design requires that the application program can provide powerful data manipulation function, and also has the characteristics of friendly interface, simple and convenient use. After that, we need to input the data into the database of the system through the interface operation.

    This system mainly uses MySQL as the background database, web as the foreground technology and eclipse as the development tool. The system realizes the necessary functions such as teacher management, student management, class management, course management, student score report and so on. It has the advantages of simple operation, friendly interface and stable operation, which can be applied to the management of College Students’ scores.

    Key words: student achievement management, Java EE, MySQL database, eclipse

    第一章 绪 论

    1.1研究的背景及意义

    1.1.1选题的背景

    随着教育事业的不断发展, 学校的规模不断扩大, 学生数量及其信息量的急剧增加, 有关学生的各种信息处理也随之展开。学生成绩管理信息系统应运而生了,它可用来管理学生信息与提高系统管理工作的效率。学生成绩管理系统把 eclipse(前台开发)与 MYSQL(后台管理)有机地结合,完成学生信息的规范管理、科学统计和快速查询,从而可大大减少该管理上的工作量。

    数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。 合理的数据库结构设计可以提高数据库存储的效率, 保证数据的完整性和一致性。同时,合理的数据结构也将有利于程序的顺利实现。

    1.2系统目标

    该系统主要建立一个基于B/S模式的实验室信息管理系统,用户和管理员不需要下载客户端就可以通过浏览器访问学生管理系统,快捷方便,从网页获取当前的学生信息,及时的更新信息,修改信息,保证信息的正确性和时效性,从而更好、更快捷、更便利的管理学 生信息,实现学生信息的直观可视化和及时可靠化,本系统主要针对与系统相关的两类用 户实现信息的管理:

    1.对于管理员:可以登陆到管理员页面,可以方便的进行班级信息管理、成绩信息管理、用户管理和系统管理。

    2.对于教师:教师可以通过登录进入普通用户界面以后进行班级信息管理、成绩信息管理和系统管理,但是无法修改其他的用户的信息。

    3.对于学生:学生可以通过登录进入普通用户界面以后进行班级信息查询、成绩信息查询。

    1.3组员分工

    题目 学生成绩管理系统
    项目组成员 个人项目描述 自我评定
    1、前台web页面搭建及页面设计2、负责通过jdbc实现前后端链接调用3、使用navicat工具对数据库具体实施
    1、对学生成绩管理系统进行需求分析和具体系统功能设计2、构建思维导图、数据库表结构、视图文件,E-R图3、数据系统测试与维护4、使用navicat工具对数据库具体实施。

    注:排名不分先后

    **
    **

    第二章 需求分析

    2.1功能需求分析

    本课题为学校成绩管理系统,目的在于可以让教师更方便、快捷的增添、删除、修改学生的相关信息,让学生能够更加方便的查询自己的选课及课程成绩情况,并且支持管理员的后台信息管理。

    (1)用户添加功能,可以在本系统中添加管理员、教师、学生等不同权限级别的用户。

    (2)用户登录功能,实现不同权限级别用户的登录。

    (3)后台管理,实现学生信息管理、教师信息管理、课程信息管理、年级信息管理、班级信息管理等功能。

    (4)成绩管理,实现成绩录入、成绩统计、报表操作等功能。

    (5)数据库管理,实现MySQL数据库的初始化操作、数据库备份操作、数据库恢复等功能。

    根据需求分析得出学生成绩管理系统功能结构图。如图2.1-1所示:

    img

    图2.1-1 学生成绩管理系统功能结构图

    2.2 技术应用

    2.2.1 MySQL技术的应用

    MySQL 是一种快速易用的 RDBMS,很多企业(不分规模大小)都在使用它来构建自己的数据库。MySQL 由一家瑞典公司 MySQL AB 开发、运营并予以支持。它之所以非常流行,原因在于具备以下这些优点:

    (1)基于开源许可发布,无需付费即可使用。

    (2)自身的功能非常强大,足以匹敌绝大多数功能强大但却价格昂贵的数据库软件。

    (3)使用业内所熟悉的标准SQL数据库语言。

    (4)可运行于多个操作系统,支持多种语言,包括 PHP、PERL、C、C++ 及 Java 等语言。

    (5)非常迅速,即使面对大型数据集也毫无滞涩。

    (6)非常适用于 PHP 这种 Web 开发者最喜欢使用的语言。

    (7)支持大型数据库,最高可在一个表中容纳 5千多万行。每张表的默认文件大小限制为 4GB,不过如果操作系统支持,你可以将其理论限制增加到 800 万 TB。

    (8)可以自定义。开源 GPL 许可保证了程序员可以自由修改 MySQL,以便适应各自特殊的开发环境。

    2.2可行性分析

    2.2.1 技术可行性

    本系统是以Java EE为基础并结合MySQL语言进行开发的一款学生成绩管理系统。

    在Java EE开发方面,小组成员已经有一定的Java EE基础,已经熟练地掌握了web界面创建、easy ui 的使用。

    在数据库方面,小组成员使用MySQL关系型数据库来实现学生成绩管理系统中的各种数据的增、删、改、查等操作,严谨的使用MySQL的各种关系型语句并且与web界面相结合。

    2.2.2 操作可行性

    本学生成绩管理系统采用Java-EE技术实现了浏览器下的GUI界面。小组通过协作共同完成了GUI界面的规划,以及管理员、教师端、学生端等各种不同权限级用户的操作,使得任何用户都可以方便的在WEB界面下通过点击所需要的相关功能来实现相应权限所对应的各种操作。

    2.2.3 社会效益可行性

    本系统的设计完全基于免费、开源。我们旨在让该系统能够真正的应用到学校对学生成绩的管理当中,任何用户都可以免费的下载、使用并且可以参考、修改本系统的源代码,增加所需要的功能。

    2.3系统分析

    本课题为实现更加实用的学生成绩管理系统,对此系统做了详细的系统分析。包括系统的可行性分析和系统功能模块分析等。

    2.3.1软件体系结构

    学生成绩管理系统是对学生成绩信息的管理和维护,是以数据为中心的体系结构,依靠数据联通各个部分,使之协调工作。

    2.3.1.1体系结构示意图

    img 图2.3.1-1 学生成绩管理系统的体系结构示意图

    2.3.1.2 数据流图

    为了提高系统安全性,增加了用户身份验证环节。根据该系统的数据关系,整理出了图2.3.1-2所示的数据流图。本数据流图采用了事务分析的方法。

    img

    图2.3.1-2 学生成绩管理系统数据流图

    2.3.1.3 学生成绩管理系统功能思维导图

    从软件的整体布局考虑增加了系统初始化模块和菜单显示模块,用以完成系统运行环境的搭建,图3.1-3是对图3.1-2的数据流图进行分析和分解得到的功能思维导图。

    img

    图2.3.1-3 学生成绩管理系统功能思维导图

    2.4老师模块分析

    2.4.1模块结构

    由同组成员根据功能和数据流图可以得出教师服务子系统的软件结构图,如图2.4.1所示

    img

    图2.4.1教师服务系统软件结构图

    2.5学生模块分析

    2.5.1模块结构

    由同组成员根据功能和数据流图可以得出学生服务子系统的软件结构图,如图2.5.1所示

    img

    图2.5.1学生服务系统软件结构图

    2.6报表输出模块分析

    2.6.1功能描述

    基于HTTP servlet和DAO 方法实现了报表输出功能。可以通过选择某一年级的某一个班级,打印出该班级从入学到现在的所有学生的课程成绩到一个EXCEL表中。

    2.6.2具体实现代码

    public void exportScore(HttpServletResponse response, Exam exam) {

    ​ //获取需要导出的数据

    ​ List<Map<String, Object>> list = dao.getScoreList(exam);

    ​ //获取考试信息

    ​ Exam em = (Exam) dao.getObject(Exam.class, “SELECT name, time FROM exam WHERE id=?”, new Object[]{exam.getId()});

    ​ //设置文件名

    ​ String fileName = em.getName()+".xls";

    ​ //定义输出类型

    ​ response.setContentType(“application/msexcel;charset=utf-8”);

    ​ //设定输出文件头

    ​ try {

    ​ response.setHeader(“Content-Disposition”, “attachment; filename=”+URLEncoder.encode(fileName, “UTF-8”));

    ​ } catch (UnsupportedEncodingException e1) {

    ​ e1.printStackTrace();

    ​ }

    ​ //获取导出的课程

    ​ List courseList = getColumn(exam);

    ​ //表头长度

    ​ int len = 2 + courseList.size();

    ​ if(exam.getType() == Exam.EXAM_GRADE_TYPE){

    ​ len += 1;

    ​ }

    ​ //设置excel的列名

    ​ String[] headers = new String[len];

    ​ headers[0] = “姓名”;

    ​ headers[1] = “学号”;

    ​ int index = 2;

    ​ for(Object obj : courseList){

    ​ Course course = (Course) obj;

    ​ headers[index++] = course.getName();

    ​ }

    ​ if(exam.getType() == Exam.EXAM_GRADE_TYPE){

    ​ headers[len-1] = “总分”;

    ​ }

    ​ ExcelTool et = new ExcelTool<>();

    ​ //导出

    ​ try {

    ​ et.exportMapExcel(headers, list, response.getOutputStream());

    ​ } catch (Exception e) {

    ​ e.printStackTrace();

    ​ }

    ​ }

    **
    **

    第三章 数据库设计

    3.1概念结构设计

    3.1.1设计思路

    概念模型是数据库系统的核心和基础。概念设计阶段的主要任务和目标是根据需求分析的结果找出所有数据实体,画出对应的E-R图。对于较复杂的系统,通常首先要根据各个用户对数据和使用权限的不同画出各自对应的局部E-R图,然后把各个局部E-R综合起来形成系统的整体ER图。所以就针对本系统来说,根据实际业务,首先抽象班级信息管理、成绩管理、用户等实体,再根据业务的需求分析出各个实体所拥有的属性,并以此设计出系统的概念模型。

    3.1.1.1 管理员用户E-R图

    img

    图 3.1.1-1管理员用户E-R图

    3.1.1.2 教师教授科目及班级E-R图

    img

    图3.1.1-2教师科目班级E-R图

    3.1.1.3 教师学生E-R图

    img

    图3.1.1-3教师学生E-R图

    3.1.1.4 年级科目E-R图

    img

    图3.1.1-4年级科目E-R图

    3.1.1.5 学生成绩E-R图

    img

    图3.1.1-5学生成绩E-R图

    3.1.1.6 学生科目E-R图

    img

    图3.1.1-6学生科目E-R图

    3.1.1.7 全局E-R图

    img

    图3.1.1-7全局E-R图

    3.1.1.8 UML E-R图

    img

    图3.1.1-8UML E-R图

    3.2逻辑结构设计

    3.2.1设计思路

    逻辑设计阶段的主要任务和目标是根据概念设计的结果设计出数据库的逻辑结构模式,包括全局模式和各个外模式。对于本系统来说,管理员在使用本系统时,用账号和密码进行登陆操作,进入系统主页面。本系统包括班级信息管理、成绩信息管理、用户管理和系统管理,普通用户不具有用户管理这个模块。管理员可以通过系统对每个大模块下的小模块进行增、改、删、查等操作。

    3.3物理结构设计

    3.3.1存取方式

    数据库结构的物理设计是指对一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,主要是设计表结构。系统数据库设计中,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。基本上是将逻辑设计中的实体转换成物理设计中的表,而本系统也是如此是通过关系表的形式存取数据。

    3.3.2存储结构

    数据库名:ssms

    序号 表名 标签说明 功能说明
    1 clazz 班级表 存储班级信息
    2 clazz_course_teacher 班级科目老师表 存储老师授课班级及科目的信息
    3 course 科目表 存储科目信息
    4 escore 成绩表 存储成绩信息
    5 exam 考试表 存储考试信息
    6 grade 年级表 存储年级信息
    7 grade_course 年级科目表 存储年级学习科目信息
    8 student 学生表 存储学生信息
    9 system 系统表 存储学生信息
    10 teacher 老师表 存储老师信息
    11 user 用户表 存储用户信息

    表名:clazz

    类型 长度 小数点 允许空值
    id int 11 0
    name varchar 50 0
    gradeid int 11 0

    表名:clazz_course_teacher

    类型 长度 小数点 允许空值
    id int 11 0
    clazzid int 11 0
    gradeid int 11 0
    courseid int 11 0
    teacherid int 11 0

    表名:course

    类型 长度 小数点 允许空值
    id int 11 0
    name varchar 50 0

    表名:escore

    类型 长度 小数点 允许空值
    id int 11 0
    examid int 11 0
    clazzid int 11 0
    studentid int 11 0
    gradeid int 11 0
    courseid int 11 0
    score int 5 0

    表名:exam

    类型 长度 小数点 允许空值
    id int 11 0
    name varchar 50 0
    time date 0 0
    remark varchar 200 0
    type tinyint 2 0
    gradeid int 11 0
    clazzid int 11 0
    courseid int 11 0

    表名:grade

    类型 长度 小数点 允许空值
    id int 11 0
    name varchar 50 0

    表名:grade_course

    类型 长度 小数点 允许空值
    id int 11 0
    gradeid int 11 0
    courseid int 11 0

    表名:student

    类型 长度 小数点 允许空值
    id int 11 0
    number varchar 20 0
    name varchar 20 0
    sex varchar 4 0
    phone varchar 20 0
    qq varchar 20 0
    photo mediumblob 0 0
    clazzid int 11 0
    gradeid int 11 0

    表名:system

    类型 长度 小数点 允许空值
    id int 11 0
    schoolName varchar 100 0
    forbidTeacher tinyint 2 0
    forbidStudent tinyint 2 0
    noticeTeacher varchar 500 0
    noticeStudent varchar 500 0

    表名:teacher

    类型 长度 小数点 允许空值
    id int 11 0
    number varchar 20 0
    name varchar 20 0
    sex varchar 4 0
    phone varchar 20 0
    qq varchar 20 0
    photo mediumblob 0 0

    表名:user

    类型 长度 小数点 允许空值
    id int 11 0
    account varchar 30 0
    password varchar 30 0
    name varchar 20 0
    type tinyint 1 0

    3.4数据库实施

    3.4.1数据库连接

    JDBC是一种用于执行SQL语句的JavaAPI,可为多种数据库提供连接接口。JDBC要先将驱动包mysql-connector-java-5.1.7-bin.jar加入项目。之后利用连接池进行前后端连接。

    JDBC连接数据库步骤:

    第一步:加载驱动

    第二步:连接数据库

    第三步:使用语句操作数据库

    第四步:关闭数据连接,释放资源

    将JDBC加入eclipse项目中,利用数据库连接池进行前后端连接。

    img

    图3.4.1mysql-connector-java-5.1.7-bin.jar

    连接池代码如下:

    ​ <propertyname=“driverClass”>com.mysql.jdbc.Driver

    ​ <propertyname=“jdbcUrl”>jdbc:mysql://localhost:3306/ssms?characterEncoding=utf-8

    ​ root

    ​ ftx19981014

    3.4.2连接数据库主要代码

    public class MysqlTool {

    ​ private static ComboPooledDataSource dataSource = null;

    ​ private static ThreadLocaltl=

    new ThreadLocal();

    ​ static {

    ​ dataSource = new ComboPooledDataSource();

    ​ }

    ​ public static DataSource getDataSource(){

    ​ return dataSource;

    ​ }

    ​ public static Connection getConnection(){

    ​ Connection conn = tl.get();

    ​ try {

    ​ if(conn == null){

    ​ conn = dataSource.getConnection();

    ​ }

    ​ } catch (SQLException e) {

    ​ e.printStackTrace();

    ​ }

    ​ tl.set(conn);

    ​ return conn;

    ​ }

    ​ /*** 开始事务* @throws SQLException*/

    ​ public static void startTransaction(){

    ​ Connection conn = getConnection();

    ​ try {

    ​ conn.setAutoCommit(false);

    ​ } catch (SQLException e) {

    ​ e.printStackTrace();

    ​ }

    ​ }

    ​ /回滚事务 @throws SQLException/

    ​ public static void rollback(){

    ​ Connection conn = getConnection();

    ​ try {

    ​ conn.rollback();

    ​ } catch (SQLException e) {

    ​ e.printStackTrace();

    ​ }

    ​ }

    ​ /**

    ​ * 提交事务

    ​ * @throws SQLException

    ​ */

    ​ public static void commit(){

    ​ Connection conn = getConnection();

    ​ try {

    ​ conn.commit();

    ​ System.out.println(“数据库链接成功!”);

    ​ } catch (SQLException e) {

    ​ System.out.println(“数据库链接失败!”);

    ​ e.printStackTrace();

    ​ }

    ​ }

    ​ /*** 关闭Connection,并移除线程中的连接

    ​ */

    ​ public static void closeConnection(){

    ​ close(getConnection());

    ​ tl.remove();

    ​ }

    ​ public static void close(Connection conn){

    ​ try {

    ​ if(conn != null){

    ​ conn.close();

    ​ }

    ​ } catch (SQLException e) {

    ​ e.printStackTrace();

    ​ }

    ​ }

    ​ public static void close(Statement stm){

    ​ try {

    ​ if(stm != null){

    ​ stm.close();

    ​ }

    ​ } catch (SQLException e) {

    ​ e.printStackTrace();

    ​ }

    ​ }

    ​ public static void close(ResultSet rs){

    ​ try {

    ​ if(rs != null){

    ​ rs.close();

    ​ }

    ​ } catch (SQLException e) {

    ​ e.printStackTrace();

    ​ }

    ​ }

    }

    **
    **

    第四章 系统实现与测试分析

    4.1系统开发环境

    4.1.1软件运行环境建议

    (1)操作系统:Windows 7, Windows 10,

    (2)数据库软件:Navicat Premium: 用于专业人员管理数据库数据

    (3)Java环境:Java EE

    4.2系统实现

    学生成绩管理系统界面设计

    界面设计是为了满足系统专业化标准化的需求而产生的对系统的使用界面进行美化优化规范化的设计分支。具体包括框架设计,按钮设计,面板设计,菜单设计,标签设计,图标设计,滚动条及状态栏设计等等。

    4.2.1用户登录界面设计

    用户登录界面图如下:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CzG8j8Ui-1612610048274)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5Cwps16-1612606992289.png)]img

    图4.2-1用户登录界面设计图

    4.2.2管理员主界面设计

    管理员主界面图如下:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2800vVt8-1612610048282)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5Cwps18.png)]img

    图4.2-2管理员主界面设计图

    4.2.3老师主界面设计

    老师主界面图如下:

    imgimg

    图4.2-3老师主界面设计图

    4.2.4学生主界面设计

    学生主界面图如下:

    imgimg

    图4.2-4学生主界面设计图

    4.2.5添加用户设计

    添加用户图如下:

    img

    图4.2-5添加用户设计图

    4.2.6修改用户界面设计

    修改用户界面图如下:

    img

    图4.2-6修改用户界面设计图

    4.2.7增加年级界面设计

    增加年级界面图如下:

    img

    图4.2-7增加年级界面设计图

    4.2.8添加考试界面设计

    添加界面图如下:

    img

    图4.2-8添加考试界面设计图

    4.2.9登记成绩界面设计

    登记成绩界面图如下:

    img

    图4.2-9登记成绩界面设计图

    4.2.10查看成绩界面设计

    查看成绩界面图如下:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W9PFQUPb-1612610048315)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5Cwps29-1612606992290.png)]

    图4.2-10查看成绩界面设计图

    4.2.11导出成绩界面设计

    导出成绩界面图如下:

    imgimg

    图4.2-11导出成绩界面设计图

    4.3测试设计

    4.3.1测试分析

    为了发现和报告学生成绩管理系统的错误和缺陷。通过测试,确保本系统的功能、互操作性等符合软件的设计要求,满足用户的使用要求。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便对系统进行升级时进行改进。

    4.3.2用户登录测试要点

    (1)测试要点:用户名和密码,以及对应用户的权限是否正常。

    (2)测试过程:登录系统,观察用户名和密码是否为真,验证码是否正确以及观察用户登录后的界面显示。若为真,进入系统;若为假,提示重新输入用户信息。

    (3)测试结果:经过实际测试,进入系统后,界面功能显示与用户权限所允许的功能相对应,说明用户登录功能一切正常。

    4.3.3修改学习名称及教师学生通知和禁止登录功能测试要点

    (1)测试要点:测试所有功能是否正常。

    (2)测试过程:输入老师学生通知,开启禁止登录功能,然后登录老师学生账号,查看是否显示正常。

    (3)测试结果:经过实际测试,在测试过程中老师学生通知显示正常,禁止登录功能正常。

    **
    **

    第五章 总结

    在这次学生成绩管理系统数据库课程设计中,通过使用eclipse和MySQL数据库进行系统设计,前端显示采用了web技术进行布局设置和调整,数据库采用的是MySQL数据库5.1版本,并学会使用Java EE通过JDBC驱动连接MySQL数据库,数据库并搭配图形化界面软件Navicat来进行操作数据库,并与前端数据请求进行响应。

    通过此次课程设计,使我更加扎实的掌握了有关数据库设计等方面的知识,也巩固了web与Java EE等方面的知识。在系统的设计过程中我们小组虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,同时也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。

    这次课设提高自己的动手能力并熟悉了数据库的简单操作,体验了一个系统开发的过程,加强了理论与实践结合的能力。

    在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。

    附录

    参考文献

    [1] 李运莉.《web数据库应用系统性能优化》.人民邮电出版社,2011年

    [2] 王家华.《软件工程》.东北大学出版社,2017年

    [3] 魏善沛.《数据库系统概论》. 清华大学出版社,2016年

    [4] 库俊国.《基于J2EE技术的Web应用体系研究及实践》.人民邮电出版社,2014年

    展开全文
  • java web学生成绩后台管理系统,基于mvc设计模式实现,可以做为java毕业设计项目 项目描述 (1)该系统的用户分为教师和学生。教师的功能有:管理某一学生或课程的信息以及成绩,包括增、删、查、报表打印等;学生...
  • 目录 摘要 1 Abstract 2 第一章 绪论 5 1.1课题来源 5 1.2 目前情况分析 6 第二章 本系统的开发平台和层次...5.6 学生成绩查询功能的实现 37 5.7成绩查询功能详细分析: 38 第六章 毕业设计小结 42 致谢 43 参考文献 44
  • 学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,但是几年前,各个学校的学生成绩管理基本上...

    大学生课程设计 ------ Java Web课程设计(学生成绩管理系统01)

    Java Web课程设计(代码+课程报告)

    课程作业效果如下:

    学生1:后台实现、数据库设计、前端后台整合

    学生2:前端美化、数据库设计、前端后台整合

    一、 需求分析(简介项目的背景、作用)

    学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,但是几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个学校的规模增大,有关学生成绩管理工作所涉及的数据量越来越大,有的学校不得不不靠增加人力、物力来进行学生成绩管理。这种管理方式存在着许多缺点,如:效率低、保密性差,另外所用其时间长,产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。如今学校的学生越来越多,成绩管理的工作量越来越大,手工管理成绩的弊端也越来越明显。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

    针对高等院校的教学工作设计应用系统——学生成绩管理系统,该系统能够对学生各门学科成绩信息以及其他与成绩相关的信息进行综合管理。

    二、 主要功能

    教务管理员:登录、注销、导入本学期开课的课程信息、导入当前在校学生的班级与学生信息、确定开课班级及开课性质(包括正常、补考、重修、缓考等)、将开课班级分配给老师、设置成绩初始状态为未录入,设置成绩的最后提交日期,

    教师:登录、注销、查看本学期及过去学期所授课程的学生上课班级及成绩、录入本学期课程成绩前设置成绩的分布比例、录入成绩、保存成绩、提交成绩(成绩提交后,教师只可以查看与打印成绩);

    学生:登录、注销、查询成绩(学生成绩查看分为已修历史成绩查看及当前学期成绩查看两模块)。

    报表:以班级为单位打出全部课程成绩报表包括每门课程平均分,总人数,不合格人数。

    三、 数据库设计(所涉及的表、ER图)(略)

    ---------------------------------------------------我是分割线------------------------------------------------------------------------

    请到百度网盘下载全部文件(代码+论文)

    链接:https://pan.baidu.com/s/16zCVz4WZ1tk8RTtssQuiFg
    提取码:(请订阅后私信,每天会看)

    展开全文
  • WEB课设之学生成绩管理系统

    千次阅读 多人点赞 2019-07-18 17:40:44
    WEB课设之学生成绩管理系统 一、设计内容 学校每年都会有学生基本信息变动,也会举行期中期末考试。如何有效地管理这些学生的基本信息和成绩,帮助学校和老师掌握学生的基本情况,这就是学生成绩管理系统需要完成...

    WEB课设之学生成绩管理系统

    一、设计内容

    学校每年都会有学生基本信息变动,也会举行期中期末考试。如何有效地管理这些学生的基本信息和成绩,帮助学校和老师掌握学生的基本情况,这就是学生成绩管理系统需要完成的功能。学生成绩管理系统主要是用来管理学生基本信息数据与学生成绩的系统。需要提供如录入、删除、修改、查找学生基本信息以及成绩,甚至个别学生或者全体学生成绩报表的导出和学生成绩柱状图的生成。

    1、 系统需求分析
    1.1 系统功能分析
    本系统主要的功能是向学校提供学生的基本信息和考试成绩。
    本系统主要有以下几项功能:
    a、用户登录相应账号并且输入对应密码才能进入系统进行相应操作
    b、添加学生功能:姓名、学号、性别、出生年月日。(学号系统会自动生成且唯一)
    c、根据学生学号或者姓名查找学生信息功能:在界面上显示姓名、学号和成绩
    d、学生信息的修改与删除功能:不能修改学号。
    e、根据学生学号查找学生成绩功能:在界面上显示姓名、学号和成绩。
    f、根据学生姓名(支持模糊匹配)查找学生成绩功能:并在界面上显示姓名、学号和成绩,如果有多个相同姓名学生存在,一起显示出来。
    g、修改添加学生成绩功能:每个人都有数学、Java、英语、体育四门课,可分课程输入成绩。
    h、生成学生学习情况报表功能:报表包含学号、姓名、各科目成绩及对应的该科目班级平均值,总成绩以及班级总成绩平均值,用户可选择分成个人或者全班学习情况导出至excel文件。
    i、支持对单个学生各科成绩生出柱状分布图。

    1.2 系统功能模块设计(划分)
    根据系统功能要求,可以将系统分解成几个模块来分别设计应用程序界面,如图 1-1所示。
    在这里插入图片描述
    图1-1 学生成绩管理系统功能模块图

    1.3 与其它系统的关系
    学生成绩管理系统是校园信息管理系统的一个组成部分。它为其它系统如班级信息管理系统、教学管理系统、宿舍分配系统等提供学生的基本情况。同时需要其他系统提供的班级设置和院系设置等情况。这些系统可以使用同一个数据库,直接相互调用所需的数据。

    1.4 数据流程图
    学生成绩管理系统的数据流程如图1-2所示。
    在这里插入图片描述
    图1-2 学生成绩管理系统数据流程图

    2、数据库设计
    2.1 数据库需求分析
    根据上一节图1-2学生成绩管理系统数据流程图,可以列出以下数据项、数据结构以及外部数据支持。
    记录学生信息所需的数据项和数据结构:
    A、学生信息表:学号、姓名、性别、生日。
    B、学生成绩表:学号、姓名、数学成绩、Java成绩、英语成绩、体育成绩。
    C、学生成绩导出表:学号、姓名、数学成绩、Java成绩、英语成绩、体育和四门科目成绩总分数。
    外部数据支持:
    A、 用户登录表:用户名、密码、用户身份证号码。

    2.2 数据库概念结构设计
    下图2-1是本系统所需数据的 E-R 模型图。
    在这里插入图片描述
    图2-1 学生成绩管理系统所需数据的 E-R 模型图

    2.3 数据库逻辑结构设计
    根据系统E-R图,需要设计3个数据表来存放学生的基本信息和成绩信息。为了系统的完整,系统中包括了应用程序设计中所需的1个外部数据表。这4个数据表如表1到表4所示。
    在这里插入图片描述
    表1 student学生信息表
    在这里插入图片描述
    表2 score学生成绩表
    在这里插入图片描述
    表3 report学生成绩导出表
    在这里插入图片描述
    表4 dlb用户登录表

    二、实现方法

    1、功能说明
    1.1 学生成绩管理系统用户注册登录和登录密码的修改
    1.2 学生个人基本信息输入
    1.3 学生个人基本信息查询、修改和删除
    1.4 学生成绩查询和修改
    1.5 学生个人或者全班成绩导出文件
    1.6 学生个人成绩生成柱状图

    2、系统界面设计
    完成数据库创建和功能说明以后,我们可以进行下一步工作,即设计用户界面。我们的系统主要有以下几个界面:
    2.1 用户账号密码信息注册界面
    2.2 用户账号密码登录界面
    2.3 用户登录失败界面
    2.4 用户密码修改界面
    2.5 学生个人基本信息录入界面
    2.6 学生个人基本信息查找界面
    2.7 查找学号失败界面
    2.8 查找姓名失败界面
    2.9 学生个人基本信息修改界面
    2.10 学生个人基本信息删除界面
    2.11 学生个人成绩查询界面
    2.12 学生个人成绩修改界面
    2.13 学生个人或者全部学生成绩导出文件界面
    2.14 学生个人成绩柱状图生成界面
    2.15 学生个人成绩柱状图显示界面
    2.16 用户操作失败界面
    2.17 用户登录主界面

    3、各功能模块的实现
    在这里插入图片描述
    图3-1用户账号密码信息注册界面

    在这里插入图片描述
    图3-2用户账号密码登录界面

    在这里插入图片描述
    图3-3学生个人基本信息录入界面

    在这里插入图片描述
    图3-4学生个人基本信息查找界面

    在这里插入图片描述
    图3-5学生个人基本信息修改界面

    在这里插入图片描述
    图3-6学生个人或者全部学生成绩导出文件界面

    以上只是WEB课设之学生成绩管理系统部分设计内容,如果想要WEB课设之学生成绩管理系统资源请点击下面资源链接进行下载,希望能帮助到你!

    独家资源:点击资源下载链接
    在这里插入图片描述

    各位大佬如有更好的建议或者不清楚的地方让各位产生了疑问,各位可以在评论中提出!

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 329
精华内容 131
关键字:

web设计学生成绩系统设计