在线问卷系统
DWSurvey 调问网开源在线问卷系统,Spring Boot+Vue2 实现拖拽式创建问卷,支持 50+ 题型、显示跳转逻辑与 ECharts 答卷统计,集成 Shiro 权限与 Redis 缓存,适合 Java 表单调查类毕业设计。
获取完整源码
演示视频仅作效果参考。完整源码、项目说明与运行答疑,请私聊沟通(适合毕业设计 / 课程设计 / 课设参考)。
项目概览
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 连接信息是否正确
技术支持
官方资源
- 官网:https://www.diaowen.net
- 在线体验:https://demo.diaowen.net
- 文档中心:http://www.diaowen.net/docs/
- Gitee:https://gitee.com/wkeyuan/DWSurvey
- GitHub:https://github.com/wkeyuan/DWSurvey
社区交流
- 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源码 整理计算机毕业设计、课程设计向的可运行项目参考,含说明文档与演示材料。完整源码请通过联系方式沟通获取。
相关推荐
查看全部 →
校园二手交易平台
校园二手交易平台,HTML+Vue2 前端实现,localStorage 本地持久化,支持注册登录、商品发布搜索、留言互动与下单购买,无需后端,适合课程大作业演示。

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

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

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

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

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