0002Java程序设计-springboot在线考试系统小程序

news2024/9/23 13:25:41

文章目录

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

编程技术交流、源码分享、模板分享、网课分享

企鹅🐧@裙:776871563

摘 要

本毕业设计的内容是设计并且实现一个基于springboot的在线考试系统小程序。它是在Windows下,以MYSQL为数据库开发平台,java技术和Tomcat网络信息服务作为应用服务器。在线考试系统小程序的功能已基本实现,主要包括首页、个人中心、学生管理、教师管理、班级管理、考试信息管理、在线考试管理、试题内容管理、系统管理、考试管理等。

论文主要从系统的分析与设计 、数据库设计和系统的详细设计等几个方面来进行论述,系统分析与设计部分主要论述了系统的功能分析、系统的设计思路,数据库设计主要论述了数据库的设计,系统的详细设计部分主要论述了几个主要模块的详细设计过程。

**关键字:**在线考试系统;java技术;MYSQL;Tomcat

目录

第一章绪论… 3

1.1课题背景… 3

1.2课题研究的目的和意义… 3

1.3 研究现状… 4

1.4论文所做的主要工作… 4

第二章技术介绍… 5

2.1B/S结构… 5

2.2微信开发者工具… 5

2.3MySQL介绍… 5

2.4MySQL环境配置… 6

2.5Java语言简介… 6

2.6SpringBoot框架… 7

第三章系统分析与设计… 8

3.1系统说明… 8

3.2系统可行性分析… 8

3.2.1 技术可行性… 8

3.2.2 经济可行性… 8

3.2.3操作可行性… 9

3.2.4运行可行性… 9

3.3系统的设计思想… 9

3.4小程序功能结构… 10

3.5系统流程分析… 11

3.5.1操作流程… 11

3.5.2添加信息流程… 12

3.5.3删除信息流程… 13

第四章数据库设计… 14

4.1数据库概念设计… 14

4.2数据表设计… 15

第五章小程序的详细设计… 23

5.1小程序首页的设计… 23

5.2后台功能模块… 26

5.2.1管理员功能模块… 26

5.2.2教师功能模块… 29

第六章系统测试… 33

6.1系统测试方法… 33

6.2系统功能测试… 33

总结… 34

参考文献… 35

致谢… 36

系统实现

一、学生管理功能

该部分内容提供学生注册、学生资料修改、考试记录、错题本、在线考试列表等等功能。

二、教师管理功能

该部分内容包含了首页、个人中心、学生管理、班级管理、考试信息管理、试题内容管理、在线考试管理、系统管理、考试管理等等功能。

三、管理员管理功能

该部分内容包含了首页、个人中心、学生管理、教师管理、班级管理、考试信息管理、在线考试管理、试题内容管理、系统管理、考试管理等。管理员可对所有的信息进行增、删、改、查,能对用户信息进行管理,更新最近的在线考试信息。

image-20231124193215130

学生登录小程序端,可以实现首页、考试信息、校园公告、考试、我的等功能进行详细操作,如图5-2所示。

1cdebb304a3b025d1af2a33a907d6ae

考试信息,在考试信息页面可以查看试卷名称、试卷封面、考试时间、班级、教师姓名、教师工号、点击次数等详细信息;并进行评论或收藏操作;如图5-3所示。

7f5ca285283e8ea59e91ad4a821ca00

学生功能,学生进入我的页面可以对考试记录、错题本、在线考试列表等详细信息进行操作,如图5-4所示。

ec074b944d863e3a7e171e248ac56af

学生信息,在用户信息页面通过填写学号、密码、学生姓名、头像、性别、班级名称、联系方式等信息进行保存或退出登录操作,如图5-5所示。

img

后台登录,管理员和教师通过输入账号、密码,选择角色并点击登录进行系统登录操作,如图5-6所示。

image-20231124193346136

管理员登录系统后,可以对首页、个人中心、学生管理、教师管理、班级管理、考试信息管理、在线考试管理、试题内容管理、系统管理、考试管理等功能进行详细操作,如图5-7所示。

03b4093b6278a023e97581d0e7d9833

学生管理,在学生管理页面可以对索引、学号、学生姓名、头像、性别、联系方式、班级名称、教师工号等内容进行详情,修改和删除操作,如图5-8所示。

c249d653f52b3ff78ff1c00cf04415c

教师管理,在教师管理页面可以对索引、教师工号、教师姓名、头像、性别、职称、班级名称、联系电话等内容进行详情,修改和删除操作,如图5-9所示。

69b0bb9a56115ad5c4cb173d3cc0ee6

班级管理,在班级管理页面可以对索引、班级名称、人数、班级简介、教师工号、教师姓名等内容进行详情,修改和删除操作,如图5-10所示。

69d4a0b94282f3e953ce28b94934dc1

考试信息管理,在考试信息管理页面可以对索引、试卷名称、试卷封面、考试时间、班级、教师姓名、教师工号等内容进行详情,修改,查看评论和删除操作,如图5-11所示。

