基于javaweb的SpringBoot调查问卷管理系统(java+springboot+vue+elementui+maven+mysql)

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

570123052402

580123052402

000123062402

010123062402

020123062402

030123062402

基于javaweb的SpringBoot调查问卷管理系统(java+springboot+vue+elementui+maven+mysql)

项目介绍

  • 本项目的在线问卷调查调查系统是基于SpringBoot开发的,采用了前后端分离模式来开发。
  • 前端开发使用了Vue、Element UI,后端的开发则是使用了SpringBoot、MyBatis技术。

项目配置

  • 下载项目压缩包,在IDEA或者Eclipse软件中打开,并修改application.yml文件中数据库的用户和密码 > * 在本地的MySQL数据库中导入项目的sql文件 > * 在编译器中运行该项目:此为SpringBoot框架,启动主类Main方法
  • 在浏览器中输入localhost:8181后按回车键进入系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
        responseService.delResponseByOid(oid);
}
}
//修改或添加问题和选项信息
JSONArray ques = queList.getJSONArray("question");//获取问题列表
//遍历问题数组
for (int i = 0; i < ques.size(); i++) {
JSONObject que = ques.getJSONObject(i);
int qtype = que.getInteger("qtype");//获取该问题的题目类型
String qtitle = que.getString("qtitle");//获取该问题内容
//判断该问题是否为新添加
if (que.getInteger("qid")==null){
//添加问题操作
if (qtype==1||qtype==2){
//问题为选择题,先添加问题信息,并获取问题编号
Question quesChos = new Question();
quesChos.setQtype(qtype);
quesChos.setQtitle(qtitle);
quesChos.setSid(sid);
int qid = questionService.addQueChos(quesChos);//添加选择题
if (qid>0){
//问题添加成功,获取对应的选项列表
JSONArray ops = que.getJSONArray("options");
for (int j = 0; j < ops.size(); j++) {
JSONObject op = ops.getJSONObject(j);
String option = op.getString("option");//获取选项值
//添加问题选项
int res = optionService.addOption(option,qid);
if (res>0)
flag = true;//选项添加成功
else{
flag=false;
break;
}
}
}
if (!flag) break;
}else if (qtype==3){
//问题为简答题,直接添加问题信息
int count = questionService.addQueText(qtitle,3,sid);//添加简答题
if (count > 0)
flag = true;//添加成功
else{
flag=false;
break;
}
}
}else{
//修改问题操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
        break;//跳出遍历
}
}else if (qtype==2){
//多选题,回答内容是选项编号的数组,
JSONArray answers = res.getJSONArray("answer");
//遍历回答内容
for (int j = 0; j < answers.size(); j++) {
int oid = answers.getInteger(j);
System.out.println(oid);
Response queData = new Response();//回答数据
queData.setSid(sid);//设置回答的问卷编号
queData.setQid(qid);//设置回答的问题编号
queData.setOid(oid);//设置回答的选项编号
//根据回答的选项编号,获取回答内容
String answer = optionService.getOptionByOid(oid);
queData.setResponse(answer);//设置回答的内容
//提交该条回答数据
int count = responseService.submitData(queData);
if (count > 0)
flag=true;//提交成功
else {
flag=false;//提交失败
break;//跳出遍历
}
}
if (!flag) break;
}else if (qtype==3){
//简答题,选项编号为0
Response queData = new Response();//回答数据
queData.setSid(sid);//设置回答的问卷编号
queData.setQid(qid);//设置回答的问题编号
queData.setOid(0);//设置回答的选项编号
//获取回答内容
String answer = res.getString("answer");
queData.setResponse(answer);//设置回答的内容
//提交该条回答数据
int count = responseService.submitData(queData);
if (count > 0)
flag=true;//提交成功
else {
flag=false;//提交失败
break;//跳出遍历
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
            json.put("msg","fail");
}
return json;
}

}
package com.surveycenter.controller;



