一、毕设专栏介绍

🚀Java项目精选:点击进入Java毕设专栏

📝分享的所有Java项目源码均包含(前端+后台+数据库),可做毕业设计或课程设计

原文基于SpringBoot的大学生心理健康咨询系统


二、选题背景介绍

📖本篇给大家介绍大学生在线心理咨询服务系统的设计与实现

📝推荐理由选题新颖,实用,切合大学主题

⚡️系统包含的技术

后端:SpringBoot
前端:layui,js,css等
开发工具:IDEA
数据库:MySQL
JDK版本:jdk1.8

📣备注:所有Java项目系统均有完整源码(前端+后台+数据库)


三、模块设计思路

📖用户端模块设计:首页、文章、心理评测、留言、公告等;用户登录系统后可在心理评测页面进行答题评分,系统会根据答题情况进行性格分析,包括内向、外向、外内混合等性格;
在这里插入图片描述

📖管理端模块设计思路: 文章管理,留言管理,用户管理,心理测评,公告管理,系统设置
在这里插入图片描述


四、项目运行截图

🚀登录页面:系统首页大家可以根据自己喜好自行配置
在这里插入图片描述
在这里插入图片描述

🚀文章列表:点击箭头可以进入文章预览

在这里插入图片描述

🚀心理测评:此次测评要进行登录,如果是管理员跳入后台管理页面,如果是学生即跳入测评页面

在这里插入图片描述
🚀心理测评板块:测试完成系统会出现对应的心理健康分数
在这里插入图片描述

🚀留言板块:相当于一个树洞,大家可以留言沟通交流

权限设计:当然用户必须登录后才能留言

在这里插入图片描述

🚀公告板块: 管理员可以在后台发布对应的公告信息
在这里插入图片描述

管理端截图

🚀文章管理板块:文章查询、添加文章、编辑、删除等;

在这里插入图片描述

🚀添加文章的模块
在这里插入图片描述

🚀留言管理:负责管理用户留言信息
在这里插入图片描述

🚀用户管理:用户列表、查询、编辑、删除、重置密码等;

在这里插入图片描述
🚀心理测评:测评题目查询、修改、删除;
在这里插入图片描述

🚀测评管理:可以查看用户的心理测评情况,得分
在这里插入图片描述

🚀公告管理:公告查询、公告添加、查看、编辑、删除等;
在这里插入图片描述

🚀新增公告: 管理员可以发布公告相关信息,学生可以直接查阅
在这里插入图片描述

🚀系统设置:管理员密码修改等;
在这里插入图片描述


五、项目代码分析

对用户而言其实不用登录也是可以访问网站的

如果用户想进行测评必须登录,登录后用户信息放入session中保存

/**
 * 存放用户登入的Session
 */
public class LoginSession {

    public static final String USER_IN_SESSION = "user_in_session";

    //获取session对象
    private static HttpSession getSession() {

        return ((ServletRequestAttributes) (RequestContextHolder.getRequestAttributes())).getRequest().getSession();
    }

    //设置用户登入的Session
    public static void setUserInSession(User contextUser) {
        if (contextUser != null) {
            //保存session
            getSession().setAttribute(USER_IN_SESSION, contextUser);
        } else {
            //注销session
            getSession().invalidate();
        }
    }

    //共享给外部调用登入session
    public static User getCurrentUser() {
        return (User) getSession().getAttribute(USER_IN_SESSION);
    }
}

项目使用的前端框架是layui必须按照其规范返回值

/**
 * Layui表格封装json格式数据工具类
 */
public class ServerLayResult<T> {
    private int code;
    private String msg;
    private long count;
    private  T data;
    //备注:仅保留主要的参考
}
    

生成验证码的相关代码
在这里插入图片描述

通过验证嘛,避免了用户直接账号密码登录的情况,安全性更高

 /**
     * 生成验证码
     *
     * @param httpServletRequest
     * @param httpServletResponse
     * @throws Exception
     */
    @GetMapping("/defaultKaptcha")
    public void defaultKaptcha(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
            throws Exception {
        byte[] captchaChallengeAsJpeg = null;
        ByteArrayOutputStream jpegOutputStream = new ByteArrayOutputStream();
        try {
            //生产验证码字符串并保存到session中
            String createText = producer.createText();
            httpServletRequest.getSession().setAttribute("vrifyCode", createText);
            //使用生产的验证码字符串返回一个BufferedImage对象并转为byte写入到byte数组中
            BufferedImage challenge = producer.createImage(createText);
            ImageIO.write(challenge, "jpg", jpegOutputStream);
        } catch (IllegalArgumentException e) {
            httpServletResponse.sendError(HttpServletResponse.SC_NOT_FOUND);
            return;
        }
        //定义response输出类型为image/jpeg类型,使用response输出流输出图片的byte数组
        captchaChallengeAsJpeg = jpegOutputStream.toByteArray();
        httpServletResponse.setHeader("Cache-Control", "no-store");
        httpServletResponse.setHeader("Pragma", "no-cache");
        httpServletResponse.setDateHeader("Expires", 0);
        httpServletResponse.setContentType("image/jpeg");
        ServletOutputStream responseOutputStream =
                httpServletResponse.getOutputStream();
        responseOutputStream.write(captchaChallengeAsJpeg);
        responseOutputStream.flush();
        responseOutputStream.close();
    }

🌊大家在毕设选题,项目升级,论文写作,就业毕业等相关问题都可以给我留言咨询,非常乐意帮助更多的人

————————————————
版权声明:本文为CSDN博主「辰兮要努力」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45393094/article/details/123444353

原文基于SpringBoot的大学生心理健康咨询系统

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