0008Java程序设计-JSP学生成绩管理系统设计与实现

news2024/11/14 20:50:03

    • 摘 要
    • 目录
    • 系统实现
    • 开发环境

摘 要

随着网络的不断发展,一个好的成绩查询系统,不仅便于学生查询成绩、查询个人信息,而且有利于管理员对学生成绩的统一管理,考试之后学生能及时的对个人信息进行查看,减少了老师和学生之间的工作量,减少等待成绩查看时间,不用等待通知,直接自行查看即可,节约时间。

系统分为学生登录和管理员登录模块,管理员登录可以管理学生信息、管理课程、管理成绩,对学生信息、课程信息、成绩信息进行查询、添加、修改和删除。

系统采用技术包括springboot、springmvc、mybatis、bootstrap、jquery、jsp等。前端页面采用jsp进行编写,通过jquery实现数据交互,页面布局上采用bootstrap能够快速搭建简洁美观的页面,后台采用springboot、springmvc、mybatis,springboot的使用相比spring简化了大量配置文件,springmvc让代码结构更加清晰,系统结构更加直观,代码容易开发维护。

目录

第1章 引言… 1

1.1 开发背景… 1

1.2 设计思路和方法… 1

第2章 相关技术简介… 3

2.1 Java… 3

2.2 Springboot… 3

2.3 SpringMVC… 4

2.4 Mybatis… 4

2.5 Bootstrap… 5

2.6 Jquery… 5

2.7 Mysql… 5

2.8 开发工具和开发环境… 6

第3章 系统需求分析与设计… 7

3.1 可行性分析… 7

3.1.1 发展可行性… 7

3.1.2 经济可行性… 7

3.1.3 技术可行性… 7

3.1.4 操作可行性… 8

3.2 功能简介… 8

3.2.1 学生系统结构分析… 8

3.2.2 管理员系统结构分析… 8

3.3 用例图分析… 9

3.4 活动图分析… 10

3.4.1 登录分析… 10

3.4.2 添加学生分析… 10

3.4.3 添加成绩分析… 11

3.5 ER图设计… 12

3.5.1 学生实体设计… 12

3.5.2 课程实体设计… 12

3.5.3 成绩实体设计… 13

3.5.4 用户实体设计… 13

3.5.5 ER图设计… 14

3.6 数据库表设计… 14

3.6.1 用户表设计… 14

3.6.2 学生表设计… 15

3.6.3 课程表设计… 15

3.6.4 成绩表设计… 15

第4章 客户端系统实现… 17

4.1 登录… 17

4.2 个人信息管理… 17

4.2.1 个人账号… 17

4.2.2 个人信息… 18

4.3 成绩查询… 19

第5章 管理员系统实现… 20

5.1 登录… 20

5.1.1 登录… 20

5.1.2 注销… 21

5.1.3 登录拦截… 21

5.2 学生管理… 22

5.2.1 学生列表… 22

5.2.2 学生添加… 23

5.2.3 学生修改… 24

5.2.4 学生删除… 24

5.3 课程管理… 25

5.3.1 课程列表… 25

5.3.2 课程添加… 25

5.3.3 课程修改… 26

5.4 成绩管理… 26

5.4.1 成绩列表… 26

5.4.2 成绩添加… 26

5.4.3 成绩修改… 27

第6章 系统测试… 28

6.1 可用性测试… 28

6.2 性能测试… 29

6.3 功能测试… 29

6.3.1 登录测试… 29

6.3.2 管理员学生管理测试… 30

6.3.3 管理员课程管理测试… 31

6.3.4 管理员成绩管理测试… 32

6.3.5 学生修改密码测试… 32

6.3.6 学生成绩查询测试… 33

6.4 测试结果分析… 33

总结… 34

参考文献… 35

致谢… 36

系统实现

登录界面如图 4.1.1 登录所示,分为管理员登录和学生登录,登录成功后进入对应系统。

image-20230821181811267

学生添加如图 5.2.2.1 学生添加所示,添加时对表单进行数据验证,其他模块关于表单提交也有相应的表单验证,表单验证通过form.js统一处理,降低代码耦合度,并且提高了代码的复用能力便于管理,添加学生时还需要在数据库中检测学号是否存在,不存在才能添加成功。