@Controller
public class UserCtrl {
@Resource
private UserService userService;

@PostMapping(value = "/allUser")
@ResponseBody //获取所有用户
public JSONObject selectAllUsers(){
JSONObject json = new JSONObject();
//获取所有用户信息
List<User> users = userService.selectAllUsers();
//把结果json化
JSONObject userList = (JSONObject) JSON.toJSON(users);
json.put("userlist",userList);
return json;
}

@CrossOrigin
@PostMapping(value = "api/login")
@ResponseBody //用户登录
public JSONObject login(@RequestBody User loginUser){
JSONObject res = new JSONObject();
//获取输入的用户名
String username = loginUser.getUsername();
username = HtmlUtils.htmlEscape(username);
//获取输入的密码
String password = loginUser.getPassword();
password = HtmlUtils.htmlEscape(password);
//在数据库查找
User curUser = userService.findUser(username,password);
if (curUser==null){
//用户名或密码输入错误
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

//加载所有问卷信息_old
@CrossOrigin
@PostMapping(value = "api/allSurveys")
@ResponseBody
public JSONObject getAllSurveys(){
JSONObject json = new JSONObject();
//获取SurveyList
List<Survey> surveys = surveyService.getAllSurveys();
//把结果json化
JSONArray allSurveyList = JSONArray.parseArray(JSON.toJSONString(surveys));
json.put("allSurveyList",allSurveyList);
return json;
}

//加载所有问卷信息_05.05
@CrossOrigin
@PostMapping(value = "api/surveysInfo")
@ResponseBody
public JSONObject getSurveysInfo(){
JSONObject json = new JSONObject();
//获取List jsonObject:sid,stitle,count
List<JSONObject> surveysList = surveyService.getSurveysInfo();
JSONArray surveys = JSONArray.parseArray(JSON.toJSONString(surveysList));
json.put("tableData",surveys);
return json;
}

//根据关键字查找相关的问卷_old
@CrossOrigin
@PostMapping(value = "api/SurveySearch")
@ResponseBody
public JSONObject getSurveyList(@RequestBody String keyword){
JSONObject json = new JSONObject();
System.out.println(keyword);
//判断关键字是否为空
if (keyword == null || "".equals(keyword)){
//关键字为空 返回所有问卷
List<Survey> surveys = surveyService.getAllSurveys();
//把结果json化
JSONArray allSurveyList = JSONArray.parseArray(JSON.toJSONString(surveys));
json.put("res",allSurveyList);
}else{
//根据关键字查找
List<Survey> surveyList = surveyService.getSurveysByKey('%'+keyword+'%');
//把结果json化
JSONArray keySurveyList = JSONArray.parseArray(JSON.toJSONString(surveyList));
json.put("res",keySurveyList);
}
return json;
}

//根据关键字查找相关的问卷_05.05
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41


@Controller
public class QuestionCtrl {
@Resource
private QuestionService questionService;
@Resource
private OptionService optionService;
@Resource
private ResponseService responseService;
@Resource
private SurveyService surveyService;

//给新问卷添加题目列表
@CrossOrigin
@PostMapping(value = "api/addQuesList")
@ResponseBody
public JSONObject addQuesList(@RequestBody JSONObject data){
JSONObject json = new JSONObject();
//获取问卷编号
int sid = data.getInteger("sid");
//获取问题列表
JSONObject quesList = data.getJSONObject("quesList");
JSONArray ques = quesList.getJSONArray("question");
//设置flag记录问题记录过程
boolean flag = false;
//遍历问题列表
for (Object q:ques) {
//强制转换
JSONObject que = (JSONObject) q;
//获取该问题的题目类型
int qtype = que.getInteger("qtype");
//获取该问题内容
String qtitle = que.getString("qtitle");
if (qtype==1||qtype==2){
//问题为选择题,先添加问题信息,并获取问题编号
Question quesChos = new Question();
quesChos.setQtype(qtype);
quesChos.setQtitle(qtitle);
quesChos.setSid(sid);
int qid = questionService.addQueChos(quesChos);//添加选择题


项目链接:
https://javayms.github.io?id=281222062008200wz
https://javayms.pages.dev?id=281222062008200wz