精华内容
下载资源
问答
  • java web学生成绩管理系统 java web学生成绩管理系统 java web学生成绩管理系统 java web学生成绩管理系统 java web学生成绩管理系统 java web学生成绩管理系统
  • 这是我的一篇java web学生成绩管理系统中的数据库设计,其实也就是六张表而已,没有什么复杂的内容。我使用的MySQL 8.0
  • 基于Web学生成绩管理系统设计和实现
  • 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课设之学生成绩管理系统资源请点击下面资源链接进行下载,希望能帮助到你!

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

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

    展开全文
  • 基于Web 学生成绩管理系统设计与实现 该系统基于校园网,采用ASP.NET+SQL Server 开发技术,解决了传统人工方式处理学生成绩信息的弊端,实现了学校人力资源的优化和学生成绩信息的科学管理,具有较高的实用价值。
  • 基于Java Web MVC框架的学生成绩管理系统设计.pdf
  • 【课程设计】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>
    

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

    展开全文
  • JAVA学生成绩管理系统课程设计报告
  • 基于jsp的web学生成绩管理系统 jsp+oracle+servlet
  • WEB课设之学生成绩管理系统.zip资源进行解压之后,包含博主本人的WEB课设报告(方便理解设计思路和流程以及源代码)+studentmanagement.zip(导入到eclipse就可以直接运用)+xr-web.sql(数据库文件转储文件,用...
  • Java web应用开发_学生成绩管理系统 课程设计文档; 附上 源代码地址 https://download.csdn.net/download/diors222/9995365 https://download.csdn.net/download/diors222/9977078
  • 基于WEB学生成绩管理系统

    热门讨论 2009-05-19 12:03:28
    本论文中的基于WEB学生成绩管理系统是使用IIS(Internet Information Server)+ASP(Active Server Page)+SQL查询语言+FLASH+ACCESS数据库来实现的。该系统主要包括五个模块:成绩录入模块、成绩查询模块、系统维护...
  • 本次毕业设计根据学生在校的基本情况,分析现状各个学校的基本需求情况,进行设计的一款学生成绩管理系统,通过本系统可以方便的管理学校的基本情况,包括院系管理,考试成绩管理等等,基本情况的管理。本次设计包括...

    摘 要

    本次毕业设计根据学生在校的基本情况,分析现状各个学校的基本需求情况,进行设计的一款学生成绩管理系统,通过本系统可以方便的管理学校的基本情况,包括院系管理,考试成绩管理等等,基本情况的管理。本次设计包括 3 个角色,一个是系统的管理员,还有就是系统的教师以及学生,不同的角色具有不同的权限,管理员对整个系统进行维护,教师进行整个教务系统的维护,学生进行个人信息以及成绩等相关问题的维护。
    本次毕业设计采用 SpringBoot 技术,MySql 数据库,设计一款学生成绩管理系统, 目的是为了解决学生的管理以及学生考试和成绩管理的问题。通过本系统教务管理人员可以更方便的进行学生的管理。
    关键词:学生成绩管理系统;SpringBoot;MySql

    Abstract

    This graduation design analyzes the basic needs of each school based on the basic situation of the school, analyzes the basic needs of each school, and designs a basic information management system for students. Through this system, you can easily manage the basic situation of the school, including department management , Exam score management, etc., basic situation management. This design includes 3 roles, one is the system administrator, and the system is the teacher and the student. Different roles have different permissions. The administrator maintains the entire system, the teacher maintains the entire educational system, and the student performs Maintenance of personal information and related issues.
    This graduation design uses JavaWeb technology, MySql database, design a student information management system, the purpose is to solve the problems of student management and student examination and score management. Through this system, the teaching management personnel can conveniently manage the students.

    Key Words:Score entry form entry system; JavaWeb; MySql

    目 录

    第 1 章 绪论 1
    1.1开发背景 1
    1.2系统描述 1
    1.3开发环境和使用工具 1
    1.3.1开发语言 Java 简介 2
    1.3.2数据库 MySql 简介 2
    1.3.3开发工具 IDEA 简介 2
    1.3.4服务器 Tomcat 简介 2
    第 2 章 系统分析 4
    2.1可行性分析 4
    2.1.1经济可行性分析 4
    2.1.2技术可行性分析 4
    2.1.3成本收益可行性分析 4
    2.1.4后期开发及维护可行性分析 4
    2.2需求分析 4
    2.2.1业务需求 4
    2.2.2用户需求 5
    第 3 章 概要设计 7
    3.1系统功能模块设计 7
    3.2数据库设计 7
    3.2.1数据库概念模型设计 7
    3.2.2数据库表结构设计 10
    第 4 章 系统的设计与实现 14
    4.1管理员端实现 14
    4.1.1登录页面 14
    4.1.2学生信息维护 14
    4.1.3教师信息维护 15
    4.1.4基础信息维护 15
    4.2教师端实现 16
    4.2.1考试信息维护 16
    4.2.2成绩登记 16
    4.2.3教师通讯录 17
    4.2.4个人信息维护 17
    4.3学生端实现 18
    4.3.1成绩查看 18
    4.3.2班级通讯录 18
    4.3.3个人信息维护 19
    第 5 章 系统测试 20
    5.1测试介绍 20
    5.2代码测试 20
    5.3测试概述 20
    5.4单元测试 20
    5.4.1注册测试 21
    5.4.2登录测试 22
    5.5集成测试 23
    结论 24
    参考文献 25
    致谢 26

    第 1 章 绪论

    1.1开发背景
    随着科技的发展,基本上所有的具有一定数据的机构都开始使用计算机数据库来做管理,几乎所有的学校也都已经在使用计算机管理数据的机制,大大的减小了学校学生成绩管理的工作量。通过本次设计,应该达到理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。
    开发学生成绩管理系统可以使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。目前,学校工作繁杂、资料重多,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。

    1.2系统描述
    本次开发也具有很重要的实际意义,它能有效的帮助学校解决现有教学教务中存在的对学生成绩信息进行录入、修改、删除、查询操作问题。使得教师、学生可以在自己的权限内对信息进行访问,修改及查询。简化现有系统的流程是指更加便捷合理易操作。尽可能实现无纸化管理,以解决手工耗时巨大、效率很低的问题。
    通过本系统可以方便的管理学校的基本情况,包括院系管理,考试成绩管理等等, 基本情况的管理。本次设计包括 3 个角色,一个是系统的管理员,还有就是系统的教师以及学生,不同的角色具有不同的权限,管理员对整个系统进行维护,教师进行整个教务系统的维护,学生进行个人信息以及成绩等相关问题的维护。

    1.3开发环境和使用工具
    页面使用超文本语言 JSP 结合 CSS 层叠样式表与脚本语言 JavaScript 设计完成。后台主要使用 Java 语言并结合 SQL 语句。使用框架为 SSM,即 Spring,SpringMVC, MyBatis。
    JavaScript 是一个脚本语言,是在浏览器中解释执行的一个语言,依赖浏览器而运行,现在的 JavaScript 最新的版本已经是 ESCM6 版本,js 是一个很灵活的语言,前端页面的一些校验,提醒等等都可以通过 js 来完成,同时 js 是一个基于对象的脚本语言,

    它的安全性同时也是非常的好,不能访问本地的文件,同时也不允许将数据直接写入到数据库,还有就是 js 是一个可跨平台的语言,现在无论是 pc 端还是移动端的开发都已经离不开 js 语言。
    1.3.1开发语言 Java 简介
    Java 编程语言是一种全新的开发语言,它是由 Sun Microsystems 发布的,具有面向对象的特点,而且运行需要.framework(类库)提供支持,Java 编程语言和 Java 语言有很多的类似特点,如在使用,编译语句及在接口继承上等。Java 语言同时结合了 C 和C++语言的优点,回避了他们的不足,具有高效稳定的特点,如:Java 没有有关宏的使用概念,而且 Java 还结合了 VB 等语言的面向对象和 C++高效运行等特点,由此 Java 已成为网站开发的首选。

    1.3.2数据库 MySql 简介
    MySql 是一个小型的数据库,安装包只有几十兆,相比 oracle 等大型数据库体积要小的多。MySql 数据库是 Microsoft 发布的一个新的数据存储平台,它管理的数据量超出了时间和位置的限制。 数据库还可以存储在半结构化或结构化数据中。 MySql 提供了多种用于查找,查询和分析数据的集成服务,但由于数据存储在服务器上,因此无法控制特定于数据存储库的地址。MySql 支持使用 Eclipse 开发的程序处理数据,MySql 提供了一组高效可靠的数据存储平台,满足几乎所有格式的数据存储要求。

    1.3.3开发工具 IDEA 简介
    IDEA 全称 IntellJ IDEA,和 eclipse 相似,是 java 编程中公认最好的 IDE,提供了大量的智能工具,例如语法提示、代码分析、格式化等。
    IDEA 最核心的特色是它的快捷键,利用快捷键可以极大提高开发效率。
    IDEA 的特点:沉浸式的开发体验(根本停不下来),超强快捷键体系,智能的代码助手,全栈开发环境,丰富的模板支持。

    1.3.4服务器 Tomcat 简介
    Tomcat 是 Apache Software Foundation 项目的中心项目,由 Apache,Sun 以及其他公司和个人开发。在 Sun 的帮助和支持下,Tomcat 始终反映最新的 Servlet 和 JSP 规范。 Tomcat 技术具有先进,稳定的性能,而且免费,因此受到 Java 爱好者的喜爱,得到一部分软件开发者的认可,成为现在比较流行的 Web 应用服务器。许多程序员都喜欢Tomcat。Tomcat 在运行时使用的系统资源更少,可扩展性更高,并且支持开发应用程序系统中常用的功能。

    1.4研究意义
    在学校建设校园网的环境下,学生成绩管理系统是作为学校校园网的重要组成部分。一个功能齐全的学生成绩管理系统不但能够让高层管理者能够更加方便快捷的对所需要的工作进行管理,降低了工作难度,提高了工作效率,同时还为学生和教师提供了极大的方便。学生成绩系统主要是为了提供给学校管理者和学校老师来对学校的工作管理和安排、学生进行查询等方面的操作,能够对学生的成绩进行更加系统高效的管理。根据学生成绩管理系统把学校中各个班级的学生的成绩进行汇总和分析,能够为学校工作人员和教师对学生成绩的分析、管理和查询提供一个平台基础,使学校对学生的成绩信息能够更加全面的了解分析,从而达到提高学生成绩管理统计高效率和提高学校教育教学成绩的目的。

    第 2 章 系统分析

    2.1可行性分析

    2.1.1经济可行性分析
    本次的开发,无需要购买一些额外的器材。只需要一台笔记本电脑即可,所有需要用到的软件都可以到网络上下载,另外需要的参考资料可以到学校的图书馆以及网络上查找,所以本次开发在经济上是可行的。

    2.1.2技术可行性分析
    本网站是基于 JavaWeb,采用现在流行的 SSM 框架实现的,使用的语言、技术等在现在比较流行。数据库使用的是 MySql 数据库,在企业或个人应用中比较常见,由于其体积小、优化了 SQL 查询算法、有效地提高了查询速度,因此方便使用。页面主体框架搭建使用 bootstrap,实现响应式页面,设计的界面简洁大方。总体难度不大,技术有可行性。

    2.1.3成本收益可行性分析
    本系统开发成本不高,花费一个多月在空闲时间完成。开发环境,使用的工具都是免费的。前期投入较少,项目投入运行后开始或许收支不平衡,但随着网站的运营,后期收益是可观的。

    2.1.4后期开发及维护可行性分析
    本次毕业设计的代码的耦合性非常的低,可以方便后期的维护。后期还可以添加个人中心模块。采用的技术是目前的主流技术,如开发语言 Java,框架 SSM,大多数开发人员对此比较熟悉,并且系统设计较合理,便于后期添加功能与维护。

    2.2需求分析

    2.2.1业务需求
    当信息在软件中移动时,将被一系列“变换”所修改。数据流图是一种图形化技术, 它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何的具体物理元素,它只是描绘信息在软件中流动和被处理的情况。数据流图只需要考虑系统必须完成的基本逻辑功能,完全不考虑怎样具体的实现这些功能。
    根据系统功能描述,对系统画数据流图如下:在这里插入图片描述
    图 2-1 系统数据流图

    2.2.2用户需求
    1、学生基本情况录入模块:
    主要功能用来对学生的成绩进行收集和录入。在学生信息保存在系统中的前提下, 成绩录入需要输入学生资料,比如班级,学号,姓名。在准确录入学生资料后,就可以对该学生的各科成绩进行录入。该学生各科成绩录入成功后,系统会提示是否继续进行操作,如果想继续录入学生成绩就输入 y,不想再输入学生成绩的话就输入 n,再输入 n 之后,系统返回到主菜单。
    2、按学生学号查找并显示学生资料模块:
    主要功能是用来查找学生资料。在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息 。
    3、按学生学号计算基点成绩,计算规则参考长春工业大学学分基点计算规则。
    4、按照某门课程学生成绩进行排列模块:
    主要功能是用来对学生的某门课程成绩进行排序。在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按成绩进行排序,这样方便对学生成绩进行排序, 对某一分数段的学生有多少、有谁一目了然。
    5、按姓名查找,删除该学生资料模块:
    主要功能是用来删除学生资料,在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资料后,就可以删除了。由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化
    6、储存学生资料并退出系统模块:

    主要功能是用来储存学生资料。在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,及时更新系统,方便下一次第 3 章 概要设计

    3.1系统功能模块设计
    本次毕业设计一共有 3 个角色,分别是管理员,教师,以及学生,3 个角色,下面分表从 3 个角色进行分析本次毕业设计的结构,见下图 3-1.在这里插入图片描述
    论文下载地址:请点击

    展开全文
  • 完整的学生成绩管理系统,有学生、教师两个角色,包含数据库。
  • SpringMVC+Mybatis+Mysql学生成绩管理系统 SpringMVC初学者,页面做的不太好看,不过初学嘛,只要功能正常就好啦! 效果展示 数据库 ’

    SpringMVC+Mybatis+Maven+Mysql学生成绩管理系统

    初学SpringMVC,页面做的不太好看,不过重要的是理解页面传参过程。
    本文不是一个教程,没有知识点。就是单纯的分享整个项目源码(包括配置文件)。
    你需要先了解什么是springmvc和maven有什么用。


    我这人学习一门新技术就想先看到结果再去慢慢学,故分享出一个简单的项目来帮助正在学习springmvc的小伙伴。

    环境

    IDE:IntelliJ IDEA 2020.1.2(Ultimate Edition)
    数据库:MySQL 8.0


    效果展示

    登录界面

    登录界面

    主界面(很简陋)

    主界面


    新建工程(如果已经知道如何创建maven就请忽略以下步骤,直接到数据库创建)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述这一步目的是配置maven的下载源为国内,提高下载速度。(如果不配置,创建项目可能会很慢)首先你要去官网下载maven到本地,具体教程其他博客有(并配置setting.xml,教程解决maven创建项目慢的问题

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    部署到Tomcat(同样,如果会了就请忽略)

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    创建数据库(如果不会创建数据库网上也有教程,下面给的是数据库脚本)

    CREATE DATABASE ssm
    CREATE TABLE student(	
    	id INT PRIMARY KEY AUTO_INCREMENT,
    	s_name VARCHAR(20),
    	s_class VARCHAR(20),
    	s_java DOUBLE,
    	s_c DOUBLE
    )
    CREATE TABLE account(	
    	s_uname VARCHAR(20) PRIMARY KEY,
    	s_pwd VARCHAR(20)
    )
    INSERT INTO account VALUE('admin','admin');//初始账号密码是admin

    项目源码

    项目结构

    项目结构


    Conroller层

    AccountController

    package cn.itcast.controller;
    
    import cn.itcast.domain.Account;
    import cn.itcast.service.AccountService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.swing.text.AbstractDocument;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.List;
    
    /**
     * 帐户web
     */
    @Controller
    @RequestMapping("/account")
    public class AccountController {
    
        @Autowired
        private AccountService accountService;
    
        //查询所有账户信息
        @RequestMapping("/findallaccount")
        public String findAll(Model model){
            System.out.println("表现层:查询所有账户...");
            // 调用service的方法
            List<Account> list = accountService.findAll();
            model.addAttribute("listaccount",list);
            return "listaccount";
        }
    
       //保存账户信息
        @RequestMapping("/saveaccount")
        public String  save(Account account,Model model) {
            System.out.println("表现层:保存账户...");
            // 调用service的方法
            Account account1=accountService.searchAccount(account);
            System.out.println("提交的账户信息"+account1);
            model.addAttribute("saveaccount",account1);
            if(account1==null){
                accountService.saveAccount(account);
                System.out.println("保存账户成功!");
                return "redirect:/Login.jsp";
            }else{
                System.out.println("用户名已存在!");
                return "redirect:/Register.jsp";
            }
        }
    
        //验证账号密码
        @RequestMapping("/check")
        public String check(Account account,Model model,HttpServletResponse response) throws IOException {
            System.out.println("表现层:验证账户...");
            // 调用service的方法
            Account account1=accountService.searchAccount(account);
            model.addAttribute("accountmes",account1);
            System.out.println("提交的账户"+account);
            System.out.println("查询到的账户"+account1);
            if(account1!=null){
                if(account1.getS_pwd().equals(account.getS_pwd())){
                    System.out.println("密码正确!");
                    return "MainPage";
                }else{
                    System.out.println("密码错误!");
                    response.setContentType("text/html;charset=utf-8");
                    String[] ids = null;
                    try {
                        PrintWriter writer = response.getWriter();
                        String msg = null;
                        msg = "alert('密码错误!');history.go(-1)";
                        writer.print("<script type='text/javascript'>" + msg + "</script>");
                        writer.flush();
                        writer.close();
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }
    
                }
            }else{
                System.out.println("不存在该用户!");
                response.setContentType("text/html;charset=utf-8");
                String[] ids = null;
                try {
                    PrintWriter writer = response.getWriter();
                    String msg = null;
                    msg = "alert('不存在该用户!');history.go(-1)";
                    writer.print("<script type='text/javascript'>" + msg + "</script>");
                    writer.flush();
                    writer.close();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
            return "redirect:/Login.jsp";
        }
    
    }

    StudentController

    package cn.itcast.controller;
    
    import cn.itcast.domain.Student;
    import cn.itcast.service.StudentService;
    import jdk.nashorn.internal.ir.RuntimeNode;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.util.List;
    
    @Controller
    @RequestMapping("/student")
    public class StudentController {
        @Autowired
        private StudentService studentService;
        //查询学生信息,排名信息
        @RequestMapping("/findallstudent")
        public String findall(Model model){
    
            // 调用service的方法
            System.out.println("表现层:查询所有学生...");
            List<Student> list = studentService.FindAllStudent();
            model.addAttribute("liststudent",list);
    
            // 调用service的方法
            System.out.println("表现层:对所有学生排名...");
            List<Student> rank = studentService.RankAllStudent();
            model.addAttribute("rankstudent",rank);
    
            // 调用service的方法
            System.out.println("表现层:学生成绩预警...");
            List<Student> alert = studentService.AlertStudent();
            model.addAttribute("alertstudent",alert);
    
            return "liststudent";
    //        return "redirect:/MainPage.jsp";
        }
    
        //查询指定学生信息
        @RequestMapping("/searchstudent")
        public String  search(Student student,Model model){
            // 调用service的方法
            System.out.println("表现层:查询指定学生...");
            List<Student> search = studentService.SearchStudent(student);
            model.addAttribute("searchstudent",search);
    
            // 调用service的方法
            System.out.println("表现层:查询所有学生...");
            List<Student> list = studentService.FindAllStudent();
            model.addAttribute("liststudent",list);
    
            // 调用service的方法
            System.out.println("表现层:对所有学生排名...");
            List<Student> rank = studentService.RankAllStudent();
            model.addAttribute("rankstudent",rank);
    
            // 调用service的方法
            System.out.println("表现层:学生成绩预警...");
            List<Student> alert = studentService.AlertStudent();
            model.addAttribute("alertstudent",alert);
    
            return "liststudent";
        }
        
        //增加学生信息
        @RequestMapping("/insertstudent")
        public String save(Student student) {
            // 调用service的方法
            System.out.println("表现层:增加指定学生...");
            studentService.InsertStudent(student);
            return "redirect:/student/findallstudent";
        }
        
        //删除学生信息
        @RequestMapping("/deletestudent")
        public String delete(Student student){
            // 调用service的方法
            System.out.println("表现层:删除指定学生...");
            studentService.DeleteStudent(student);
            return "redirect:/student/findallstudent";
        }
    
        //修改学生信息
        @RequestMapping("/updatestudent")
        public String update(Student student){
            // 调用service的方法
            System.out.println("表现层:修改指定学生...");
            studentService.UpdateStudent(student);
            return "redirect:/student/findallstudent";
        }
    
    }
    

    Dao层

    AccountDao

    package cn.itcast.dao;
    
    import cn.itcast.domain.Account;
    import org.apache.ibatis.annotations.Insert;
    import org.apache.ibatis.annotations.Select;
    import org.springframework.stereotype.Repository;
    import java.util.List;
    
    /**
     * 帐户dao接口
     */
    @Repository
    public interface AccountDao {
    
        // 查询所有账户
        @Select("select * from account")
        public List<Account> findAll();
    
        // 保存帐户信息
        @Insert("insert into account (s_uname,s_pwd) values (#{s_uname},#{s_pwd})")
        public void saveAccount(Account account);
    
        //查询指定账号的密码
        @Select("select * from account where s_uname=#{s_uname}")
        public Account searchAccount(Account account);
    
    }
    

    StudentDao

    package cn.itcast.dao;
    
    import cn.itcast.domain.Student;
    import org.apache.ibatis.annotations.Delete;
    import org.apache.ibatis.annotations.Insert;
    import org.apache.ibatis.annotations.Select;
    import org.apache.ibatis.annotations.Update;
    import org.springframework.stereotype.Repository;
    
    import java.util.List;
    
    @Repository
    public interface StudentDao {
    
        @Select("select id,s_name,s_class,s_java,s_c from student order by id")
        public List<Student> FindAllStudent();
    
        @Insert("insert into student (s_name,s_class,s_java,s_c) values (#{s_name},#{s_class},#{s_java},#{s_c})")
        public void InsertStudent(Student student);
    
        @Delete("delete from student where id=#{id}")
        public void DeleteStudent(Student student);
    
        @Update("update student set s_name=#{s_name},s_class=#{s_class},s_java=#{s_java},s_c=#{s_c} where id=#{id}")
        public void UpdateStudent(Student student);
    
        @Select("select id,s_name,s_class,s_java,s_c from student order by s_java+s_c desc")
        public List<Student> RankAllStudent();
    
        @Select("select id,s_name,s_class,s_java,s_c from student where s_name=#{s_name} and s_class=#{s_class}")
        public List<Student> SearchStudent(Student student);
    
        @Select("select * from student where s_java<60 or s_c<60")
        public List<Student> AlertStudent();
    }
    

    service层

    AccountService

    package cn.itcast.service;
    
    import cn.itcast.domain.Account;
    
    import java.util.List;
    
    public interface AccountService {
    
        // 查询所有账户
        public List<Account> findAll();
    
        // 保存帐户信息
        public void saveAccount(Account account);
    
        //查询指定账号信息
        public Account searchAccount(Account account);
    
    }
    

    StudentService

    package cn.itcast.service;
    
    import cn.itcast.domain.Account;
    import cn.itcast.domain.Student;
    
    import java.util.List;
    
    public interface StudentService {
    
        // 查询所有学生信息
        public List<Student> FindAllStudent();
    
        // 插入学生信息
        public void InsertStudent(Student student);
    
        //删除学生信息
        public void DeleteStudent(Student student);
    
        //修改学生信息
        public void UpdateStudent(Student student);
    
        //学生排名
        public List<Student> RankAllStudent();
    
        //查询指定学生
        public List<Student> SearchStudent(Student student);
    
        //成绩预警
        public List<Student> AlertStudent();
    }
    

    AccountServiceImpl

    package cn.itcast.service.impl;
    
    import cn.itcast.dao.AccountDao;
    import cn.itcast.domain.Account;
    import cn.itcast.service.AccountService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    @Service("accountService")
    public class AccountServiceImpl implements AccountService{
    
        @Autowired
        private AccountDao accountDao;
    
    
        public List<Account> findAll() {
            System.out.println("业务层:查询所有账户...");
            return accountDao.findAll();
        }
    
        public void saveAccount(Account account) {
            System.out.println("业务层:保存帐户...");
            accountDao.saveAccount(account);
        }
    
        @Override
        public Account searchAccount(Account account) {
            System.out.println("业务层:查询指定账户...");
            return accountDao.searchAccount(account);
        }
    }

    StudentServiceImpl

    package cn.itcast.service.impl;
    
    import cn.itcast.dao.StudentDao;
    import cn.itcast.domain.Student;
    import cn.itcast.service.StudentService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    
    @Service("studentService")
    public class StudentServiceImpl implements StudentService {
        @Autowired
        private StudentDao studentDao;
    
    
        @Override
        public List<Student> FindAllStudent() {
            System.out.println("业务层:查询所有学生信息...");
            return studentDao.FindAllStudent();
        }
    
        @Override
        public void InsertStudent(Student student) {
            System.out.println("业务层:保存学生信息...");
            studentDao.InsertStudent(student);
        }
    
        @Override
        public void DeleteStudent(Student student) {
            System.out.println("业务层:删除学生信息...");
            studentDao.DeleteStudent(student);
        }
    
        @Override
        public void UpdateStudent(Student student) {
            System.out.println("业务层:修改学生信息...");
            studentDao.UpdateStudent(student);
        }
    
        @Override
        public List<Student> RankAllStudent() {
            System.out.println("业务层:对学生成绩排名...");
            return studentDao.RankAllStudent();
        }
    
        @Override
        public List<Student> SearchStudent(Student student) {
            System.out.println("业务层:查询指定学生信息...");
            return studentDao.SearchStudent(student);
        }
    
        @Override
        public List<Student> AlertStudent() {
            System.out.println("业务层:学生成绩预警...");
            return studentDao.AlertStudent();
        }
    
    
    }
    

    domain(实体层)

    Account

    package cn.itcast.domain;
    
    import java.io.Serializable;
    
    /**
     * 帐户
     */
    public class Account implements Serializable{
    
        private String s_uname;
        private Double s_pwd;
    
        public String getS_uname() {
            return s_uname;
        }
    
        public void setS_uname(String s_uname) {
            this.s_uname = s_uname;
        }
    
        public Double getS_pwd() {
            return s_pwd;
        }
    
        public void setS_pwd(Double s_pwd) {
            this.s_pwd = s_pwd;
        }
    
        @Override
        public String toString() {
            return "Account{" +
                    "s_uname='" + s_uname + '\'' +
                    ", s_pwd=" + s_pwd +
                    '}';
        }
    }
    

    Student

    package cn.itcast.domain;
    
    import java.io.Serializable;
    
    public class Student implements Serializable {
        private Integer id;
        private String s_name;
        private String s_class;
        private Double s_java;
        private Double s_c;
        private Double s_total;
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public String getS_name() {
            return s_name;
        }
    
        public void setS_name(String s_name) {
            this.s_name = s_name;
        }
    
        public String getS_class() {
            return s_class;
        }
    
        public void setS_class(String s_class) {
            this.s_class = s_class;
        }
    
        public Double getS_java() {
            return s_java;
        }
    
        public void setS_java(Double s_java) {
            this.s_java = s_java;
        }
    
        public Double getS_c() {
            return s_c;
        }
    
        public void setS_c(Double s_c) {
            this.s_c = s_c;
        }
    
        public Double getS_total() {
            return this.s_c+this.s_java;
        }
    
        public void setS_total(Double s_total) {
            this.s_total = s_total;
        }
    }
    

    MainPage.jsp

    <%--
      Created by IntelliJ IDEA.
      User: mzx
      Date: 2020/6/11
      Time: 20:31
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>$Title$</title>
        <style>
            body {
                margin: 0;
                padding: 0;
                border: 0;
                overflow: hidden;
                height: 100%;
                max-height: 100%;
            }
            #frameTop {
                position: absolute;
                top: 0;
                left: 0;
                height: 100%;
                width: 100%;
                overflow: hidden;
                vertical-align: middle;
            }
            #frameContentRight {
                position: absolute;
                left: 0px;
                top: 100px;
                height: 85%;
                width: 100%;
                overflow: hidden;
                vertical-align: top;
                background: #fff;
            }
        </style>
    </head>
    <body>
    <div>
        <iframe id="frameTop" src="../../Title.html" scrolling="no"></iframe>
    </div>
    <div>
        <iframe id="frameContentRight" name="display" src="/student/findallstudent" scrolling="auto"></iframe>
    </div>
    </body>
    </html>

    liststudent.jsp

    <%--
      Created by IntelliJ IDEA.
      User: mzx
      Date: 2018/5/6
      Time: 0:24
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <head>
        <title>Title</title>
        <style>
            body{
                position: relative;
            }
            #edit_comm{
                position: absolute;
                display: none;
                width:450px;
                height: 80%;
            }
            #add_comm{
                position: absolute;
                display: inline-block;
                width:450px;
                height: 200px;
            }
    
            .t1{
                margin-left: 470px;
                position: absolute;
                display: inline-block;
                width:450px;
                height: 80%;
            }
            .t2{
                margin-left: 940px;
                position: absolute;
                display: inline-block;
                width:490px;
                height: 80%;
            }
            .t3{
                margin-left: 940px;
                position: absolute;
                display: none;
                width:490px;
                height: 80%;
            }
            .a2:hover{
                color: lightskyblue;
            }
            table, td, th
            {
                border:1px solid lightskyblue;
                text-align: center;
                padding: 5px 0px;
                border-radius: 4px;
            }
            td:hover{
                border: 1px solid red;
            }
            .btn:hover{
                color: lightskyblue;
            }
            .t2_d{
                text-align: center;
            }
            .h3{
                display: inline-block;
            }
            .a3{
                display: inline-block;
            }
            .a3:hover{
                color: red;
            }
        </style>
    
    </head>
    <body>
    <script>
        function refush() {
            window.location.href="/student/findallstudent" ;
        }
        
        function delete_stu(id){
            var s_class =document.getElementById("s_class"+id).innerHTML;
            var s_name =document.getElementById("s_name"+id).innerHTML;
            var result = confirm("是否删除"+s_class+"ID为"+id+"的"+s_name+"同学的信息");
            if(result)
                window.location.href="/student/deletestudent?id="+id;
        }
        
        function update_stu(id) {
            var s_name =document.getElementById("s_name"+id).innerHTML;
            var s_class =document.getElementById("s_class"+id).innerHTML;
            var s_java = document.getElementById("s_java"+id).innerHTML;
            var s_c =document.getElementById("s_c"+id).innerHTML;
    
            var result = confirm("是否修改"+s_class+"ID为"+id+"的"+s_name+"同学的信息");
            if(result){
    
                document.getElementById("edit_id").value=(id);
                document.getElementById("edit_s_name").value=(s_name);
                document.getElementById("edit_s_class").value=(s_class);
                document.getElementById("edit_s_java").value=(s_java);
                document.getElementById("edit_s_c").value=(s_c);
    
                // alert(s_name+s_class+s_java+s_c);
                document.getElementById("add_comm").style.display='none'
                document.getElementById("edit_comm").style.display='inline-block'
            }
        }
        function  alertstudent() {
            document.getElementById("rankstudent").style.display="none"
            document.getElementById("alertstudent").style.display="inline-block"
        }
    
    </script>
    <div id="add_comm">
        <h3 align="center">添加学生信息</h3>
        <form action="/student/insertstudent" method="post">
            <table align="center" border="1px" >
                <tr><td align="center">学生姓名:<input type="text" placeholder="请输入学生姓名" name="s_name" /></td></tr>
                <tr>
                    <td align="center">
                        班级:<select name="s_class">
                        <option value="计本17-1班">计本17-1</option>
                        <option value="计本17-2班">计本17-2</option>
                        <option value="网络17-1班">网络17-1</option>
                        <option value="网络17-2班">网络17-2</option>
                    </select>
                    </td>
                </tr>
                <tr>
                    <td align="center">java成绩:<input type="text" placeholder="请输入java成绩" name="s_java" /></td>
                </tr>
                <tr>
                    <td align="center">c语言成绩:<input type="text" placeholder="请输入c成绩" name="s_c" /></td>
                </tr>
                <tr>
                    <td align="center"><input type="submit" class="btn" value="保存"/></td>
                </tr>
            </table>
        </form>
        <h3 align="center">查询学生信息</h3>
        <form action="/student/searchstudent" method="post">
            <table align="center">
                <tr>
                    <td><input type="text" name="s_name" placeholder="请输入要查询的学生姓名"></td>
                </tr>
                <tr>
                    <td align="center">
                        班级:<select name="s_class" >
                        <option value="计本17-1班">计本17-1</option>
                        <option value="计本17-2班">计本17-2</option>
                        <option value="网络17-1班">网络17-1</option>
                        <option value="网络17-2班">网络17-2</option>
                    </select>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="submit" class="btn" value="查询">
                    </td>
                </tr>
            </table>
        </form>
        <h3 align="center">查询结果显示</h3>
        <table align="center" border="1">
            <tr>
                <td>ID</td>
                <td>姓名</td>
                <td>班级</td>
                <td>java成绩</td>
                <td>c语言成绩</td>
                <td>总成绩</td>
                <td>操作</td>
            </tr>
                <c:forEach items="${searchstudent}" var="student">
                    <tr>
                        <td  id="id${student.id}" align="center">${student.id}</td>
                        <td  id="s_name${student.id}" align="center">${student.s_name}</td>
                        <td  id="s_class${student.id}" align="center">${student.s_class}</td>
                        <td  id="s_java${student.id}" align="center">${student.s_java}</td>
                        <td  id="s_c${student.id}" align="center">${student.s_c}</td>
                        <td  id="s_total${student.id}" align="center">${student.s_total}</td>
                        <td align="center"><a class="a2" onclick="delete_stu(${student.id})">删除</a>/<a class="a2" onclick="update_stu(${student.id})">修改</a> </td>
                    </tr>
                </c:forEach>
        </table>
    </div>
    
    
    <div class="t" id="edit_comm">
        <h2 id="edit_title" align="center">编辑学生</h2>
        <form action="/student/updatestudent" method="post">
            <table align="center" border="1">
                <tr>
                    <td align="center" >
                        ID<input type="text" id="edit_id" name="id" value="">
                    </td>
                </tr>
                <tr>
                    <td align="center">
                        学生姓名<input type="text" placeholder="请输入学生姓名" value="" id="edit_s_name" name="s_name" />
                    </td>
                </tr>
                <tr>
                    <td align="center">
                        班级:<select name="s_class" id="edit_s_class">
                                <option value="计本17-1班">计本17-1</option>
                                <option value="计本17-2班">计本17-2</option>
                                <option value="网络17-1班">网络17-1</option>
                                <option value="网络17-2班">网络17-2</option>
                            </select>
                    </td>
                </tr>
                <tr>
                    <td align="center">
                        java成绩<input type="text" placeholder="请输入java成绩" value="" id="edit_s_java" name="s_java" >
                    </td>
                </tr>
                <tr>
                    <td align="center">
                        c语言成绩<input type="text" placeholder="请输入c成绩" value="" id="edit_s_c" name="s_c" />
                    </td>
                </tr>
                <tr>
                    <td align="center">
                        <input type="submit" value="确定修改" class="btn"/>
                        <input type="button" value="取消修改" onclick="refush()" class="btn"/>
                    </td>
                </tr>
            </table>
        </form>
    </div>
    
    <div class="t1">
        <h3 align="center">所有学生成绩信息</h3>
        <table align="center" border="1">
            <tr>
                <td>ID</td>
                <td>姓名</td>
                <td>班级</td>
                <td>java成绩</td>
                <td>c语言成绩</td>
                <td>总成绩</td>
                <td>操作</td>
            </tr>
    
            <c:forEach items="${liststudent}" var="student">
                <tr>
                    <td  id="id${student.id}" align="center">${student.id}</td>
                    <td  id="s_name${student.id}" align="center">${student.s_name}</td>
                    <td  id="s_class${student.id}" align="center">${student.s_class}</td>
                    <td  id="s_java${student.id}" align="center">${student.s_java}</td>
                    <td  id="s_c${student.id}" align="center">${student.s_c}</td>
                    <td  id="s_total${student.id}" align="center">${student.s_total}</td>
                    <td align="center"><a class="a2" onclick="delete_stu(${student.id})">删除</a>/<a class="a2" onclick="update_stu(${student.id})">修改</a> </td>
                </tr>
            </c:forEach>
    
        </table>
    
    </div>
    
    <div class="t2" id="rankstudent">
        <div class="t2_d">
            <h3 align="center" class="h3">成绩排名</h3>
            <a onclick="alertstudent()" class="a3">!成绩预警!</a>
        </div>
    
        <table align="center" border="1">
            <tr>
                <td align="center">名次</td>
                <td align="center">ID</td>
                <td align="center">姓名</td>
                <td align="center">班级</td>
                <td align="center">java成绩</td>
                <td align="center">c语言成绩</td>
                <td align="center">总分数</td>
            </tr>
                <c:forEach items="${rankstudent}" var="student" varStatus="rank">
                    <tr>
                        <td  align="center">第${rank.count}</td>
                        <td  align="center">${student.id}</td>
                        <td  align="center">${student.s_name}</td>
                        <td  align="center">${student.s_class}</td>
                        <td  align="center">${student.s_java}</td>
                        <td  align="center">${student.s_c}</td>
                        <td  align="center">${student.s_total}</td>
                    </tr>
            </c:forEach>
        </table>
    </div>
    
    <div class="t3" id="alertstudent">
        <h3 align="center" style="color: red">单科成绩有不及格的同学!</h3>
        <table align="center" border="1">
            <tr>
                <td align="center">ID</td>
                <td align="center">姓名</td>
                <td align="center">班级</td>
                <td align="center">java成绩</td>
                <td align="center">c语言成绩</td>
                <td align="center">总分数</td>
            </tr>
            <c:forEach items="${alertstudent}" var="student" >
                <tr>
                    <td  align="center">${student.id}</td>
                    <td  align="center">${student.s_name}</td>
                    <td  align="center">${student.s_class}</td>
                    <td  align="center">${student.s_java}</td>
                    <td  align="center">${student.s_c}</td>
                    <td  align="center">${student.s_total}</td>
                </tr>
            </c:forEach>
        </table>
    </div>
    
    </body>
    </html>

    title.html

    <!DOCTYPE html>
    <html>
      <head>
        <title>Titlel.html</title>
       
        <meta name="keywords" content="keyword1,keyword2,keyword3">
        <meta name="description" content="title">
        <meta name="content-type" content="text/html; charset=UTF-8">
       <style>
          body{
             background:lightskyblue;
             text-align:center;
          }
       </style>
      </head>
    
      <body>
        <h1 align=center >欢迎进入学生成绩管理系统!</h1>
      </body>
    </html>
    

    Login.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
             pageEncoding="utf-8"%>
    <html>
    <head>
        <title>登录界面</title>
        <style>
            body {
                margin: 0;
                padding: 0;
                font-family: sans-serif;
                background: lightskyblue;
            }
            .box {
                width: 300px;
                padding: 40px;
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                background: #191919;
                text-align: center;
                border-radius: 8px;
            }
            .box h1 {
                color: white;
                text-transform: uppercase;
                font-weight: 500;
            }
            .box input[type='text'],
            .box input[type='password'] {
                border: 0;
                background: none;
                display: block;
                margin: 20px auto;
                text-align: center;
                border: 2px solid #3498db;
                padding: 14px 10px;
                width: 200px;
                outline: none;
                color: white;
                border-radius: 24px;
                transition: 0.25s;
            }
            .box input[type='text']:focus,
            .box input[type='password']:focus {
                width: 280px;
                border-color: #2ecc71;
            }
            .submit {
                border: 0;
                background: none;
                margin: 20px auto;
                margin-top: 0;
                display: inline-block;
                text-align: center;
                border: 2px solid #3498db;
                padding: 10px 40px;
                outline: none;
                color: white;
                border-radius: 24px;
                transition: 0.25s;
                cursor: pointer;
                text-decoration: none;
                font-size: 12px;
            }
            .submit:hover {
                background: #2ecc71;
                border-color: #2ecc71;
            }
        </style>
    </head>
    <body>
    <form action="/account/check" method="post">
        <div class="box">
            <h1>Welcome</h1>
            <input type="text"  name="s_uname" placeholder="Username" />
            <input type="password" name="s_pwd" placeholder="Password" />
            <input type="submit" class="submit" name="bt" value="登录"/>
            <a  class="submit" href="Register.jsp">没有账号?注册一个</a>
        </div>
    </form>
    </body>
    </html>

    Register.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ page contentType="text/html;charset=UTF-8"%>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <html>
    <head>
        <base href="<%=basePath%>">
        <title>My JSP 'Register.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <meta content="text/html;charset=UTF-8" />
           <style>
            body {
                margin: 0;
                padding: 0;
                font-family: sans-serif;
                background: lightskyblue;
            }
            .box {
                width: 300px;
                padding: 40px;
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                background: #191919;
                text-align: center;
            }
            .box h1 {
                color: white;
                text-transform: uppercase;
                font-weight: 500;
            }
            .box input[type='text'],
            .box input[type='password'] {
                border: 0;
                background: none;
                display: block;
                margin: 20px auto;
                text-align: center;
                border: 2px solid #3498db;
                padding: 14px 10px;
                width: 200px;
                outline: none;
                color: white;
                border-radius: 24px;
                transition: 0.25s;
            }
            .box input[type='text']:focus,
            .box input[type='password']:focus {
                width: 280px;
                border-color: #2ecc71;
            }
            .submit {
                border: 0;
                background: none;
                margin: 20px auto;
                margin-top: 0;
                display: inline-block;
                text-align: center;
                border: 2px solid #3498db;
                padding: 10px 40px;
                outline: none;
                color: white;
                border-radius: 24px;
                transition: 0.25s;
                cursor: pointer;
                text-decoration: none;
                font-size: 12px;
            }
            .submit:hover {
                background: #2ecc71;
                border-color: #2ecc71;
            }
        </style>
    
    </head>
    <body>
    <form action="/account/saveaccount" method="post">
        <div class="box">
            <h1>Register</h1>
            <input type="text"  name="s_uname" placeholder="Username" />
            <input type="password" name="s_pwd" placeholder="Password" />
            <input type="submit" class="submit" name="submit" value="完成,提交"/>
            <input type="reset" class="submit" name="reset" value="重置"/>
        </div>
    </form>
    </body>
    </html>

    配置文件

    web.xml

    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
      <display-name>Archetype Created Web Application</display-name>
    
      <!--配置Spring的监听器,默认只加载WEB-INF目录下的applicationContext.xml配置文件-->
      <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      <!--设置配置文件的路径-->
      <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
      </context-param>
      <context-param>
        <param-name/>
        <param-value/>
      </context-param>
    
      <welcome-file-list>
        <welcome-file>Login.jsp</welcome-file>
      </welcome-file-list>
      
      <!--配置前端控制器-->
      <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--加载springmvc.xml配置文件-->
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <!--启动服务器,创建该servlet-->
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    
      <!--解决中文乱码的过滤器-->
      <filter>
        <filter-name>characterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      
    </web-app>
    

    applicationContext.xml(注意修改数据库名字和你的数据库账号密码)

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx.xsd">
    
        <!--开启注解的扫描,希望处理service和dao,controller不需要Spring框架去处理-->
        <context:component-scan base-package="cn.itcast" >
            <!--配置哪些注解不扫描-->
            <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
        </context:component-scan>
    
        <!--Spring整合MyBatis框架-->
        <!--配置连接池-->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="com.mysql.cj.jdbc.Driver"/>
            <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/ssm?useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;zeroDateTimeBehavior=CONVERT_TO_NULL"/>
            <property name="user" value="root"/>
            <property name="password" value="123456"/>
        </bean>
    
        <!--配置SqlSessionFactory工厂-->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource" />
        </bean>
    
        <!--配置AccountDao接口所在包-->
        <bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="cn.itcast.dao"/>
        </bean>
    
        <!--配置Spring框架声明式事务管理-->
        <!--配置事务管理器-->
        <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource" />
        </bean>
    
        <!--配置事务通知-->
        <tx:advice id="txAdvice" transaction-manager="transactionManager">
            <tx:attributes>
                <tx:method name="find*" read-only="true"/>
                <tx:method name="*" isolation="DEFAULT"/>
            </tx:attributes>
        </tx:advice>
    
        <!--配置AOP增强-->
        <aop:config>
            <aop:advisor advice-ref="txAdvice" pointcut="execution(* cn.itcast.service.impl.*ServiceImpl.*(..))"/>
        </aop:config>
    
    </beans>

    log4j.properties

    # Set root category priority to INFO and its only appender to CONSOLE.
    #log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
    log4j.rootCategory=info, CONSOLE, LOGFILE
    
    # Set the enterprise logger category to FATAL and its only appender to CONSOLE.
    log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
    
    # CONSOLE is set to be a ConsoleAppender using a PatternLayout.
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n
    
    # LOGFILE is set to be a File appender using a PatternLayout.
    log4j.appender.LOGFILE=org.apache.log4j.FileAppender
    log4j.appender.LOGFILE.File=d:\axis.log
    log4j.appender.LOGFILE.Append=true
    log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n
    
    

    springmvc.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd">
    
        <!--开启注解扫描,只扫描Controller注解-->
        <context:component-scan base-package="cn.itcast.controller">
            <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
        </context:component-scan>
    
        <!--开启SpringMVC注解的支持-->
        <mvc:annotation-driven/>
        <mvc:default-servlet-handler />
    
        <!--配置的视图解析器对象-->
        <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/pages/"/>
            <property name="suffix" value=".jsp"/>
        </bean>
    
        <!--过滤静态资源-->
        <mvc:resources location="/css/" mapping="/css/**" />
        <mvc:resources location="/images/" mapping="/images/**" />
        <mvc:resources location="/js/" mapping="/js/**" />
    </beans>

    pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>cn.itcast</groupId>
      <artifactId>ssm</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>war</packaging>
    
      <name>ssm Maven Webapp</name>
      <!-- FIXME change it to the project's website -->
      <url>http://www.example.com</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <spring.version>5.0.2.RELEASE</spring.version>
        <slf4j.version>1.6.6</slf4j.version>
        <log4j.version>1.2.12</log4j.version>
        <mybatis.version>3.4.5</mybatis.version>
      </properties>
    
      <dependencies>
        <!-- spring -->
        <dependency>
          <groupId>org.aspectj</groupId>
          <artifactId>aspectjweaver</artifactId>
          <version>1.6.8</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aop</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-web</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-test</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-tx</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-jdbc</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
          <scope>compile</scope>
        </dependency>
    
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>8.0.13</version>
        </dependency>
    
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
          <version>2.5</version>
          <scope>provided</scope>
        </dependency>
    
        <dependency>
          <groupId>javax.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.0</version>
          <scope>provided</scope>
        </dependency>
    
        <dependency>
          <groupId>jstl</groupId>
          <artifactId>jstl</artifactId>
          <version>1.2</version>
        </dependency>
    
        <!-- log start -->
        <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>${log4j.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>${slf4j.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
          <version>${slf4j.version}</version>
        </dependency>
    
        <!-- log end -->
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>${mybatis.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis-spring</artifactId>
          <version>1.3.0</version>
        </dependency>
    
        <dependency>
          <groupId>c3p0</groupId>
          <artifactId>c3p0</artifactId>
          <version>0.9.1.2</version>
          <type>jar</type>
          <scope>compile</scope>
        </dependency>
      </dependencies>
    
      <build>
        <finalName>ssm</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
          <plugins>
            <plugin>
              <artifactId>maven-clean-plugin</artifactId>
              <version>3.0.0</version>
            </plugin>
            <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
            <plugin>
              <artifactId>maven-resources-plugin</artifactId>
              <version>3.0.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.7.0</version>
            </plugin>
            <plugin>
              <artifactId>maven-surefire-plugin</artifactId>
              <version>2.20.1</version>
            </plugin>
            <plugin>
              <artifactId>maven-war-plugin</artifactId>
              <version>3.2.0</version>
            </plugin>
            <plugin>
              <artifactId>maven-install-plugin</artifactId>
              <version>2.5.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-deploy-plugin</artifactId>
              <version>2.8.2</version>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </project>
    

    这个项目是跟着视频边学边做的,有缺陷的地方请指多指教。
    希望能给大家学习的路上带来一些微小的帮助!

    百度网盘
    提取码:rzpz

    展开全文
  • 目录 摘要 1 Abstract 2 第一章 绪论 5 1.1课题来源 5 1.2 目前情况分析 6 第二章 本系统的开发平台和层次...5.6 学生成绩查询功能的实现 37 5.7成绩查询功能详细分析: 38 第六章 毕业设计小结 42 致谢 43 参考文献 44
  • 学生成绩管理系统(SSMS),涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。该系统分为三大类:管理员、学生、教师。该项目是基于javaweb进行开发,很适合刚学完javaweb的...
  • 16 3.2.2功能需求 16 3.2.3性能需求 17 3.2.4 数据需求 18 3.3学生成绩管理的数据流程调查 18 4学生成绩管理系统设计 21 4.1信息系统设计原则 21 4.2学生成绩管理系统功能设计 22 4.3学生成绩管理系统数据库设计 22 ...
  • 学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,但是几年前,各个学校的学生成绩管理基本上...
  • 系统从功能上划分可分为以下几大模块:功能模块管理,组权限管理,学生信息管理,课程信息管理,学生成绩管理,授课信息管理,学生信息查询,学生成绩统计等几大模块。以下将对各子模块进行说明。 功能模块管理:将系统...
  • Java WEB 学生成绩管理系统

    千次阅读 2019-12-15 16:45:58
    Java WEB 学生成绩管理系统 系统功能分析开发环境软件功能结构图数据库表系统部分截图总结 声明: 技术交流,可联系博主(QQ:2430001224) 如果涉及版权,可联系博主删除,谢谢! 系统功能分析 本系统适用于中小学校...
  • 基于Web学生成绩管理系统

    千次阅读 2021-03-05 20:07:33
    本次课程设计课题为学生成绩管理系统,该学生成绩管理系统主要包括前台用户界面的开发和后台数据库的开发,重点在于后台数据库的开发。要求建立起完整性强、数据一致性和数据安全性好的数据库。在前端用户界面的开发...
  • 课程设计文档:... (7)成绩管理:教师登录系统后,可以查询自己教授的课程并对学生的成绩打分。 (8)系统管理: 修改登录密码,关于系统说明 系统开发环境: MyEclipse5.5 + Tomcat6.0 + mysql5.0

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,073
精华内容 3,229
关键字:

学生成绩管理系统web设计