一、毕设专栏介绍
🚀Java项目精选:点击进入Java毕设专栏
📝分享的所有Java项目源码均包含(前端+后台+数据库),可做毕业设计或课程设计
二、选题背景介绍
📖本篇给大家介绍大学生在线心理咨询服务系统的设计与实现
📝推荐理由:选题新颖,实用,切合大学主题
⚡️系统包含的技术
后端: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();
}
🌊大家在毕设选题,项目升级,论文写作,就业毕业等相关问题都可以给我留言咨询,非常乐意帮助更多的人
————————————————
版权声明:本文为优快云博主「辰兮要努力」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/weixin_45393094/article/details/123444353