020

@RequestMapping("input")
    public String input(Long id, Model model) {
        Student student = studentService.queryById(id);
        model.addAttribute("student",student);
        return "admin/student/input";
    }

    @RequestMapping("saveOrUpdate")
    public String saveOrUpdate(Student student) {
        if(student.getId()==null){
            studentService.insert(student);
        }else{
            studentService.update(student);
        }
        return "redirect:/student/list";
    }

学生修改如图 5.2.3.1 学生修改所示,学生信息修改时不能修改学生学号,学生学号在学生中为唯一标识。

021

开发环境

开发工具:idea、Navicat

数据库:MySQL8.0

环境配置:jdk1.8 、Tomcat8.5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/908387.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高性能MySQL实战(一):表结构 | 京东物流技术团队

最近因需求改动新增了一些数据库表,但是在定义表结构时,具体列属性的选择有些不知其所以然,索引的添加也有遗漏和不规范的地方,所以我打算为创建一个高性能表的过程以实战的形式写一个专题,以此来学习和巩固这些知识。…

09强化学习

强化学习有关词汇 state:对Environment的完整描述 action: 给定环境中所有有效操作的集合,通常称为动作空间 agent:执行action的模型 Environment:代理之外的所有部分。agent可以直接或间接的与之交互的一切,Agent执行操作时,Environment…

BarCodeWiz ActiveX Control Crack

BarCodeWiz ActiveX Control Crack BarcodeWiz ActiveX Control–只需单击按钮即可将所有基本条形码类型添加到Microsoft Office中。在Microsoft Word中,创建单独的条形码、标签页或合并文档。在Microsoft Excel中,选择单元格范围并自动将每个单元格转换…

css的常见伪元素使用

1.first-line 元素首行设置特殊样式。 效果演示&#xff1a; <div class"top"><p>可以使用 "first-line" 伪元素向文本的首行设置特殊样式。<br> 换行内容 </p></div> .top p::first-line {color: red;} 2.first-lette…

每日一题——判断是不是平衡二叉树

题目 输入一棵节点数为 n 二叉树&#xff0c;判断该二叉树是否是平衡二叉树。 在这里&#xff0c;我们只需要考虑其平衡性&#xff0c;不需要考虑其是不是排序二叉树 平衡二叉树&#xff08;Balanced Binary Tree&#xff09;&#xff0c;具有以下性质&#xff1a;它是一棵空树…

华为OD机试真题 Java 实现【通过软盘拷贝文件】【2023 B卷 200分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#xff09;》…

C++的对象与类的含义

C是一门面向对象的编程语言&#xff0c;理解C需要掌握类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;这两个概念。 C 中的类&#xff08;Class&#xff09;可以看做C语言中结构体&#xff08;Struct&#xff09;的升级版。结构体是一种构造类型&#x…

SQL 盲注

问题描述&#xff1a; 解决方案&#xff1a; 通过建立过滤器方法 添加拦截器&#xff1a; web.xml 文件配置拦截器 <filter><filter-name>sqlFilter</filter-name><filter-class>com.fh.filter.SqlFilter</filter-class></filter> pack…

【链表篇】速刷牛客TOP101 高效刷题指南

文章目录 1、BM1 反转链表2、BM2 链表内指定区间反转3、BM3 链表中的节点每k个一组翻转4、BM4 合并两个排序的链表5、BM5 合并k个已排序的链表6、BM6 判断链表中是否有环7、BM7 链表中环的入口结点8、BM8 链表中倒数最后k个结点9、BM9 删除链表的倒数第n个节点10、BM10 两个链表…

Redis中的有序集合及其底层跳表

前言 本文着重介绍Redis中的有序集合的底层实现中的跳表 有序集合 Sorted Set Redis中的Sorted Set 是一个有序的无重复值的集合&#xff0c;他底层是使用压缩列表和跳表实现的&#xff0c;和Java中的HashMap底层数据结构&#xff08;1.8&#xff09;链表红黑树异曲同工之妙…

派森 #P122. 峰值查找

