在线问卷系统

DWSurvey 调问网开源在线问卷系统,Spring Boot+Vue2 实现拖拽式创建问卷,支持 50+ 题型、显示跳转逻辑与 ECharts 答卷统计,集成 Shiro 权限与 Redis 缓存,适合 Java 表单调查类毕业设计。

评分:4.8/5.0
销量:58
发布:12/2/2025
难度:L3 高级

获取完整源码

演示视频仅作效果参考。完整源码、项目说明与运行答疑,请私聊沟通(适合毕业设计 / 课程设计 / 课设参考)。

获取完整源码
✓含项目说明文档,便于对照学习
✓可本地运行,适合课设演示
✓沟通获取后可咨询运行问题

项目概览

DWSurvey 调问网开源在线问卷系统,支持拖拽式创建问卷,提供 50 以上自定义组件。前端 Vue 2.6、Element UI 与 ECharts,移动端 Vant;后端 Spring Boot 2.7、JPA、MySQL 与 Redis,Shiro 权限管理。含单选多选矩阵等丰富题型、显示跳转逻辑与 DSL 编程、答卷控制、样式定制与统计报表,支持 Docker 部署,适合表单调查 Java 全栈课程设计与毕业设计。

项目说明

在线问卷系统

项目概述

DWSurvey 调问网是国内首款开源问卷表单系统,自2012年启动至今已有12年历史。这是一个功能强大、成熟稳定的在线问卷调查系统,支持拖拽式创建问卷,提供50+自定义组件。

技术架构

前端:

  • Vue 2.6.14
  • Element UI 2.15.6
  • Vuex + Vue Router
  • ECharts 5.2.2(数据可视化)
  • Vant 2.13.2(移动端)
  • @wangeditor/editor(富文本编辑器)

后端:

  • Spring Boot 2.7.18
  • Spring Data JPA + Hibernate
  • MySQL 5.7+
  • Redis(缓存)
  • Elasticsearch 8.8.1(可选,用于高级搜索)
  • Druid(数据库连接池)
  • Apache Shiro(权限管理)

部署方式:

  • 支持 Docker 一键部署
  • 支持传统 WAR/JAR 包部署

核心功能特性

1. 丰富的题型支持(50+题型)

基础题型:

  • 单选题、多选题、填空题、评分题、排序题
  • 多行填空题、多项填空题、日期题、时间题
  • 下拉单选题、文件上传题、签名题

高级题型:

  • 矩阵单选题、矩阵多选题、矩阵评分题、矩阵填空题
  • 矩阵量表题、矩阵滑块题、矩阵数值题、矩阵组合题
  • 矩阵下拉题、矩阵自增题
  • 图片单选题、图片多选题、绘图题

特殊组件:

  • 定位题(模糊定位、精确定位、双重定位)
  • 地图组件、图片轮播、水印设置
  • 分页、分段、分割线

2. 强大的逻辑控制

  • 显示逻辑:根据条件显示/隐藏题目
  • 跳转逻辑:根据答案跳转到指定题目
  • DSL逻辑编程:调问独有的问卷编程语言
    • 多条件组合
    • 互斥语句
    • 验证语句
    • 赋值语句
    • 计算语句

3. 答卷控制

  • 微信、账号、IP、设备答题次数限制
  • 答卷密码保护
  • 仅微信答卷限制
  • 允许填写时间设置
  • 记录微信个人信息
  • 结束跳转设置

4. 样式定制

  • 页眉图、背景图、Logo图设置
  • 主题色、背景色自定义
  • 预置主题模板
  • 进度条样式设置
  • PC与移动端自适应
  • 矩阵题移动端适配

5. 数据统计分析

  • 实时数据统计
  • 可视化图表展示
  • 数据导出(Excel)
  • 答卷详情查看

运行环境要求

最低配置

  • 操作系统:Linux / Windows / macOS
  • CPU:2核
  • 内存:4GB
  • 硬盘:20GB

软件环境

  • JDK:1.8+
  • MySQL:5.7+
  • Redis:3.0+(可选)
  • Elasticsearch:8.8.1(可选)
  • Node.js:18.16+(前端开发)
  • Maven:3.6+(后端构建)

快速安装部署

方式一:Docker 一键部署(推荐)⭐

这是最快速的部署方式,3分钟即可完成。

# 1. 拉取 Docker 镜像
docker pull diaowen/dwsurvey:latest

