一、考试系统简介

新鲜出炉的一款SpringBoot +Vue的考试系统,支持多种题型:选择题、多选题、判断题、填空题、综合题以及数学公式。支持在线考试,教师在线批改试卷。

二、项目架构

后端技术栈

  • SpringBoot: SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的创建、运行、调试、部署等。
  • Mybatis: 一个持久层的框架,与数据库进行交互,将数据持久化到关系型数据库中
  • Shiro: 一个功能强大且易于使用的Java安全框架,进行身份验证,授权,加密和会话管理,可用于保护任何应用程序- 从命令行应用程序,移动应用程序到大型的Web应用和企业应用。
  • mysql: 一个轻量级关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。
  • redis: 一个完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

前端技术

  • Vue: 一套用于构建用户界面的渐进式框架。 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。
  • Vuex: 一个专为Vue.js 应用程序开发的状态管理模式。 它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
  • Element-UI: 一套为开发者、设计师和产品经理准备的基于Vue 2.0 的桌面端组件库。
  • vue-router: Vue.js 官方的路由管理器。
  • axios: 一个基于Promise 的HTTP 库,可以用在浏览器和node.js 中。

项目说明
考试系统整体为前后端分离项目,作者又在这基础上,将后端拆分成两个管理员后端和学生考试后端,后端的代码是在一起。前端也做了类似的拆分,所以其实是两个后端项目,两个前端项目。本篇先讲一下学生考试部分的前后端环境搭建。功能包括:学员在线做课程试题、在线考试、错题本功能记录、考试记录、个人中心。

后端项目地址
后端项目地址: https://gitee.com/zhuimengshaonian/wisdom-education

  • 管理员后台: education-admin-api
  • 学生考试后台: education-student-api

前端项目地址

  • 管理员前端: https://gitee.com/zhuimengshaonian/wisdom-education-admin-front
  • 学生考试前端: https://gitee.com/zhuimengshaonian/wisdom-education-front

三、实战

3.1 后端服务

下载项目

git clone https://gitee.com/zhuimengshaonian/wisdom-education.git

初始化数据库
创建数据库education,执行数据库脚本。这里数据库脚本在项目的db目录下。

init-data.sql  #初始化数据
init-region.sql #初始化system_region
init-table.sql  #初始化表结构

注意:system_log表少一个字段request_url,类型为varchar(100)
修改配置
阅读项目配置文件可知,项目使用的prod的配置文件,所以我们直接看application-prod.yml文件即可。 这里主要关注数据库连接,再添加一下redis的配置。

server:port: 8001  #服务器端口servlet:context-path: /
#spring jdbc配置
spring:
#redis相关配置redis:jedis:pool:max-active: 8max-wait: 30max-idle: 8min-idle: 0port: 6379host: localhostpassword: 123456
#数据库连接datasource:url: jdbc:mysql://localhost:3306/education?serverTimezone=GMT%2B8&useSSL=true&useUnicode=true&characterEncoding=utf8username: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver

运行Application
运行EducationStudentApiApplication类,即可本地启动后端服务。

3.2 前端服务

下载项目

git clone https://gitee.com/zhuimengshaonian/wisdom-education-front.git

修改配置
用开发工具打开前端项目,这里我用的VSCode,打开config/index.js,这里主要修改一下proxyTable的内容:

proxyTable: {'/proxyApi': {target: 'http://localhost:8001',changeOrigin: true,pathRewrite: {'/proxyApi': 'http://localhost:8001'  }  }  } 

运行项目
在命令行窗口,或者VSCode终端执行下面命令就可以本地运行项目。

npm install #安装依赖
npm run dev #开发环境启动,默认http://localhost:8080/

要在服务端部署项目,执行下面打包命令,然后使用web容器部署即可。

npm run build #项目打包
npm run build --report #项目打包并输出分析报告

3.3 运行效果

浏览器访问http://localhost:8080,默认用户密码: student 123456,就可以直接登录了。 运行效果:

四、最后

项目具备了考试系统基本功能,本篇讲了学生考试部分的前后端的搭建。另外比较重要的一部分就是管理员前端项目,本人不是专业搞前端的,还没搞定管理员前端项目,尝试过程中也遇到了很多问题,FAQ做个记录。遇到问题其实也不可怕,合理利用搜索引擎 + 开启大脑思考功能,办法总比困难多嘛!我相信问题一定可以解决的。下篇讲考试系统的管理员部分的前后端搭建。

FAQ

  • 1.npm install 报错:Error: Can't find Python executable "python", you can set the PYTHON env variable。
    解决版方法:执行 npm install -g windows-build-tools命令
  • 2.npm install报错:MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 "4.0"。
    解决方法:https://blog.csdn.net/sunxiaoju/article/details/102567548
  • 3.Windows下安装前端项目,node-sass报错。
    解决方法:npm install node-sass@4.12.0 --save
  • 4.Vue packages version mismatch:vue@2.5.16, vue-template-compiler@2.5.2。
    解决办法:保持版本一致:npm install vue@2.5.2 --save
  • 5.How to fix ReferenceError: primordials is not defined in node。
    解决方法:npm -g install gulp-cli