描述 给定一个长度为n的列表nums&#xff0c;请你找到峰值并返回其索引。数组可能包含多个峰值&#xff0c;在这种情况下&#xff0c;返回任何一个所在位置即可。 &#xff08;1&#xff09;峰值元素是指其值严格大于左右相邻值的元素。严格大于即不能有等于&#xff1b; &…

ARM体系结构学习笔记:过程调用标准AAPC、 ARM32调用约定、ARM64调用约定

参数传递的本质: 将上层函数变量复制一份, 传给下层函数. 过程调用标准AAPC(Arm Architecture Procedure Call) 有了标准, 才能够进行C调用汇编或者汇编调用C ARM32调用约定 参数是不同位数传参情况, 额外的参数被caller进行入栈, callee进行出栈 寄存器传参 寄存器返回 汇编…

交叉编译相关知识

1、目标板与主机之间的连接&#xff1a; 目标板和主机之间通常可以使用串口、以太网接口、USB接口以及JTAG接口等连接方式。 (1)、串行通信&#xff1a; 串行通信接口常用的有9针串口&#xff08; DB9 &#xff09;和25针串口&#xff08;DB25&#xff09;&#xff0c;通信距…

IDEA创建Mybatis格式XML文件

设置位置&#xff1a;File | Settings | Editor | File and Code Templates 选择Files&#xff0c;点击号 Name中输入xml模板名&#xff08;名称自行决定&#xff09;&#xff0c;后缀名extension输入xml&#xff08;固定&#xff09; 内容处输入Mybatis的xml文件模板内容&…

数据结构 - 线性表的定义和基本操作

一、定义 线性表是具有相同特性的数据元素的一个有限序列。 线性表&#xff1a; 由n(n≥0)个数据元素&#xff08;结点&#xff09;组成的有限序列。线性表中数据元素是一对一的关系&#xff0c;每个结点最多有一个直接前驱&#xff0c;和一个直接后继 二、线性表的基本操作 …

【AI绘画--七夕篇】:七夕特别教程,使用SDXL绘制你的心上人(Stable Diffusion)(封神榜—妲己)

目录 前言0、介绍0-0、结果展示0-1、Stable Diffusion0-2、sdxl介绍 一、云端部署Stable Diffusion1-1、云端平台的优势 二、平台介绍三、注册账号并且开始炼制3-1、购买算力并创建工作空间3-2、启动工作空间3-3、应用市场一键安装3-4、使用Stable-Diffusion作图 四、有女朋友的…

cuda gdb调试

如果cudaDeviceEnablePeerAccess函数不支持或不起作用&#xff0c;您仍然可以尝试其他方法来实现GPU之间的数据交换和通信。以下是一些替代方法&#xff1a; 通过主机内存进行数据传输&#xff1a; 如果GPU之间的数据交换不是非常频繁&#xff0c;您可以将数据从一个GPU复制到…

【c语言】五子棋(EasyX图形库+背景音乐)

大家好&#xff0c;有没有觉得写了好多c语言代码&#xff0c;面对的都是黑框框控制台&#xff0c;当我们学习了基础的c语言知识&#xff0c;和EasyX图形库后&#xff0c;终于可以和黑框框saygoodbye,今天要分享给大家的是小游戏五子棋&#xff0c;跟着小张一起学习吧 EasyX图形…

(四)Doceke安装MySQL镜像+Docker启动MySQL容器

Doceke安装MySQL镜像/Docker启动MySQL容器 一、doceke安装MySQL镜像 切换到root用户&#xff0c;su root 。 1、启动Docker 启动&#xff1a;sudo systemctl start docker 停止&#xff1a;systemctl stop docker 重启&#xff1a;systemctl restart docker 查看docker运行…

视频汇聚平台EasyCVR安防视频监控在地下停车场中的具体应用方案

一、背景 随着我国城市化进程的加快&#xff0c;汽车已成为人们生活中不可缺少的交通工具&#xff0c;但在许多城市中&#xff0c;买车容易&#xff0c;停车难的问题愈发突出。特别是在人群密集的商场、写字楼和地下停车场&#xff0c;车流量大、车况复杂。传统的人工判断方式耗…