# 2. 运行容器
docker run -d \
  --name dwsurvey \
  -p 18008:18008 \
  -p 8081:80 \
  -v /data/dwsurvey:/app/dwfile \
  diaowen/dwsurvey:latest

# 3. 访问系统
# 前端:http://localhost:8081
# 后端:http://localhost:18008

默认账号: service@diaowen.net
默认密码: 123456

方式二:本地开发部署

1. 数据库初始化

# 创建数据库
mysql -u root -p

CREATE DATABASE dwsurvey DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# 导入数据库脚本
mysql -u root -p dwsurvey < db/dwsurvey-init.sql

数据库脚本位置:

DWSurvey/db/dwsurvey-init.sql

2. 配置后端

修改配置文件:src/main/resources/application-dev.yml

# 数据库配置
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/dwsurvey?useUnicode=true&characterEncoding=utf8
    username: root
    password: your_password # 修改为你的密码

  # Redis配置(可选)
  redis:
    host: 127.0.0.1
    port: 6379
    password: ""

# 服务端口
server:
  port: 18008

# 站点配置
dwsurvey:
  web:
    site-url: http://localhost:8081
    resource-url: http://localhost:8081
    file-path: dwfile/dwsurvey/ # 文件存储路径

3. 启动后端

cd DWSurvey

# 使用 Maven 启动
mvn clean package
java -jar target/dwsurvey-oss-vue-6.13.0.20250211.jar

# 或使用 IDE(IDEA/Eclipse)直接运行
# 主类:net.diaowen.dwsurvey.DwsurveyApplication

后端启动成功后访问:http://localhost:18008

4. 配置前端

修改配置文件:dwsurvey-vue/config/index.js

module.exports = {
  dev: {
    proxyTable: {
      "/api": {
        target: "http://localhost:18008", // 后端地址
        changeOrigin: true,
      },
    },
    port: 8081,
  },
};

5. 启动前端

cd dwsurvey-vue/dwsurvey-vue

# 安装依赖
npm install
# 或使用 yarn
yarn install

# 启动开发服务器
npm run dev
# 或
yarn dev

前端启动成功后访问:http://localhost:8081

6. 生产环境打包

后端打包:

cd DWSurvey
mvn clean package

# 生成的 JAR 包位置
target/dwsurvey-oss-vue-6.13.0.20250211.jar

前端打包:

cd dwsurvey-vue/dwsurvey-vue
npm run build

# 生成的静态文件位置
dist/

项目结构说明

online-questionnaire-system/
├── DWSurvey/                          # 后端项目
│   ├── db/                            # 数据库脚本
│   │   ├── dwsurvey-init.sql         # 初始化脚本
│   │   └── clothes.sql               # 示例数据
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/                 # Java 源码
│   │   │   │   └── net/diaowen/
│   │   │   └── resources/            # 配置文件
│   │   │       ├── application.yml
│   │   │       ├── application-dev.yml
│   │   │       ├── application-prod.yml
│   │   │       └── conf/             # 其他配置
│   │   └── test/                     # 测试代码
│   ├── dwfile/                       # 文件存储目录
│   ├── pom.xml                       # Maven 配置
│   └── README.md                     # 项目说明
│
├── dwsurvey-vue/                     # 前端项目
│   └── dwsurvey-vue/
│       ├── src/
│       │   ├── api/                  # API 接口
│       │   ├── components/           # 组件
│       │   ├── router/               # 路由
│       │   ├── views/                # 页面
│       │   ├── App.vue
│       │   └── main.js
│       ├── static/                   # 静态资源
│       ├── build/                    # 构建配置
│       ├── config/                   # 项目配置
│       ├── package.json
│       └── README.md
│
└── 在线问卷调查.mp4                   # 演示视频

功能模块说明

1. 问卷设计模块

  • 拖拽式题目添加
  • 题目属性设置
  • 逻辑跳转配置
  • 样式主题设置
  • 问卷预览

2. 问卷发布模块

  • 生成问卷链接
  • 二维码生成
  • 答卷权限设置
  • 时间限制设置

3. 数据收集模块

  • 答卷提交
  • 数据验证
  • 进度保存
  • 答卷记录

4. 数据分析模块

  • 统计图表
  • 数据筛选
  • 交叉分析
  • 数据导出

5. 系统管理模块

  • 用户管理
  • 权限管理
  • 系统设置
  • 日志管理

