idea Springboot 在线考试管理系统开发mysql数据库web结构java编程计算机网页

一、源码特点
 springboot 在线考试管理系统是一套完善的完整信息系统,结合mvc框架和bootstrap完成本系统springboot spring mybatis ,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
前段主要技术 css jquery
后端主要技术 Springboot spring mybatis 
数据库 mysql
开发工具 IDEA  JDK1.8

springboot 在线考试系统1


二、功能介绍
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)学生管理:对学生信息进行添加、删除、修改和查看
(3)教师管理:对教师信息进行添加、删除、修改和查看
(4)公告管理:对公告信息进行添加、删除、修改和查看
(5)难度管理:对难度信息进行添加、删除、修改和查看
(6)知识点管理:对知识点信息进行添加、删除、修改和查看
(7)章节管理:对章节信息进行添加、删除、修改和查看
(8)试题管理:对试题信息进行添加、删除、修改和查看
(9)试卷管理:对试卷信息进行添加、删除、修改和查看
(10)组卷管理:对组卷信息进行添加、删除、修改和查看
(11)成绩管理:对成绩信息进行删除、修改和查看,系统采取主观判卷的方式进行判定。
(12)答题管理:对答题信息进行删除、修改和查看

数据库设计

[表gly] 管理员列属性表格

序号字段名称数据类型长度主键描述
1glyidINTEGER11管理员编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名

[表xuesheng] 学生列属性表格

序号字段名称数据类型长度主键描述
1xsidINTEGER11学生编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5lxdhVARCHAR40联系电话
6lxdzVARCHAR40联系地址

[表jiaoshi] 教师列属性表格

序号字段名称数据类型长度主键描述
1jsidINTEGER11教师编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5lxdhVARCHAR40联系电话
6lxdzVARCHAR40联系地址

[表gonggao] 公告列属性表格

序号字段名称数据类型长度主键描述
1ggidINTEGER11公告编号
2btVARCHAR40标题
3nrVARCHAR40内容
4fbsjVARCHAR40发布时间

[表nandu] 难度列属性表格

序号字段名称数据类型长度主键描述
1ndidINTEGER11难度编号
2ndVARCHAR40难度

[表zsd] 知识点列属性表格

序号字段名称数据类型长度主键描述
1zsdidINTEGER11知识点编号
2zsdmcVARCHAR40知识点名称

[表zhangjie] 章节列属性表格

序号字段名称数据类型长度主键描述
1zjidINTEGER11章节编号
2zjmcVARCHAR40章节名称