267171119c59f1f60cc365b675e7b49

在线考试管理,在在线考试管理页面可以对索引、在线考试名称、考试时长(分钟)、在线考试状态等内容进行详情,修改和删除操作,如图5-12所示。

267171119c59f1f60cc365b675e7b49

系统管理,在校园公告页面可以对索引、标题、图片等内容进行详情,修改和删除操作,还可以对轮播图管理进行详细操作,如图5-13所示。

2eeb307ec507e91d3bf4c2294836b55

考试信息管理,在考试信息管理页面可以对索引、试卷名称、试卷封面、考试时间、班级、教师姓名、教师工号等内容进行详情,修改,查看评论和删除操作,如图5-16所示。

267171119c59f1f60cc365b675e7b49

试题内容管理,在试题内容管理页面查看在线考试、试题内容名称、分值、答案、类型等内容,并进行修改和删除操作,如图5-17所示。

48c011f0b25fac28d0fefdf3a3e6860

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DbUtil {
	private String dbUrl="jdbc:mysql://127.0.0.1:3306/database?serverTimezone=UTC&useSSL=false"; // 数据库连接地址
	private String dbUserName="root"; // 用户名
	private String dbPassword="123456"; // 密码
	private String jdbcName="com.mysql.cj.jdbc.Driver"; // 驱动名称
	/**
	 * 获取数据库连接
	 * @return
	 * @throws Exception
	 */
	public Connection getCon(){
		try {
			Class.forName(jdbcName);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		Connection con = null;
		try {
			con = DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return con;
	}
	/**
	 * 关闭数据库连接
	 * @param con
	 * @throws Exception
	 */
	public void closeCon(Connection con)throws Exception{
		if(con!=null){
			con.close();
		}
	}
	
	public static void main(String[] args) {
		DbUtil dbUtil=new DbUtil();
		try {
			dbUtil.getCon();
			System.out.println("数据库连接成功!");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("数据库连接失败");
		}
	}
}


开发环境

开发工具:idea、Navicat、微信开发者工具

数据库:MySQL8.0

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

开发人员:IT012201

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

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

相关文章

记一次linux操作系统实验

前言 最近完成了一个需要修改和编译linux内核源码的操作系统实验,个人感觉这个实验还是比较有意思的。这次实验总共耗时4天,从对linux实现零基础,通过查阅资料和不断尝试,直到完成实验目标,在这过程中确实也收获颇丰&…

井盖位移监测系统怎么监测井盖位移

党的二十大报告提出,坚持人民城市人民建、人民城市为人民,提高城市规划、建设、治理水平。秉持依法治理、创新引领的理念,市政府应该坚定推进窨井盖安全管理工作,不断加大排查整治力度,弥补设施安全管理短板&#xff0…

每日一练:“打家劫舍“(House Robber)问题 II

有想要了解打家劫舍初级问题的,可以点击下面链接查看! 每日一练:“打家劫舍“(House Robber)问题 I 1. 问题 假设有房屋形成一个环形,即第一个房屋和最后一个房屋也相邻,每个房屋里都存放着一定…

Java数组的复制、截取(内含例题:力扣-189.轮转数组)

目录 数组的复制、截取: 1、使用Arrays中的copyOf方法完成数组的拷贝 2、使用Arrays中的copyofRange方法完成数组的拷贝 题目链接: 数组的复制、截取: 1、使用Arrays中的copyOf方法完成数组的拷贝 public class Csdn {public static vo…

【Git】一文教你学会 submodule 的增、查、改、删

添加子模块 $ git submodule add <url> <path>url 为想要添加的子模块路径path 为子模块存放的本地路径 示例&#xff0c;添加 r-tinymaix 为子模块到主仓库 ./sdk/packages/online-packages/r-tinymaix 路径下&#xff0c;命令如下所示&#xff1a; $ git subm…

UI自动化测试神器:RunnerGo测试平台

可以直接进入官网下载开源版或点击右上角体验企业版体验 RunnerGo UI自动化平台 RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块&#xff0c;覆盖了整个产品测试周期。 RunnerGo UI自动化基于Selenium浏览器自动化方案构建&#xff0c;内嵌高度…

可持续创新 精选路线

在加速企业数字化转型、 实现智能制造的升级之路上&#xff01; 使用好的工具固然重要&#xff0c; 而有好工具&#xff0c;也要会用工具。生信科技不仅为企业提供强大的产品支持&#xff0c; 更有全方位的定制化服务&#xff0c; 提升工程师的工具应用能力&#xff0c; 让企业…

海外https代理ip如何保障信息安全?该怎么选择?

海外https代理ip是指通信协议为https的海外真实网络地址ip&#xff0c;通常应用在各种跨境业务中。 一、什么是HTTPS协议 HTTP协议是一个应用层协议&#xff0c;通常运行在TCP协议之上。它是一个明文协议&#xff0c;客户端发起请求&#xff0c;服务端给出响应的响应。由于网…

pat实现基于邻接表表示的深度优先遍历[含非递归写法]

文章目录 1.递归2.非递归 1.递归 void DFS(ALGraph G, int v) {visited[v] 1;printf("%c ", G.vertices[v].data);for (ArcNode* cur G.vertices[v].firstarc; cur ! nullptr; cur cur->nextarc){if (!visited[cur->adjvex])DFS(G, cur->adjvex);} }2.非…

matlab画双坐标图的样式

matlab画双坐标图的样式 %% clc,clear,close all; t0:0.1:9*pi; figure; [AX,Ha,Hb]plotyy(t,sin(t),t,exp(t)); % 绘图并创建句柄 % ----------------- 设置刻度 set(AX(1),yTick,[-1.250:0.25:1.25]) % 设置左边Y轴的刻度 set(AX(2),yTick,[0:50:350]) …

2023年【危险化学品经营单位安全管理人员】考试内容及危险化学品经营单位安全管理人员最新解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员考试内容是安全生产模拟考试一点通生成的&#xff0c;危险化学品经营单位安全管理人员证模拟考试题库是根据危险化学品经营单位安全管理人员最新版教材汇编出危险化学品经营单位安全管…

HarmonyOS开发:ArkTs常见数据类型

前言 无论是Android还是iOS开发&#xff0c;都提供了多种数据类型用于常见的业务开发&#xff0c;但在ArkTs中&#xff0c;数据类型就大有不同&#xff0c;比如int&#xff0c;float&#xff0c;double&#xff0c;long统一就是number类型&#xff0c;当然了也不存在char类型&…

新式的拉式膜片弹簧离合器设计机械设计CAD

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;离合器 获取完整论文报告工程源文件 减震弹簧 摩擦片 膜片弹簧 压盘 轴 扭转减震器 从动盘 离合器 离合器的结构设计 为了达到计划书所给的数据要求&#xff0c;设计时应根据车型的类别、使用要求、制造条件&#xff0c;…

Flink-简介与基础

Flink-简介与基础 一、Flink起源二、Flink数据处理模式1.批处理2.流处理3.Flink流批一体处理 三、Flink架构1.Flink集群2.Flink Program3.JobManager4.TaskManager 四、Flink应用程序五、Flink高级特性1.时间流&#xff08;Time&#xff09;和窗口&#xff08;Window&#xff0…

FreeRTOS深入教程(信号量源码分析)

文章目录 前言一.创建信号量二.释放信号量三.获取信号量成功获取获取不成功 总结 前言 本篇文章将为大家讲解信号量&#xff0c;源码分析。 在 FreeRTOS 中&#xff0c;信号量的实现基于队列。这种设计的思想是利用队列的特性来实现信号量&#xff0c;因为信号量可以被视为只…

借助 XEOS V6, 农牧龙头企业实现原有存储的高效在线替换

面对旧有存储系统的应用不足&#xff0c;某大型现代农牧龙头企业采用了星辰天合的对象存储 XEOS V6 方案&#xff0c; 该方案以其卓越的技术架构和同城双活异地灾备的解决方案完整性&#xff0c;在无缝高效完成系统替换的同时&#xff0c;可以极大地提升系统的灵活性和业务的连…

C/C++ 实现Socket交互式服务端

在 Windows 操作系统中&#xff0c;原生提供了强大的网络编程支持&#xff0c;允许开发者使用 Socket API 进行网络通信&#xff0c;通过 Socket API&#xff0c;开发者可以创建、连接、发送和接收数据&#xff0c;实现网络通信。本文将深入探讨如何通过调用原生网络 API 实现同…

RabbitMQ之发送者(生产者)可靠性

文章目录 前言一、生产者重试机制二、生产者确认机制实现生产者确认&#xff08;1&#xff09;定义ReturnCallback&#xff08;2&#xff09;定义ConfirmCallback 总结 前言 生产者重试机制、生产者确认机制。 一、生产者重试机制 问题&#xff1a;生产者发送消息时&#xff0…

【python VS vba】(6) python的常用函数print()的各种用法和细节(未完成)

1 基本语法 print() 3.0 都是函数用法 2 可打印的各种对象 直接打印对象 直接打印数组 直接打印string 数值等 3 打印的各种内容如何连接 逗号分隔 &不行 3 转义符 可用转义符 换行的特殊符号 /n 4 print() 里带变量怎么输出 试验了4种输出带变量的方法&#xf…

无需外接显示器,直接使用windows安装树莓派系统并可远程桌面登录

准备工作: 1.安装树莓派官方烧录工具 raspberry pi imager 2.下载树莓派系统镜像(也可选择在线下载安装) 打开imager工具&#xff0c;选择需要安装包树莓派版本 点击"NEXT"&#xff0c;在弹出的选项中选择编辑设置。 设置登录名和密码&#xff0c;已经所连接的wif…