我有个公众号叫:不安分的猿人 每周都会有技术干货分享给大家,关注我第一时间获取哦!

新鲜出炉的一款SpringBoot +Vue的考试系统相关推荐

  1. 2014年新鲜出炉的16款免费英文字体

    这里集合了16款现代风格的高质量英文字体,可以免费下载使用.这些字体在使用大字号显示(如广告.标签.宣传册和海报设计等)的时候效果最佳.设计师们不要错过了,赶紧收藏到你的字体库里. 您可能感兴趣的相关 ...

  2. 新鲜出炉!20款好看的英文字体下载

    字体是设计作品的重要组成部分,相比图形化元素,字体更能够清晰的表达含义.字体的运用是一门学问,使用恰当的字体作为设计元素能够达到事半功倍的效果.这里给大家分享20款新鲜出炉的好看的英文字体,可以免费下 ...

  3. Springboot+vue在线考试系统源码,前后端分离

    Springboot+vue在线考试系统源码 开发语言:Java 数据库:Mysql 开发工具:Eclipse 使用技术: 后端:SpringBoot 前端:VUE 和 Element-UI 源码免费 ...

  4. java项目:基于springboot+vue在线考试系统1013

    项目描述 springboot+vue在线考试系统: 使用目前较为流行的框架spring boot,前端部分采用了vue,项目的业务流程相对简单,该项目主要功能包括学生管理,教师管理,题库管理,成绩查 ...

  5. 基于SpringBoot+Vue在线考试系统【web端+小程序端】【附带源码】

    最近和不少大佬聊天,有的技术很牛,有的赚很多,有的已经是高管,有的有自己的公司. 通过聊天,我发现成功人的优点基本相同: 能吃苦,执行力强,自律性强. 喝了不少酒后,酒后吐真言,成功的人都不容易,说这 ...

  6. Java项目:Springboot+vue在线考试系统

    作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 在线考试系统 项目介绍 该项目是一个前后端分离项目,后端使用 SpringBoot,前端使用 V ...

  7. 超赞干货!2016年新鲜出炉的20款网页开发工具推荐

    越来越多的移动端和桌面端应用开始使用HTML.CSS和JS来开发了,而网页设计更是离不开这些语言.正是这种局面使得许多新的网页技术成为了可能,也催生了许多诸如React.js.Angular和Node ...

  8. 2016年新鲜出炉的20款网页开发工具推荐

    越来越多的移动端和桌面端应用开始使用HTML.CSS和JS来开发了,而网页设计更是离不开这些语言.正是这种局面使得许多新的网页技术成为了可能,也催生了许多诸如React.js.Angular和Node ...

  9. (免费分享)基于springboot,vue在线考试系统

    该项目是一个前后端分离,后端使用 SpringBoot,前端使用 VUE 和 Element-UI 组件库配合完成开发. 开发工具:IDEA,数据库:mysql5.7 源码获取:下方gongzhong ...

最新文章

  1. 未能加载文件或程序集“AspNetPager”或它的某一个依赖项。拒绝访问。(异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))...
  2. python编程自学难吗-为什么很多人不建议自学python编程呢?
  3. 架构师口中的混沌工程,究竟用来解决什么问题
  4. 用对齐原则求结构体长度
  5. matlab向量的角标,【MATLAB】利用冒号表达式获得子矩阵
  6. 百炼OJ - 1004 - 财务管理
  7. Zabbix 3.0 安装
  8. websphere内存设置_WebSphere Classloader内存泄漏预防
  9. c语言学习进阶-C语言程序实现矩阵乘法
  10. android统计库,android jacoco 统计多模块
  11. PKCS #1 RSA Encryption Version 1.5
  12. 【论文解读】情感-原因关系挖掘 —— ACL2019杰出论文
  13. Linux深度系统卡在开机界面,deepin开机卡死在logo页面解决方案
  14. atitit.提升开发效率---动态语言总结
  15. 一年披露落地应用27项 IBM区块链只为反哺云业务?
  16. 永宏plc和台达vfd-m变頻器modbs rtu通讯程序史上最好用的plc和变頻器rtu通讯程序
  17. html问卷调查实验报告,调查问卷实验报告
  18. vbscript for 转 php for,VBS教程:VBscript语句-For...Next 语句
  19. git log查看日志中文乱码的解决方法,绝对好用2021
  20. 内网渗透-内网环境下的横向移动总结

热门文章

  1. 芯片检测(分治法经典问题)
  2. 计算机翻译 调剂,19考研的看过来,部分接收调剂院校出炉,不少985噢!
  3. VMware ESXi网络配置
  4. 生日快乐网站模板(个人制作)(HTML5+CSS3+JS)
  5. 自动驾驶毫米波雷达物体检测技术-硬件
  6. H5与web的区别?
  7. Drools 规则文件语法概述
  8. 软件系统非功能测试方法,软件测试 非功能测试
  9. poj题目分类 [转载于=小媛在努力原创]
  10. 律师:“信用卡代还业务”今年或有牢狱之灾