基于java+ssm+vue的校园心理健康网站

项目介绍

如今的时代,是有史以来最好的时代,随着计算机的发展到现在的移动终端的发展,国内目前信息技术已经在世界上遥遥领先,让人们感觉到处于信息大爆炸的社会。信息时代的信息处理肯定不能用之前的手工处理这样的解决方法,必须采用计算机来处理这些信息,因为传统方法对应计算机处理的信息效率上真的相差甚远。

本次使用Java技术开发的校园心理健康网站,就是运用计算机来管理校园心理健康信息,该系统是可以实现知识文章管理,问卷调查管理,问卷答卷管理,分析结果管理,情况反馈管理等功能。

校园心理健康网站使用计算机处理相关信息,主要是在数据的传输上能达到即可传递,数据不管是想要获取或者输入,都可以及时反馈,极大的提高了效率,使用的MySQL数据库也能让数据更能安全的存储。

4.2功能模块设计
本小节运用功能结构图来描述管理员具备的详细的功能,对管理员的功能结构图绘制结果如图4.1所示。管理员管理文章类型,管理知识文章,管理问卷调查,管理问卷答卷,管理分析结果信息,管理情况反馈信息等。
在这里插入图片描述
本小节运用功能结构图来描述教师具备的详细的功能,对教师的功能结构图绘制结果如图4.2所示。教师可以管理学生的分析结果信息,管理情况反馈信息等。
在这里插入图片描述
本小节运用功能结构图来描述学生具备的详细的功能,对学生的功能结构图绘制结果如图4.3所示。学生查看知识文章,评论知识文章,查看问卷调查并在线回答问卷调查的问题,查看问卷答卷以及分析结果信息等。
在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序/vue/爬虫/c#/asp.net

系统实现

5.1 管理员功能实现
5.1.1 知识文章管理
管理员点击导航栏的知识文章管理链接就进入知识文章管理界面。知识文章管理界面如图5.1所示。本功能允许管理员发布知识文章信息,播放视频,查看知识文章的用户评论,删除知识文章信息等。
在这里插入图片描述

图5.1 知识文章管理页面

5.1.2 问卷调查管理
管理员点击导航栏的问卷调查管理链接就进入问卷调查管理界面。问卷调查管理界面如图5.2所示。本功能允许管理员添加问题,对问卷调查的信息进行更改,包括更改问题,更改图片以及更改标题等。可以删除问卷调查的信息等。
在这里插入图片描述

图5.2 问卷调查管理页面

5.1.3 问卷答卷管理
管理员点击导航栏的问卷答卷管理链接就进入问卷答卷管理界面。问卷答卷管理界面如图5.3所示。本功能允许管理员查看学生问卷答卷的结果信息,查询问卷答卷信息。
在这里插入图片描述

图5.3 问卷答卷管理页面

5.2 教师功能实现
5.2.1 分析结果管理
教师点击导航栏的分析结果管理链接就进入分析结果管理界面。分析结果管理界面如图5.4所示。本功能允许教师查询学生的健康评测分析结果,查看学生的评分以及健康状态等级信息等。
在这里插入图片描述

图5.4 分析结果管理页面

5.2.2 情况反馈管理
教师点击导航栏的情况反馈管理链接就进入情况反馈管理界面。情况反馈管理界面如图5.5所示。本功能允许教师通过标题查询情况反馈信息,查看情况反馈的内容等信息。
在这里插入图片描述

图5.5 情况反馈管理页面

5.3 学生功能实现
5.3.1 知识文章
学生点击导航栏的知识文章链接就进入知识文章界面。知识文章界面如图5.6所示。本功能允许学生播放视频,评论知识文章,收藏知识文章等。
在这里插入图片描述

图5.6 知识文章页面

5.3.2 问卷调查
学生点击导航栏的问卷调查链接就进入问卷调查界面。问卷调查界面如图5.7所示。本功能允许学生查看问卷调查的内容,对问卷调查进行答卷。
在这里插入图片描述

图5.7 问卷调查页面

5.3.3 在线答卷
学生点击问卷调查的答卷按钮就进入在线答卷界面。在线答卷界面如图5.8所示。本功能允许学生根据答卷标题进行回答,问题回答完毕就能提交答卷。
在这里插入图片描述

图5.8 在线答卷页面

核心代码

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.QingkuangfankuiEntity;
import com.entity.view.QingkuangfankuiView;

import com.service.QingkuangfankuiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;

/**
 * 情况反馈
 * 后端接口
 * @author
 * @email
 * @date
 */
