idea Springboot 组卷管理系统LayUI框架开发mysql数据库web结构java编程计算机网页

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

springboot 组卷管理系统


二、功能介绍
(1)教师管理:对教师信息进行添加、删除、修改和查看
(2)管理员管理:对管理员信息进行添加、删除、修改和查看
(3)科目管理:对科目信息进行添加、删除、修改和查看
(4)试题类型管理:对试题类型信息进行添加、删除、修改和查看
(5)试题管理:对试题信息进行添加、删除、修改和查看
(6)试卷管理:对试卷信息进行添加、删除、修改和查看、预览、导出
(7)组卷管理:对组卷信息进行添加、删除、修改和查看、自动组卷   
(8)用户登录、个人信息修改

数据库设计

(1)教师信息表如表5.1所示:

表5.1 教师信息表

序号

字段名称

数据类型

长度

主键

描述

1

jsid

INTEGER

11

教师编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

lxdh

VARCHAR

40

联系电话

(2)管理员如表5.2所示:

表5.2 管理员表

序号

字段名称

数据类型

长度

主键

描述

1

glyid

INTEGER

11

管理员编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

(3)科目表如表5.3所示:

表5.3 科目表

序号

字段名称

数据类型

长度

主键

描述

1

kmid

INTEGER

11

科目编号

2

km

VARCHAR

40

科目

3

fzjs

VARCHAR

40

负责教师

(4)试题类型表如表5.4所示:

表5.4 试题类型信息表

序号

字段名称

数据类型

长度

主键

描述

1

stlxid

INTEGER

11

试题类型编号

2

lx

VARCHAR

40

类型

(5)试题表如表5.5所示:

表5.5 试题表

序号

字段名称

数据类型

长度

主键

描述

1

stid

INTEGER

11

试题编号

2

stmc

VARCHAR

40

试题名称

3

lx

VARCHAR

40

类型

4

nd

VARCHAR

40

难度

5

km

VARCHAR

40

科目

6

ms

VARCHAR

40

描述

7

zsd

VARCHAR

40

知识点

8

tp

VARCHAR

40

图片

代码设计

  /**组卷列表 查询zujuan
	 * 
	 */
    @RequestMapping(value = "listpage")
    public ModelAndView  listpage(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("zujuan/zujuanlist");//跳转jsp 页面

        String zjid=(String)request.getParameter("zjid");
        if(zjid!=null&&!zjid.equals("")){//判断组卷编号
           // System.out.println(zjid);
            map.put("zjid",zjid);//拼接sql语句组卷编号
        }
        String st=(String)request.getParameter("st");
        if(st!=null&&!st.equals("")){//判断试题
           // System.out.println(st);
            map.put("st",st);//拼接sql语句试题
        }
        String sj=(String)request.getParameter("sj");
        if(sj!=null&&!sj.equals("")){//判断试卷
           // System.out.println(sj);
            map.put("sj",sj);//拼接sql语句试卷
        }
        String fz=(String)request.getParameter("fz");
        if(fz!=null&&!fz.equals("")){//判断分值
           // System.out.println(fz);
            map.put("fz",fz);//拼接sql语句分值
        }
        if(request.getSession().getAttribute("yhm")!=null){
            map.put("yh",request.getSession().getAttribute("yh"));//拼接sql语句分值
        }

        List<zujuan> list=zujuandao.getAll(map);//查询zujuan 表数据返回 list对象

        mav.addObject("list",list);//赋值变量
       

        return mav;
    }



    /**组卷添加方法 对表 zujuan 进行批量自动添加
     *
     */
    @RequestMapping(value = "zidong")
    public ModelAndView  zidong(HttpServletRequest request, HttpServletResponse response){

        try {
            request.setCharacterEncoding("gb2312");//强制字符集
        }catch(Exception e){//捕获异常
            e.printStackTrace();
        }

        ModelAndView mav = new ModelAndView();//初始化
        mav.setViewName("zujuan/add");//跳转页面
        zujuan bean=new zujuan();

        String km=(String)request.getParameter("km");//组卷编号 变量



        String sj=(String)request.getParameter("sj");//试卷 变量

      //  String fz=(String)request.getParameter("fz");//分值 变量




        String[] lx = request.getParameterValues("lx");//类型数组

        String[] nd = request.getParameterValues("nd");//难度数组

        String[] num = request.getParameterValues("num");//难度数组

        String[] fz = request.getParameterValues("fz");

        DBO db=new DBO();

        String sql="";

        ResultSet rs=null;
      int a=0;
        sql="";
      String nda="";

      int all=0;
        try{

            for(int i=0;i<lx.length;i++){
                //lx[i]  是类型
                    nda="";
                a=Integer.parseInt(num[i]);

                if(nd[i]!=null){

                    nda=nd[i];
                }



                if(a>0){

                    sql="select * from shiti where km='"+km+"' and lx='"+lx[i]+"' ";


                    if(!nda.equals("")){
                        sql+=" and nd='"+nda+"'";

                    }

                    sql+="limit 0,"+a+"";

                    System.out.println(sql);
                    db.open();
                    rs=db.query(sql);
                    while(rs.next()){

                    sql="insert into zujuan (sj,st,fz) values('"+sj+"','"+rs.getString("stid")+"','"+fz[i]+"')";

                    db.open();
                    db.update(sql);


                    all=all+Integer.parseInt(fz[i]);

                    }

                }



            }


        sql="update shijuan set zf=zf+"+all+"  where sjid='"+sj+"'";
            db.open();
            db.update(sql);


        }catch(Exception e){
            e.printStackTrace();
        }finally {
            db.close();
        }
        request.setAttribute("msg", "<script>alert('自动组卷成功');</script>");//操作提示





          return mav;

    }

