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

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

摘 要

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

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

系统采用技术包括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.rhkb.cn/news/102385.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React(8)

千锋学习视频https://www.bilibili.com/video/BV1dP4y1c7qd?p72&spm_id_frompageDriver&vd_sourcef07a5c4baae42e64ab4bebdd9f3cd1b3 1.React 路由 1.1 什么是路由? 路由是根据不同的 url 地址展示不同的内容或页面。 一个针对React而设计的路由解决方案…

优化广告运营,代理IP的作用不容忽视

在当今激烈的市场竞争中,广告投放早已成为企业营销的重要手段。广告投放不仅可以提高品牌知名度、产品可信度,还能够树立品牌形象,增强市场竞争力。然而,影响广告投放效果的因素很多,投放时间段、投放地区、在哪个平台…

iTwinCapture中文版原ContextCapture安装包以及安装教程

iTwinCapture软件安装教程 一、获取软件 中文安装包评论区或后台回复iTwinCapture 在App Store或Google Play搜索软件名称"iTwin Capture",下载安装软件。 您也可以在Bentley官网下载对应的iTwin Capture版本。 二、软件安装 点击下载后的安装包,根据提示完成安装…

环二肽16364-35-5,cyclo(Glu-Gly),环(甘氨酰-谷氨酸),产品特点介绍

中文名:环(甘氨酰-谷氨酸) 英文名:cyclo(Glu-Gly) CYCLO(-GLY-GLU) CAS:16364-35-5 分子式:C7H10N2O4 分子量:186.165 沸点: 666.840.0 C(Predicted) 表面张力(dy…

【IMX6ULL驱动开发学习】08.马达驱动实战:驱动编写、手动注册平台设备和设备树添加节点信息

目录 一、使用设备树 1.1 修改设备树流程 二、手动创建平台设备 三、总结(附驱动程序) 前情提要:​​​​​​​【IMX6ULL驱动开发学习】07.驱动程序分离的思想之平台总线设备驱动模型和设备树_阿龙还在写代码的博客-CSDN博客 手动注册…

前端界面设计

目录 1.兴趣展示网站1.效果2.核心代码展示3.源代码 2.优美的登录网页1.效果2.核心代码展示3.源代码 3.美女相册1.效果2.核心代码展示3.源代码 4.精美选项卡1.效果2.核心代码展示3.源代码 4. 自己写过的一些前端界面设计Demo整理。 1.兴趣展示网站 1.效果 2.核心代码展示 工程截…

【中危】 Apache NiFi 连接 URL 验证绕过漏洞 (CVE-2023-40037)

漏洞描述 Apache NiFi 是一个开源的数据流处理和自动化工具。 在受影响版本中,由于多个Processors和Controller Services在配置JDBC和JNDI JMS连接时对URL参数过滤不完全。使用startsWith方法过滤用户输入URL,导致过滤可以被绕过。攻击者可以通过构造特…

C++头文件和std命名空间

C 是在C语言的基础上开发的,早期的 C 还不完善,不支持命名空间,没有自己的编译器,而是将 C 代码翻译成C代码,再通过C编译器完成编译。 这个时候的 C 仍然在使用C语言的库,stdio.h、stdlib.h、string.h 等头…

探索Vue生命周期钩子函数:从创生到销毁

Vue这个引领前端开发潮流的框架,其优雅的响应式数据绑定和组件式开发方式,使得它备受瞩目。然而,Vue的魅力绝不仅限于此,它还赋予开发者一组神奇的生命周期钩子函数,能够在组件的各个成长阶段插入自定义代码。本文将带…

IPv6 基础概念

IPv6 基础概念 组播地址 IPv6的组播与IPv4相同,用来标识一组接口,一般这些接口属于不同的节点。一个节点可能属于0到多个组播组。发往组播地址的报文被组播地址标识的所有接口接收。例如组播地址FF02::1表示链路本地范围的所有节点,组播地址…

二、Kafka快速入门

目录 2.1 安装部署1、【单机部署】2、【集群部署】 2.2 Kafka命令行操作1、查看topic相关命令参数2、查看当前kafka服务器中的所有Topic3、创建 first topic4、查看 first 主题的详情5、修改分区数(注意:分区数只能增加,不能减少)…

Red Hat Enterprise Linux (RHEL) 6.4 安装、redhat6.4安装

1、下载地址 Red Hat Enterprise Linux (RHEL) 6.4 DVD ISO 迅雷下载地址http://rhel.ieesee.net/uingei/rhel-server-6.4-x86_64-dvd.iso 2、创建虚拟机 3、redhat安装 选择第一个安装 Skip跳过检查 语言选择简体中文 键盘选择默认 选择基本存储设备 忽略所有数据 设置root密…

Verilog 入门

Verilog 入门 本内容来自 牛客网Verilog入门特别版 1、一个没有输入和一个输出常数1的输出的电路,输出信号为one module top_module(one);output wire one;assign one 1b1; endmodule2、创建一个具有一个输入和一个输出的模块,其行为类似于电路上的连…

Office ---- excel ---- 怎么批量设置行高

解决方法: 调整行高即可

在 IDEA 中使用 Git开发 图文教程

在 IDEA 中使用 Git开发 图文教程 一、连接远程仓库二、IDEA利用Git进行开发操作三、分支操作3.1 新建分支3.2 切换分支3.3 删除分支3.4 比较分支3.5 合并分支 四、常用快捷键 一、连接远程仓库 一、打开IDEA,进入目录:File ->New ->Project from…

十问华为云 Toolkit:开发插件如何提升云上开发效能

众所周知,桌面集成开发环境(IDE)已经融入到开发的各个环节,对开发者的重要性和广泛度是不言而喻的,而开发插件更是建立在IDE基础上的功能Buff。 Huawei Cloud ToolKit作为华为云围绕其产品能力向开发者桌面上的延伸&a…

数据结构——栈和队列

栈和队列的建立 前言一、栈1.栈的概念2.栈的实现3.代码示例(1)Stack.h(2)Stack.c(3)Test.c(4)运行结果(5)完整代码演示 二、队列1.队列的概念2.队列的实现3.代…

ChatGPT应用于高职教育的四大潜在风险

目前,ChatGPT还是一种仍未成熟的技术,当其介入高职教育生态后,高职院校师生在享受ChatGPT带来的便利的同时,也应该明白ChatGPT引发的风险也会随之进入高职教育领域,如存在知识信息、伦理意识与学生主体方面的风险与挑战…

DSO 系列文章(3)——DSO后端正规方程构造与Schur消元

文章目录 DSO代码注释:https://github.com/Cc19245/DSO-CC_Comments

【音视频】奇怪问题记录-执法仪引起的问题

现象 打开,关闭,再打开,反复这样操作,几次后,可能 出现(1)拉不出来(2)绿色的屏 (3)黑色的屏(如上)。 (4&am…