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

news2024/12/24 3:34:18

一、源码特点
 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

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

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

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

相关文章

C#构建类库

类库程序集能将类型组合成易于部署的单元&#xff08;DLL文件&#xff09;&#xff0c;为了使编写的代码能够跨多个项目重用&#xff0c;应该将他们放在类库程序集中。 一、创建类库 在C#中&#xff0c;构建类库是指创建一个包含多个类的项目&#xff0c;这些类可以被其他应用…

一文总结CNN中【各类卷积】操作

本文详细总结CNN中各类卷积&#xff0c;旨在指导 domain-specific 更好的模型设计&#xff0c;包括标准卷积&#xff0c;分组卷积&#xff08;Group Conv&#xff09;&#xff0c;深度可分离卷积&#xff08;Depthwise Separable Conv&#xff09;&#xff0c;转置卷积&#xf…

【C++ 设计模式】策略模式与简单工厂模式的结合

文章目录 前言一、为什么需要策略模式简单工厂模式二、策略模式简单工厂模式实现原理三、UML图四、示例代码总结 前言 在软件设计中&#xff0c;常常会遇到需要根据不同情况选择不同算法或行为的情况。策略模式和简单工厂模式是两种常见的设计模式&#xff0c;它们分别解决了对…

字节面试: Mysql为什么用B+树,不用跳表?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团、蚂蚁、得物的面试资格&#xff0c;遇到很多很重要的相关面试题&#xff1a; Mysql用B树&#xff0c;不用跳表&…

JVM垃圾收集器-serial.parNew,parallelScavnge,serialOld,parallelOld,CMS,G1

垃圾收集器 分代模型 适用于新生代&#xff1a; serial parNew parallel Scaavenge 适用于老年代&#xff1a; CMS serial Old(msc) paraller Old 分区模型 适用于超大容量&#xff1a; G1 分代模型 serial /serial Old收集器 1.单线程收集器 2.收集时会暂停其他线程&…

java学习之路-程序逻辑控制

目录 1.分支结构 1.1 if语句 栗子 判断奇数还是偶数 判断一个年份是否为闰年 1.2switch语句 栗子 2. 循环结构 2.1while 循环 栗子 2.2break和continue break continue 2.3for循环 基本语法 栗子 2.4 do while 循环 3.输入输出 3.1输出 3.2从键盘输入 栗子…

19 OpenCV 霍夫曼变换检测圆

文章目录 cv::HoughCircles算子参数示例 cv::HoughCircles 因为霍夫圆检测对噪声比较敏感&#xff0c;所以首先要对图像做中值滤波。 基于效率考虑&#xff0c;Opencv中实现的霍夫变换圆检测是基于图像梯度的实现&#xff0c;分为两步&#xff1a; 检测边缘&#xff0c;发现可能…

2024年初中生古诗文大会备考:多选题真题和独家解析(持续更新)

今天我们继续来做初中古诗文大会的一道难题&#xff1a;多选题&#xff0c;让大家了解初中生古诗文大会的考察内容和形式&#xff0c;并且提供了我独家的题目解析和答案&#xff0c;供初中的同学们学习和参考。 Tips&#xff1a;古诗文大会的许多题目都来自于中考、高考&#…

【Twinmotion】Twinmotion导入UE5

步骤 1. 在虚幻商城中安装“Datasmith Twinmotion导入器插件” 安装“面向虚幻引擎的Twinmotion内容” 2. 打开虚幻引擎&#xff0c;在插件中搜索“twinmotion”&#xff0c;勾选如下两个插件&#xff0c;然后重启虚幻引擎 3. 打开Twinmotion&#xff0c;随便添加一个物体 导出…

html canvas怎么在图片上面加文字

在HTML canvas中&#xff0c;要让文字显示在图片上方&#xff0c;你需要按照以下步骤操作&#xff1a; 首先&#xff0c;使用drawImage()方法将图片绘制到canvas上。 然后&#xff0c;使用fillText()或strokeText()方法在canvas上绘制文本。 以下是一个简单的示例代码&#…