三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件src\main\resources  下的 application.properties
2、开发环境为IDEA开发,数据库为mysql,使用java语言开发。
3、数据库文件名是jspspexam.sql 系统名称spexam
4、地址:login.jsp 
四 系统实现

下载地址:

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

无人机远程指挥控制系统技术,无人机远程指挥中心功能详解

无人机远程指挥控制系统是一种用于实现无人机远程控制和指挥的技术。它主要基于先进的通信技术和无人机控制技术&#xff0c;使得操作人员可以在远离无人机的地方对其进行实时的控制和监控。 无人机远程指挥控制系统关键部分&#xff1a; 1. 通信技术&#xff1a;这是无人机远…

2023年对我国精油品牌战略以及行业分析

环洋咨询Global Info Research的精油市场调研报告提供精油市场的基本概况&#xff0c;包括定义&#xff0c;分类&#xff0c;应用和产业链结构&#xff0c;同时还讨论发展政策和计划以及制造流程和成本结构&#xff0c;分析精油市场的发展现状与未来市场趋势&#xff0c;并从生…

<.Net>VisaulStudio2022下用VB.net实现socket与汇川PLC进行通讯案例(Eazy521)

前言 此前&#xff0c;我写过一个VB.net环境下与西门子PLC通讯案例的博文&#xff1a; VisaulStudio2022下用VB.net实现socket与西门子PLC进行通讯案例&#xff08;优化版&#xff09; 最近项目上会用到汇川PLC比较多&#xff0c;正好有个项目有上位机通讯需求&#xff0c;于是…

Linux - 多线程

1、Linux线程概念 1.1、什么是线程 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。更准确的定义是&#xff1a;线程是 “一个进程内部的控制序列”一切进程至少都有一个执行线程&#xff1b;线程在进程内部运行&#xff0c;本质是在进程地址空间内运…

娃哈哈大广赛命题内容详解,优胜作品分享!

2024第16届全国大学生广告艺术大赛正在火热进行中&#xff0c;你参加了吗&#xff01;大广赛是中国最大的高校广告创意竞赛活动。它由教育部高等教育司指导&#xff0c;中国传媒大学、大广赛文化传播&#xff08;北京&#xff09;有限公司共同举办&#xff0c;至今已经发布了多…

1679.K和数对的最大数目

题目&#xff1a;给你一个整数数组nums和一个整数k。 每一步操作中&#xff0c;你需要从数组中选出和为 k 的两个整数&#xff0c;并将他们移出数组。 返回你可以对数组执行的最大操作数。 解题思路&#xff1a;排序&#xff0b;双指针 class Solution{public int maxOperat…

第 5 章 TF坐标变换(自学二刷笔记)

重要参考&#xff1a; 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 5.1.6 TF坐标变换实操 需求描述&#xff1a; 程序启动之初&#xff1a;产生两只乌龟&#xff0c;中间的乌龟…

Docker部署系列之Docker Compose安装Redis三主三从集群

在日常开发或者编程当中&#xff0c;经常需要用到redis集群&#xff0c;若是按照传统的方式&#xff0c;一个机器一个机器搭建&#xff0c;难免过于繁琐&#xff0c;故而可以通过dock er-compose编排方式&#xff0c;快速搭建。我在搭建过程当中&#xff0c;将操作记录下来&…

『运维备忘录』之 iptables 防火墙使用指南

