当前位置: 首页 > news >正文

基于springboot+vue的在线考试系统

博主主页:猫头鹰源码
博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作
​主要内容:毕业设计(Javaweb项目|小程序|Python|HTML|数据可视化|SSM|SpringBoot|Vue|Jsp|PHP等)、简历模板、学习资料、面试题库、技术咨询
文末联系获取
感兴趣可以先收藏起来,以防走丢,有任何选题、文档编写、代码问题也可以咨询我们

研究背景:

现在大家正处于互联网加的时代,这个时代它就是一个信息内容无比丰富,信息处理与管理变得越加高效的网络化的时代,这个时代让大家的生活不仅变得更加地便利化,也让时间变得更加地宝贵化,因为每天的每分钟,每秒钟这些时间都能让人们处理大批量的日常事务,这些场景,是之前的手工模式无法与之相抗衡的。对于试卷信息的管理来说,传统的通过纸质文档记录信息的方式已经落后了,依靠手工管理试卷信息,不仅花费较长的工作时间,在对记录各种信息的文档进行信息查询以及信息核对操作时,也不能及时保证信息的准确性,基于这样的办公低效率环境下,对于试卷信息的处理就要提出新的解决方案。因为这个时代的信息一直都在高速发展,要是不抱着发展的观念看待事情,极有可能被这个市场快速遗忘,甚至被无情地淘汰掉。所以尽早开发一款在线考试系统进行信息的快速处理,既跟上了时代的发展脚步,也能让自己的核心竞争力有所提升。

系统包含技术:

后端:springboot,mybatis
前端:element-ui、js、css等
开发工具:idea/vscode
数据库:mysql 5.7
JDK版本:jdk1.8

部分截图说明:

javazaixiankaoshi_0304074905_10
javazaixiankaoshi_0304074905_11

javazaixiankaoshi_0304074905_8
javazaixiankaoshi_0304074905_9

部分代码说明:

/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {return R.error("用户名已存在。");}userService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}

参考文档:

F:\aaa\springboot204在线考试系统\文章.md

其他优秀案例:

案例1
案例2
案例3
案例4
案例5
案例6
案例7

项目获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻下方名片👇🏻

http://www.lryc.cn/news/311670.html

相关文章:

  • 001 概述
  • linux环境下nginx的配置文件
  • AcWing:1236. 递增三元组
  • 关于并网继电器的继电器自检逻辑及实现方式
  • Spring中的事务和事务的传播机制
  • 前端【技术类】资源学习网站整理(那些年的小网站)
  • MySQL——存储引擎
  • YoloV8改进策略:Block改进|MogaNet——高效的多阶门控聚合网络
  • 关于vue3使用prop传动态参数时父子数据不同步更新问题
  • 招投标系统:从线下招标到高效数字化
  • day08_分类品牌管理商品规格管理商品管理
  • 手写分布式配置中心(二)实现分布式配置中心的简单版本
  • 跨境知识分享:什么是动态IP?和静态IP有什么区别?
  • liunx安装jdk、redis、nginx
  • 【C++】STL学习之旅——初识STL,认识string类
  • Java学习笔记002——类的修饰符
  • 华为交换机常见命令总结
  • Android 签名机制
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Scroll容器组件
  • FreeRTOS操作系统学习——FreeRTOS工程创建
  • 6. 使用 Spring Boot进行开发(Developing with Spring Boot)
  • IP地址工具,判断IP是否在指定范围内(支持ipv6)
  • Redis 之六:Redis 的哨兵模式(Sentinel)
  • 总线要点笔记
  • RK3566 linux iperf网络测试
  • 【无标题】计算机主要应用于哪些领域
  • 力扣精选算法100道——颜色分类(双指针和三指针俩种方法解决此题)
  • 基于Java SSM springboot+VUE+redis实现的前后端分类版网上商城项目
  • 01——什么是人工智能
  • AI国漫女神这样画!傻瓜式的云端SD(stable diffusion)部署教程 - 白嫖4090、无需代码、一键启动