Springboot 整合 Elasticsearch(五):使用RestHighLevelClient操作ES ②

&#x1f4c1; 前情提要&#xff1a; Springboot 整合 Elasticsearch&#xff08;三&#xff09;&#xff1a;使用RestHighLevelClient操作ES ① 目录 一、Springboot 整合 Elasticsearch 1、RestHighLevelClient API介绍 1.1、全查询 & 分页 & 排序 1.2、单条件查询…

C++第五弹---类与对象(二)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 类与对象 1、类对象模型 1.1、如何计算类对象的大小 1.2、类对象的存储方式猜测 1.3、结构体内存对齐规则 2、this指针 2.1、this指针的引出 2.2…

Android U pipeline-statusbar

Android U - statusbar pipeline 写在前面 Android原生从T开始对SystemUI进行MVVM改造&#xff0c;U上状态栏部分进行了修改&#xff1b;第一次出现修改不会删除原有逻辑&#xff0c;而是两版并行&#xff0c;留给其他开发者适配的时间&#xff1b;在下一个大版本可能会删除原…

flask库

文章目录 flask库1. 基本使用2. 路由路径和路由参数3. 请求跳转和请求参数4. 模板渲染1. 模板变量2. 过滤器3. 测试器 5. 钩子函数与响应对象 flask库 flask是python编写的轻量级框架&#xff0c;提供Werkzeug&#xff08;WSGI工具集&#xff09;和jinjia2&#xff08;渲染模板…

SpringBoot+Vue.js协同过滤算法美食推荐小程序

摘 要 伴随着我国社会的发展&#xff0c;人民生活质量日益提高。于是对各种需求进行规范而严格是十分有必要的&#xff0c;所以许许多多的微信小程序应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套协同过滤算法美食推荐小程序&#xff0c;帮助…

【SQL Server】实验四 数据更新

1 实验目的 掌握SQL数据更新语句的基本使用方法&#xff0c;如UPDATE、DELETE、INSERT。掌握更新语句条件中的嵌套查询使用方法。 2 实验内容 2.1 掌握SQL更新语句的基本使用方法 INSERT基本语句。UPDATE基本语句。DELETE基本语句。 2.2 掌握SQL更新语句的高级使用方法 …

SimpleDateFormat类 --java学习笔记

SimpleDateFormat 代表简单日期格式化&#xff0c;可以用来把日期对象、时间毫秒值格式化成我们想要的形式 常见构造器和方法&#xff1a; pattern 代表需要应用的时间格式—— 时间格式的常见符号&#xff1a; 时间格式的应用举例&#xff1a; import java.text.SimpleDate…

(二)丶RabbitMQ的六大核心

一丶什么是MQ Message Queue(消息队列&#xff09;简称MQ&#xff0c;是一种应用程序对应用程序的消息通信机制。在MQ中&#xff0c;消息以队列形式存储&#xff0c;以便于异步传输&#xff0c;在MQ中&#xff0c;发布者&#xff08;生产者&#xff09;将消息放入队列&#xff…

基于信号分解的几种一维时间序列降噪方法(MATLAB R2021B)

自适应信号分解算法是一种适合对非平稳信号分析的方法&#xff0c;它将一个信号分解为多个模态叠加的形式&#xff0c;进而可以准确反应信号中所包含的频率分量以及瞬时频率随时间变化的规律。自适应信号分解算法与众多“刚性”方法(如傅里叶变换&#xff0c;小波变换)不同&…

最后十几天!未备案小程序将会被清退

微信官方通知 2023年8月9日&#xff0c;微信公众平台发布了“关于开展微信小程序备案的通知”&#xff1a; 去年就已经在逐步推进备案了&#xff0c;新注册小程序必须备案才可以上架。若微信小程序已上架&#xff0c;须于2024年3月31日前完成备案&#xff0c;逾期未完成备案&a…