基于SpringBoot实现的信息技术知识赛系统设计与实现【源码+文档】

系统介绍

基于SpringBoot+Vue实现的信息技术知识赛系统采用前后端分离的架构方式,系统设计了管理员、用户两种角色,管理员实现了用户登录、管理员管理、在线学习管理、竞赛论坛管理、赛事信息管理、用户管理、测卷管理、测评管理等功能模块;用户实现了登录、注册、在线学习、测评、赛事报名等功能模块。

技术选型

开发工具:idea2020.3+Webstorm2020.3

运行环境:jdk1.8+maven3.6.0+MySQL5.7+nodejs14.21.3

服务端技术:Springboot+Mybatis-Plus

前端技术:html+css+Layui+jQuery+bootstrap+Vue+axios+Element-UI

成果展示

文档展示

管理端

登录

管理员管理

在线学习管理

用户管理

测卷管理

试题管理

编辑试题

用户端

首页

登录

在线学习

试卷测试

赛事信息

个人中心

测试记录

源码展示

复制代码
@RequestMapping("users")
@RestController
publicclass UsersController {

@Autowired
private UsersService usersService;

@Autowired
private TokenService tokenService;

/**
  * 登录
  */
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
  UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
   return R.error("账号或密码不正确");
  }
  String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
  R r = R.ok();
  r.put("token", token);
  r.put("role",user.getRole());
  r.put("userId",user.getId());
return r;
 }

/**
  * 注册
  */
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UsersEntity user){
     if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
      return R.error("用户已存在");
     }
        usersService.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){
     UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
     if(user==null) {
      return R.error("账号不存在");
     }
     user.setPassword("123456");
        usersService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
}

账号地址及其他说明

1、地址说明

管理员登录页:http://localhost:8081/

用户首页:http://localhost:8080/xinxijishuzhishisai/front/index.html

2、账号说明

管理员:admin/admin

用户:自行注册

3、目录结构展示

4、项目结构展示

5、以上系统源码,经过博主整理与调试,确保能正常运行!

6、制作不易,点赞、在看、分享再走吧,您的支持永远是我最大的动力!

7、运行步骤

复制代码
1、创建数据库、导入sql脚本
2、修改application.yml中的数据库配置文件,启动服务端
3、在源代码\admin目录下打开cmd,执行npm install或者yarn install下载依赖
4、下载完毕后启动前端npm run serve,访问端口
相关推荐
流云鹤5 分钟前
05Java学习day(5)
java·学习
山水洛行8 分钟前
都在聊Context Engineering图工程,可你说的图和他说的不是一个图
后端
Yao80612 分钟前
MinIO自建对象存储,省OSS费用的完整方案
前端·后端
用户31268748772015 分钟前
Spring 事件机制到底怎么传播的?ApplicationEvent 源码拆解
java·spring
Ai拆代码的曹操15 分钟前
深夜告警风暴:Dubbo 异步调用回调丢失 300 次——一个 tech lead 的自述
后端·dubbo
默辨26 分钟前
Spring AI Alibaba 核心知识点
java·ai·spring ai·spring alibaba
乐观的Terry35 分钟前
10、发布系统-路由管理与灰度发布
java
唐青枫44 分钟前
Java WebLogic 实战指南:从 Domain、数据源到 WAR 部署和集群管理
java
2501_937860941 小时前
Java 集合底层深度剖析:Map 与 Set、二叉搜索树、哈希表全解
java·数据结构·散列表
cyforkk2 小时前
并发控制与状态安全:Single-Flight 与幂等性的本质区别
java·安全·spring