常见问题

1. 数据库连接失败

  • 检查 MySQL 是否启动
  • 确认数据库名称、用户名、密码是否正确
  • 检查数据库端口是否为 3306

2. 前端无法访问后端接口

  • 确认后端服务是否启动(端口 18008)
  • 检查前端配置中的后端地址是否正确
  • 查看浏览器控制台是否有跨域错误

3. 文件上传失败

  • 检查 dwsurvey.web.file-path 配置的目录是否存在
  • 确认目录是否有写入权限
  • 检查文件大小是否超过限制

4. Redis 连接失败

  • 如果不需要 Redis,可以注释掉相关配置
  • 确认 Redis 服务是否启动
  • 检查 Redis 连接信息是否正确

技术支持

官方资源

社区交流

  • QQ群1:635994795(已满)
  • QQ群2:301105635(已满)
  • QQ群3:811287103(已满)
  • QQ群4:398556555

版本说明

  • 当前版本:V7(社区开源版)
  • 最新版本:V8(商业版,Vue3 + Element Plus)
  • 开源协议:AGPL 3.0

更新日志

V7 版本(当前)

  • 前后端完全分离
  • Vue2 + Element UI 实现
  • 支持 50+ 题型
  • DSL 逻辑编程
  • Docker 一键部署

V8 版本(商业版)

  • Vue3 + Element Plus
  • 更多高级功能
  • 更好的性能优化
  • 企业级支持

开发团队

调问网开源团队致力于打造最好用的开源问卷系统,如果这个项目对您有帮助,请给我们一个 ⭐Star 支持!

Power by diaowen.net


许可证

本项目采用 AGPL 3.0 开源协议,部署使用要求保留 "Power by diaowen.net" 标识,且衍生版本需要及时开源。

如需商业授权或更优质的服务,请访问官网了解专业版与企业版。

获取完整源码

技术分类

包含内容

✓完整源码
✓项目说明文档
✓演示材料

适合方向

适合 Spring Boot 问卷表单系统、拖拽式表单设计方向课程设计,以及开源 DWSurvey 二次开发 Java 毕业设计参考。

关于 AI源码

AI源码 整理计算机毕业设计、课程设计向的可运行项目参考,含说明文档与演示材料。完整源码请通过联系方式沟通获取。

•QQ: 861077046
•邮箱: 861077046@qq.com
•已帮助 58+ 位同学完成选题参考
问能不能做我的题目

相关推荐

查看全部 →
校园二手交易平台
进阶·新上架

校园二手交易平台

校园二手交易平台,HTML+Vue2 前端实现,localStorage 本地持久化,支持注册登录、商品发布搜索、留言互动与下单购买,无需后端,适合课程大作业演示。

HTML大作业Vue2
4.833
运动会秩序手册
高级·新上架

运动会秩序手册

中小学运动会秩序手册工具,纯前端 Excel 报名表解析、智能分组与参与统计,支持 TXT/Word/Excel 导出及 Chart.js 可视化分析,无需后端安装。

HTML
4.890
校园二手交易平台
进阶

校园二手交易平台

高校校园二手交易平台,PHP+MySQL MVC 架构,含用户认证、物品发布编辑、分类搜索、图片上传与买卖咨询交流,BCrypt 加密与 PDO 防注入,适合 PHP Web 开发课设。

HTML大作业PHP
4.847
校园二手交易平台
进阶

校园二手交易平台

校园二手交易平台 PHP+MySQL 版,Bootstrap5 前端配合 PHP API 接口,支持学号注册、物品发布多图上传、分类搜索排序与留言回复,PHP Session 会话管理。

HTML大作业MySQL+1
4.824
校园快递代取管理系统
高级·新上架

校园快递代取管理系统

校园快递代取管理平台,Python Flask+MySQL 实现师生发单、代取员接单配送与管理员运营三类角色,含虚拟支付、订单状态流转、ECharts 数据看板与公告管理,适合 Python Web 课程设计与毕业设计。

PythonHTML大作业+1
4.843
宿舍管理系统
高级

宿舍管理系统

基于 Spring Boot+HTML+MySQL 的宿舍管理系统,实现宿舍楼、房间分配、学生入住、访客登记与维修报修,含系统管理员、宿舍管理员与学生三角色及 Excel 导出,适合 Java Web 毕业设计。

SpringBootHTMLMySQL
4.862