littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于Spring Boot和Vue的在线判题系统

项目简介

在线判题系统(Online Judge,简称OJ)用于在线评测编程题目代码。用户能选择题目、在线做题、编写并提交代码,系统会对提交代码进行编译、执行和评测,依据出题人预设答案判断结果是否正确。该系统的关键难点在于判题系统的设计与实现。

项目的主要特性和功能

核心功能

  1. 题目管理:管理员可创建、删除、修改题目;用户能搜索题目、在线做题并提交代码。
  2. 用户管理:管理员可进行用户注册、登录及管理操作。
  3. 判题系统:能提交判题,处理错误(如内存溢出、安全性、超时),有代码沙箱和开放接口。
  4. 判题规则:包括普通测评(管理员设置输入输出用例比对)、特殊测评(SPJ,用户答案>0或<2为正确)、交互测评(用户输入例子得输出结果)。
  5. 系统安全性:防止用户引入包、遍历、暴力破解,判题过程异步化,提交后生成含运行结果和信息的记录。

扩展功能

  1. 支持多种语言。
  2. 具备Remote Judge功能。
  3. 有完善评测功能,如普通测评、特殊测评、交互测评、在线自测、子任务分组评测、文件。
  4. 可统计分析用户判题记录。
  5. 有权限校验。

安装使用步骤

环境准备

  1. 确保安装JDK 11或更高版本的Java开发环境。
  2. 安装并配置MySQL数据库。
  3. 安装Node.js和Vue CLI的前端环境。

后端安装与配置

  1. 复制项目。
  2. application.properties文件中配置数据库连接信息: properties spring.datasource.url=jdbc:mysql://localhost:3306/your_database spring.datasource.username=your_username spring.datasource.password=your_password
  3. 启动后端服务: bash cd your-oj-project mvn spring-boot:run

前端安装与配置

  1. 进入前端目录: bash cd your-oj-project/frontend
  2. 安装依赖: bash npm install
  3. 启动前端服务: bash npm run serve

访问系统

  1. 打开浏览器,访问http://localhost:8080
  2. 注册新用户或使用已有账户登录。
  3. 在题目列表中选择一个题目进行练习。
  4. 编写代码并提交,系统会自动进行判题并返回结果。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】