@RestController
@RequestMapping("/qingkuangfankui")
public class QingkuangfankuiController {
    @Autowired
    private QingkuangfankuiService qingkuangfankuiService;






    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,QingkuangfankuiEntity qingkuangfankui,
		HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("jiaoshi")) {
			qingkuangfankui.setGonghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<QingkuangfankuiEntity> ew = new EntityWrapper<QingkuangfankuiEntity>();
    	PageUtils page = qingkuangfankuiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, qingkuangfankui), params), params));
		request.setAttribute("data", page);
        return R.ok().put("data", page);
    }

    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("st")
    public R list(@RequestParam Map<String, Object> params,QingkuangfankuiEntity qingkuangfankui,
		HttpServletRequest request){
        EntityWrapper<QingkuangfankuiEntity> ew = new EntityWrapper<QingkuangfankuiEntity>();
    	PageUtils page = qingkuangfankuiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, qingkuangfankui), params), params));
		request.setAttribute("data", page);
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("sts")
    public R list( QingkuangfankuiEntity qingkuangfankui){
       	EntityWrapper<QingkuangfankuiEntity> ew = new EntityWrapper<QingkuangfankuiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( qingkuangfankui, "qingkuangfankui"));
        return R.ok().put("data", qingkuangfankuiService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(QingkuangfankuiEntity qingkuangfankui){
        EntityWrapper< QingkuangfankuiEntity> ew = new EntityWrapper< QingkuangfankuiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( qingkuangfankui, "qingkuangfankui"));
		QingkuangfankuiView qingkuangfankuiView =  qingkuangfankuiService.selectView(ew);
		return R.ok("查询情况反馈成功").put("data", qingkuangfankuiView);
    }

    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        QingkuangfankuiEntity qingkuangfankui = qingkuangfankuiService.selectById(id);
        return R.ok().put("data", qingkuangfankui);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        QingkuangfankuiEntity qingkuangfankui = qingkuangfankuiService.selectById(id);
        return R.ok().put("data", qingkuangfankui);
    }




    /**
     * 后端保存
     */
    @RequestMapping("ve")
    public R save(@RequestBody QingkuangfankuiEntity qingkuangfankui, HttpServletRequest request){
    	qingkuangfankui.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(qingkuangfankui);

        qingkuangfankuiService.insert(qingkuangfankui);
        return R.ok();
    }

    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody QingkuangfankuiEntity qingkuangfankui, HttpServletRequest request){
    	qingkuangfankui.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(qingkuangfankui);

        qingkuangfankuiService.insert(qingkuangfankui);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody QingkuangfankuiEntity qingkuangfankui, HttpServletRequest request){
        //ValidatorUtils.validateEntity(qingkuangfankui);
        qingkuangfankuiService.updateById(qingkuangfankui);//全部更新
        return R.ok();
    }


    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        qingkuangfankuiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }

    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);

		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}

		Wrapper<QingkuangfankuiEntity> wrapper = new EntityWrapper<QingkuangfankuiEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("jiaoshi")) {
			wrapper.eq("gonghao", (String)request.getSession().getAttribute("username"));
		}

		int count = qingkuangfankuiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}







}

论文参考

在这里插入图片描述

目 录
第一章 绪论 1
1.1 研究背景 1
1.2 研究意义 1
1.3 研究内容 2
第二章 开发环境与技术 3
2.1 Java语言 3
2.2 JDK简介 3
2.3 Eclipse开发工具 4
第三章 系统分析 5
3.1可行性分析 5
3.1.1运行可行性分析 5
3.1.2技术可行性分析 5
3.1.3经济可行性分析 5
3.2系统流程分析 6
3.3 系统性能分析 8
3.3.1系统的安全性 8
3.3.2系统易维护性 8
3.3.3系统可扩展性 8
3.4系统功能分析 9
第四章 系统设计 12
4.1界面设计原则 12
4.2功能模块设计 12
4.3数据库设计 15
4.3.1数据库E-R图 15
4.3.2 数据库表结构 18
第五章 系统实现 23
5.1 管理员功能实现 23
5.1.1 知识文章管理 23
5.1.2 问卷调查管理 23
5.1.3 问卷答卷管理 24
5.2 教师功能实现 24
5.2.1 分析结果管理 24
5.2.2 情况反馈管理 25
5.3 学生功能实现 26
5.3.1 知识文章 26
5.3.2 问卷调查 26
5.3.3 在线答卷 27
第六章 系统测试 28
6.1 测试方案 28
6.2 系统测试用例 30
6.2.1 登录功能测试 30
6.2.2 注册功能测试 30
6.3 测试的结果 31
结 论 32
参考文献 33
致 谢 34

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

q_2781179521

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值