前言 iptables 是一个配置 Linux 内核防火墙的命令行工具&#xff0c;它是用来设置、维护和检查Linux内核的IP包过滤规则的。本文将介绍 iptables 的基础知识和使用示例。 注意&#xff1a;红帽/红旗/CentOS等 7 版本以上已改为使用 firewalld 作为防火墙替换iptables。 一、基…

sqllab第三关通关笔记

知识点&#xff1a; 通过回显的信息判断原始语句的组成猜测该语句为 select 1,2,3 from 表名 where id (输入) limit 0,1 首先通过测试判断存在什么类型的sql注入 构造id1/0 发现正常输出&#xff1b;说明是字符型的sql注入 好了&#xff0c;下面就测试有什么限制条件 构造…

4、设计模式之建造者模式

一、什么是建造者模式 建造者模式是一种创建型设计模式&#xff0c;也叫生成器模式。 定义&#xff1a;封装一个复杂对象构造过程&#xff0c;并允许按步骤构造。 解释&#xff1a;就是将复杂对象的创建过程拆分成多个简单对象的创建过程&#xff0c;并将这些简单对象组合起来…

大路灯有必要买吗?测评师推荐五大大路灯品牌!

不知道各位家长有没有发现&#xff0c;近几年来小小年纪就戴眼镜的孩子真的越来越多了&#xff01; 根据专家数据统计&#xff0c;在全国青少年近视率中小学生就占其40%比重&#xff0c;也代表了10个学生中就有4、5个是戴眼镜的。造成这个趋势的原因也不难理解&#xff0c;一是…

Prometheus 安装部署

文章目录 1.部署Prometheus1.1.修改配置文件1.2.配置告警规则1.3.运行Docker 2.部署Alertmanager2.1.修改配置文件2.2.Prometheus监控配置2.3.运行Docker 3.部署Grafana3.1.运行Docker3.2. 配置数据源3.3. 配置dashboard 开源中间件 # Prometheushttps://iothub.org.cn/docs/m…

MATLAB中格式化文本处理

目录 格式化操作符的字段 转换字符 子类型 精度 字段宽度 标志 值标识符 特殊字符 设置字段宽度和精度 精度和字段宽度的格式化规则 在格式设定符外部指定字段宽度和精度 在宽度和精度字段中指定带编号的标识符 使用标识符的限制 要将数据转换为文本并控制其格式&…

【AnaConda/MiniConda/Linux】使用sudo python或切换root管理员conda环境被绕过解决方案

写在前面 部分机型修改环境变量存在风险&#xff0c;可能用于被覆盖而出现大量命令无法找到的情况 可以输入这个解决 export PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin往期相关内容 探索Miniconda3&#xff1a;简单、灵活的Python环境和…

【线代基础】张量、向量、标量、矩阵的区别

1、标量&#xff08;Scalar&#xff09; 纯数字&#xff0c;无方向性、无维度概念。因此也叫 标量张量、零维张量、0D张量 例如&#xff0c;x18&#xff0c;x21.34 x1、x2即为标量 2、张量&#xff08;tensor&#xff09; 具有方向性&#xff0c;可以理解为一个多维数组&a…

相机模型Omnidirectional Camera(全方位摄像机)

1. 背景 大多数商用相机都可以描述为针孔相机&#xff0c;通过透视投影进行建模。然而&#xff0c;有些投影系统的几何结构无法使用传统针孔模型来描述&#xff0c;因为成像设备引入了非常高的失真。其中一些系统就是全方位摄像机。 有几种方法可以制作全向相机。屈光照相机(D…

《手把手教你》系列技巧篇(三十二)-java+ selenium自动化测试-select 下拉框(详解教程)

1.简介 在实际自动化测试过程中&#xff0c;我们也避免不了会遇到下拉选择的测试&#xff0c;因此宏哥在这里直接分享和介绍一下&#xff0c;希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助。 2.select 下拉框 2.1Select类 1.在Selenium中&#xff0c;针对html的标签sel…

工科硕士研究生毕业论文撰写总结

工科硕士研究生毕业论文撰写总结 最近一段看了十几篇研究生毕业论文&#xff0c;发现不少问题。结合最近几年当评委及审论文的经验来总结下工科硕士研究生毕业论文撰写毕业论文问题与经验。 一&#xff0e;科技论文的总要求 论文是写给同行看的&#xff0c;注意读者对象。&a…

细粒度IP定位参文27(HGNN):Identifying user geolocation(2022年)

[27] F. Zhou, T. Wang, T. Zhong, and G. Trajcevski, “Identifying user geolocation with hierarchical graph neural networks and explainable fusion,” Inf. Fusion, vol. 81, pp. 1–13, 2022. (用层次图、神经网络和可解释的融合来识别用户的地理定位) 论文地址:…