基于java+ssm+vue的高校试题管理系统

项目介绍

本基于SSM框架的高校试题管理系统设计目标是实现试题的信息化管理,提高管理效率,使得试题管理工作规范化、科学化、高效化。

本文研究的高校试题管理系统基于SSM框架,采用Java技术和MYSQL数据库设计开发。在系统的整个开发过程中,首先对系统进行了需求分析,设计出系统的主要功能模块,包括学生功能模块、教师功能模块以及管理员功能模块三大部分,其次对网站进行总体规划和详细设计,最后对基于SSM框架的高校试题管理系统进行了系统测试,包括测试概述,测试内容等,并对测试结果进行了分析和总结,进而得出系统的不足及需要改进的地方,为以后的系统维护和扩展提供了方便。

本系统布局合理、色彩搭配和谐、框架结构设计清晰,具有操作简单,界面清晰,管理方便,功能完善等优势,有很高的使用价值。

4.2系统结构设计
系统架构的整体设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。本基于SSM框架的高校试题管理系统的设计与实现主要包括学生功能模块、教师功能模块和管理员功能模块三大部分,系统结构设计如图4-2所示。
在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序/vue/爬虫/c#/asp.net

系统实现

5.1登录模块的实现
用户要想进入本系统必须进行管理操作,在登录界面输入用户名和密码,选择登录角色,点击登录按钮进行登录系统,系统登录界面展示如图5-1所示。
在这里插入图片描述

图5-1系统登录界面图

5.2学生功能模块的实现
5.2.1 学生注册界面
没有账号的学生可进行注册操作,学生注册界面展示如图5-2所示。
在这里插入图片描述

图5-2 学生注册界面图

5.2.2 试卷列表界面
学生登录后可查看试卷信息,并可选择试卷进行参与考试,试卷列表界面展示如图5-3所示。
在这里插入图片描述

图5-3 试卷列表界面图

5.2.3 考试界面
学生通过本平台可进行在线考试,考试界面展示如图5-4所示。
在这里插入图片描述

图5-4 考试界面图

5.2.4 考试记录界面
学生可查看个人已有考试记录信息,考试记录界面展示如图5-4所示。
在这里插入图片描述

图5-5 考试记录界面图

5.2.5 错题本界面
学生能够进入错题本界面查看个人错题信息,错题本界面展示如图5-6所示。
在这里插入图片描述

图5-6 错题本界面图

5.3管理员功能模块的实现
5.3.1 学生管理界面
管理在学生管理界面可查看所有学生信息,并可对其进行修改和删除操作,同时也可添加学生信息,学生管理界面展示如图5-7所示。
在这里插入图片描述

图5-7 学生管理界面图

5.3.2 教师管理界面
管理员可增删改查教师信息,教师管理界面展示如图5-8所示。
在这里插入图片描述

图5-8 教师管理界面图

5.4教师功能模块的实现
5.4.1 教师注册界面
没有账号的教师可进行注册操作,教师注册界面展示如图5-9所示。
在这里插入图片描述

图5-9 教师注册界面图

5.4.2 试卷管理界面
教师登录后可增删改查试卷信息,试卷管理界面如图5-10所示。
在这里插入图片描述

图5-10 试卷管理界面图
在这里插入图片描述

图5-11 添加试卷界面图

5.4.3 试题管理界面
教师可增删改查试题信息,试题管理界面展示如图5-12所示,添加试题界面展示如图5-13所示。
在这里插入图片描述

图5-12 试题管理界面图
在这里插入图片描述

图5-13 添加试题界面图

核心代码

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.ExamquestionEntity;
import com.entity.view.ExamquestionView;

import com.service.ExamquestionService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 试题表
 * 后端接口
 * @author 
 * @email 
 * @date 
 */
@RestController
@RequestMapping("/examquestion")
public class ExamquestionController {
    @Autowired
    private ExamquestionService examquestionService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ExamquestionEntity examquestion, 
		HttpServletRequest request){

        EntityWrapper<ExamquestionEntity> ew = new EntityWrapper<ExamquestionEntity>();
		PageUtils page = examquestionService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, examquestion), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("st")
    public R list(@RequestParam Map<String, Object> params,ExamquestionEntity examquestion, 
		HttpServletRequest request){
        EntityWrapper<ExamquestionEntity> ew = new EntityWrapper<ExamquestionEntity>();
		PageUtils page = examquestionService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, examquestion), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("sts")
    public R list( ExamquestionEntity examquestion){
       	EntityWrapper<ExamquestionEntity> ew = new EntityWrapper<ExamquestionEntity>();
      	ew.allEq(MPUtil.allEQMapPre( examquestion, "examquestion")); 
        return R.ok().put("data", examquestionService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ExamquestionEntity examquestion){
        EntityWrapper< ExamquestionEntity> ew = new EntityWrapper< ExamquestionEntity>();
 		ew.allEq(MPUtil.allEQMapPre( examquestion, "examquestion")); 
		ExamquestionView examquestionView =  examquestionService.selectView(ew);
		return R.ok("查询试题表成功").put("data", examquestionView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ExamquestionEntity examquestion = examquestionService.selectById(id);
        return R.ok().put("data", examquestion);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ExamquestionEntity examquestion = examquestionService.selectById(id);
        return R.ok().put("data", examquestion);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("ve")
    public R save(@RequestBody ExamquestionEntity examquestion, HttpServletRequest request){
    	examquestion.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(examquestion);

        examquestionService.insert(examquestion);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ExamquestionEntity examquestion, HttpServletRequest request){
    	examquestion.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(examquestion);

        examquestionService.insert(examquestion);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ExamquestionEntity examquestion, HttpServletRequest request){
        //ValidatorUtils.validateEntity(examquestion);
        examquestionService.updateById(examquestion);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        examquestionService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<ExamquestionEntity> wrapper = new EntityWrapper<ExamquestionEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = examquestionService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

论文参考

在这里插入图片描述

目 录
摘 要 I
ABSTRACT II
1绪 论 1
1.1研究背景 1
1.2设计原则 1
1.3论文的组织结构 2
2 相关技术简介 3
2.1Java技术 3
2.2B/S结构 3
2.3MYSQL数据库 4
2.4 SSM框架 4
3 系统分析 6
3.1可行性分析 6
3.1.1技术可行性 6
3.1.2操作可行性 6
3.1.3经济可行性 6
3.1.4法律可行性 6
3.2系统性能分析 7
3.3系统功能分析 7
3.4系统流程分析 9
3.4.1注册流程 9
3.4.2登录流程 9
3.4.3添加信息流程 10
4 系统设计 11
4.1系统概要设计 11
4.2系统结构设计 11
4.3 系统顺序图 12
4.4数据库设计 14
4.4.1 数据库实体(E-R图) 14
4.4.2 数据库表设计 16
5 系统的实现 19
5.1登录模块的实现 19
5.2学生功能模块的实现 19
5.2.1 学生注册界面 19
5.2.2 试卷列表界面 20
5.2.3 考试界面 20
5.2.4 考试记录界面 21
5.2.5 错题本界面 21
5.3管理员功能模块的实现 21
5.3.1 学生管理界面 21
5.3.2 教师管理界面 22
5.4教师功能模块的实现 22
5.4.1 教师注册界面 22
5.4.2 试卷管理界面 23
5.4.3 试题管理界面 24
6 系统测试 25
6.1测试定义 25
6.2测试方式 25
6.3测试方案计划 26
6.4测试分析 27
7 总 结 28
参考文献 29
致 谢 30

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值