代码设计

  @RequestMapping(value = "list")public ModelAndView  list(HttpServletRequest request, HttpServletResponse response)  {try {request.setCharacterEncoding("gb2312");//强制字符集}catch(Exception e){e.printStackTrace();}Map<String,Object> map= new HashMap<String,Object>();ModelAndView mav = new ModelAndView();//初始化mav.setViewName("shijuan/list");//跳转jsp 页面String sjid=(String)request.getParameter("sjid");if(sjid!=null&&!sjid.equals("")){// System.out.println(sjid);map.put("sjid",sjid);//拼接sql语句试卷编号}String sjmc=(String)request.getParameter("sjmc");if(sjmc!=null&&!sjmc.equals("")){// System.out.println(sjmc);map.put("sjmc",sjmc);//拼接sql语句试卷名称}String fbsj=(String)request.getParameter("fbsj");if(fbsj!=null&&!fbsj.equals("")){// System.out.println(fbsj);map.put("fbsj",fbsj);//拼接sql语句发布时间}String kssj=(String)request.getParameter("kssj");if(kssj!=null&&!kssj.equals("")){// System.out.println(kssj);map.put("kssj",kssj);//拼接sql语句考试时间}String sm=(String)request.getParameter("sm");if(sm!=null&&!sm.equals("")){// System.out.println(sm);map.put("sm",sm);//拼接sql语句说明}List<shijuan> list=shijuandao.getAll(map);//查询shijuan 表数据返回 list对象mav.addObject("list",list);//赋值变量return mav;}/**试卷添加方法 对表 shijuan 进行添加* */@RequestMapping(value = "add")public ModelAndView  add(HttpServletRequest request, HttpServletResponse response){try {request.setCharacterEncoding("gb2312");//强制字符集}catch(Exception e){e.printStackTrace();}ModelAndView mav = new ModelAndView();//初始化mav.setViewName("shijuan/shijuanadd");shijuan bean=new shijuan();String sjid=(String)request.getParameter("sjid");//{col.columnname} 变量bean.setSjid(sjid);//赋值封装String sjmc=(String)request.getParameter("sjmc");//{col.columnname} 变量bean.setSjmc(sjmc);//赋值封装String fbsj=(String)request.getParameter("fbsj");//{col.columnname} 变量bean.setFbsj(fbsj);//赋值封装String kssj=(String)request.getParameter("kssj");//{col.columnname} 变量bean.setKssj(kssj);//赋值封装String sm=(String)request.getParameter("sm");//{col.columnname} 变量bean.setSm(sm);//赋值封装shijuandao.add(bean);//执行 添加 shijuan 添加操作request.setAttribute("msg", "<script>alert('添加成功');</script>");//操作提示return addpage(request,response);}/**试卷添加方法 对表 shijuan 进行添加**/@RequestMapping(value = "kaoshido")public ModelAndView  kaoshido(HttpServletRequest request, HttpServletResponse response){try {request.setCharacterEncoding("gb2312");//强制字符集}catch(Exception e){e.printStackTrace();}//  String fbsj= StaticMethod.getStringDate();ModelAndView mav = new ModelAndView();//初始化//   mav.setViewName("shijuan/shijuanadd");java.util.Date   now=new   java.util.Date();java.text.SimpleDateFormat   formatter=new   java.text.SimpleDateFormat("yyyyMMddHHmmssssss");//  System.out.print(formatter.format(now));String ddid=""+formatter.format(now);String[] hd=request.getParameterValues("hd");String[] st=request.getParameterValues("st");String sj=(String)request.getParameter("sj");//String djsj=StaticMethod.getStringDate();//{col.columnname} 变量String xs=(String)request.getSession().getAttribute("yhm");//{col.columnname} 变量try{Connection con=jdbcTemplate.getDataSource().getConnection();DBO db=new DBO();db.open(con);ResultSet rs=null;List list=null;String sql="";for(int i=0;i<st.length;i++){dati dtbean=new dati();dtbean.setDf("0");dtbean.setDjsj(djsj);dtbean.setHd(hd[i]);dtbean.setLs(ddid);dtbean.setSj(sj);dtbean.setXs(xs);dtbean.setSt(st[i]);datidao.add(dtbean);}chengji bean=new chengji();String cjid=(String)request.getParameter("cjid");//{col.columnname} 变量bean.setCjid(cjid);//赋值封装bean.setXs(xs);//赋值封装String cj="0";//{col.columnname} 变量bean.setCj(cj);//赋值封装bean.setDjsj(djsj);//赋值封装bean.setSj(sj);//赋值封装String ls=ddid;//{col.columnname} 变量bean.setLs(ls);//赋值封装chengjidao.add(bean);//执行 添加 chengji 添加操作}catch(Exception e){e.printStackTrace();;}request.setAttribute("msg", "<script>alert('答题成功');</script>");//操作提示return list(request,response);}

三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件DBO.java
2、开发环境为IDEA开发,数据库为mysql,使用java语言开发。
3、数据库文件名是jspsmkaoshi.sql 系统名称smkaoshi
4、地址:login.jsp 

四 系统实现

下载地址

https://download.csdn.net/download/qq_41221322/88942810

源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

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

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

相关文章

Redis中缓存和数据库双写数据不一致

先更新数据库&#xff0c;还是先更新缓存? 1.先更新数据库&#xff0c;再更新缓存 2.先更新缓存&#xff0c;再更新数据库 1.先更新数据库&#xff0c;再更新缓存 举个例子&#xff0c;比如【请求A】和【请求B】两个请求&#xff0c;同时更新【同一条】数据&#xff0c; 则…

(一)RabbitMQ实战——rabbitmq的核心组件及其工作原理介绍

前言 RabbitMQ是一个开源的消息代理软件&#xff0c;它实现了高级消息队列协议&#xff08;AMQP&#xff09;标准&#xff0c;提供可靠的消息传递机制。RabbitMQ可以用于在应用程序之间传递消息&#xff0c;实现不同应用系统之间的解耦和通信。它支持多种编程语言&#xff0c;…

Purple Pi OH鸿蒙开发板7天入门OpenHarmony开源鸿蒙教程【六】

今天我们来从OpenHarmony简介、环境搭建、创建第一个OpenHarmony项目等方面开始OpenHarmony应用开发的第一步。 一. OpenHarmony简介 OpenHarmony 是由开放原子开源基金会&#xff08;OpenAtom Foundation&#xff09;孵化及运营的开源项目,目标是面向全场景、全连接、全智能…

智慧城市与数字经济:共创城市新价值

随着科技的快速发展&#xff0c;智慧城市与数字经济已成为推动城市现代化进程的重要引擎。它们不仅提升了城市治理的效率和公共服务水平&#xff0c;还为城市经济发展注入了新的活力。本文旨在探讨智慧城市与数字经济如何共同创造城市新价值&#xff0c;并分析其面临的挑战与发…

改三行代码就发了SCI一区?基于全面学习策略的Jaya算法!学会你也可以!CEC2017效果极佳!

声明&#xff1a;文章是从本人公众号中复制而来&#xff0c;因此&#xff0c;想最新最快了解各类智能优化算法及其改进的朋友&#xff0c;可关注我的公众号&#xff1a;强盛机器学习&#xff0c;不定期会有很多免费代码分享~ 目录 原始Jaya算法 改进Jaya算法策略详解&…

vscode通过多个跳板机连接目标机(两种方案亲测成功)

1、ProxyJump&#xff08;推荐使用&#xff09; 需要OpenSSH 7.3以上版本才可使用&#xff0c;可用下列命令查看&#xff1a; ssh -V ProxyJump命令行使用方法 ssh -J [email protected]:port1,[email protected]:port2 一层跳板机&#xff1a; ssh dst_usernamedst_ip -…

【海贼王的数据航海】探究二叉树的奥秘

目录 1 -> 树的概念及结构 1.1 -> 树的概念 1.2 -> 树的相关概念 1.3 -> 树的表示 1.4 -> 树在实际中的运用(表示文件系统的目录树结构) 2 -> 二叉树概念及结构 2.1 -> 二叉树的概念 2.2 -> 现实中的二叉树 2.3 -> 特殊的二叉树 2.4 ->…

Window API 使用的一些注意事项

文章目录 1、LPCWSTR类型2、LPCTSTR类型3、LPCSTR类型4、LPCTSTR和LPCWSTR区别5、LPCTSTR和LPCSTR、LPCWSTR三者区别6、_T(" ")7、DWORD类型转换为std::wstring类型8、char类型转换为LPCSTR类型9、获取当前时间戳(毫秒)10、std::wstring和LPCSTR区别11、std::wstring…

分布式链路追踪(一)SkyWalking(1)介绍与安装

一、介绍 1、简介&#xff1a; 2、组成 以6.5.0为例&#xff0c;该版本下Skywalking主要分为oap、webapp和agent三部分&#xff0c;oap和webapp分别用于汇总数据和展示&#xff0c;这两块共同组成了Skywalking的平台&#xff1b;agent是探针&#xff0c;部署在需要收集数据的…

Unity开发中Partial 详细使用案例

文章目录 **1. 分割大型类****2. 与 Unity 自动生成代码协同工作****3. 团队协作****4. 共享通用逻辑****5. 自定义编辑器相关代码****6. 配合 Unity 的 ScriptableObjects 使用****7. 多人协作与版本控制系统友好** 在 Unity 开发中&#xff0c; partial 关键字是 C# 语言提供…

rabbitmq-spring-boot-start配置使用手册

rabbitmq-spring-boot-start配置使用手册 文章目录 1.yaml配置如下2.引入pom依赖如下2.1 引入项目resources下libs中的jar包依赖如下2.2引入maven私服依赖如下 3.启动类配置如下4.项目中测试发送消息如下5.项目中消费消息代码示例6.mq管理后台交换机队列创建及路由绑定关系如下…

Github 2024-03-13 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-03-13统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目2Python项目2非开发语言项目2HTML项目1CSS项目1Dart项目1TypeScript项目1Go项目1JavaScript项目1《Hello 算法》:动画图解、一键运行的…