🙊作者简介:多年一线开发工作经验,分享技术代码帮助学生学习。自有计算机毕设的工作室团队,专注计算机毕设开发、定制、远程、文档编写指导等。
🍅 欢迎点赞 👍 收藏 ⭐留言 📝
🍅 Java毕设项目精品实战案例《3000+套》🍅
⬇️文章末尾获取联系方式,需要源码+毕设论文或者演示视频可以联系⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
本系统包含(源码+数据库+万字毕业论文) 文末可获取本项目java源码和数据库参考。
系统程序文件列表
摘 要
为贯彻落实《中共中央国务院关于进一步加强和改进大学生思想政治教育的意见》精神,进一步加强和改进大学生心理健康教育,各个高校都在积极实施心理健康网络平台的建设工作。而开发一个大学生心理健康检测管理系统的目的,首先是研究现今大学生的心理状况问题,其次锻炼自己的动手操作能力。将自己在大学期间所学的知识融会贯通,搭建一个心理健康检测平台供学生使用。学生能够通过该平台测试自己的心理健康状况,同时线上预约心理老师,解决一些心结。心理老师可以通过该平台解决学生的问题。管理员可以管理学生与老师的账户,同时对调查问卷、心理咨询、评价信息进行管理。采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用SSM框架、JSP技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。通过测试,该需要能够较好的完成设定的目标。
关键词:大学生心理健康检测管理系统;SSM;MySQL;
3系统总体设计
3.1 系统开发架构的选择
如今随着web系统功能的不断完善,越来越多的项目选择web系统,同样大学生心理健康检测管理系统也是通过浏览器来访问系统主页面的。Web系统与app相比(后者主要是C/S架构),可以通过浏览器来规避很多问题,依靠浏览器让项目的开发变得简单,不再担心项目的版本跟新带来的数据传输等一系列的问题。值得注意的是B/S架构的项目,浏览器与服务器的数据的交互是通过http协议进行的,同样,服务器与数据库的数据交互也是通过http协议,统一的格式让信息的交互更加的简便与快捷。下图是具体的b/s架构图:

图3-1 系统B/S结构
3.1系统功能模块设计
大学生心理健康检测管理系统的整体架构确定以后,再来看大学生心理健康检测管理系统的主要功能模块图。确定了模块以后,再设计各个模块的功能特点,方便抽取出各个模块的公共部分来。

图3.1大学生心理健康检测管理系统功能模块图
3.1.1 前台页面设计
本大学生心理健康检测管理系统的前台页面所有的页面设计主要是上中下的结构,这样的好处是让所有的页面更加的整洁。主题的页面颜色采用淡色为主,为突出页面的美观。主页面上分为导航栏,导航栏的每个导航项目设计为一张jsp页面,除此之外,还有就是用户中心页面,后台管理的页面了。后台管理页面已简单的上下结构为主。
3.1.2 用户模块设计
(1)用户模块结构图
本系统的用户包括管理员,学生,教师模块。三种用户模块的功能基本是相同的,所以以用户模块的结构图为例进行分析,如下图:

图3.2用户模块结构图
(2)各个结构的具体业务逻辑
a.查询用户信息:设计最基础的查询功能,主要就是根据用户id查询用户信息。该功能主要体现在管理员用户信息查询和用户自己查询信息的时候。
b.修改用户信息:用户可以根据情况,对自己的基本信息进行修改,包括名字修改、密码修改、头像修改等操作。
c.增加用户:用户可以通过注册来获得账号
d.删除用户信息:管理员没有权利进行删除信息的删除,最多把用户加入到黑名单中,禁止用户进行登录操作。
3.1.3 调查问卷管理模块设计
(1)调查问卷模块结构图
大学生心理健康检测管理系统是一个心理测试类型的系统,用户可以在线进行调查问卷等,所以需要专门设计一个调查问卷管理模块,具体的结构图如下:

图3.3调查问卷模块结构图
(2)各个结构的具体业务逻辑
a.问卷提交:设计最基础的提交功能,主要就是根据用户id进行个人问卷答题。
b.问卷查询:教师可以查看学生提交的问卷信息。
c.问卷测评:管理员对学生提交的问卷测评信息进行评估提交报告。
3.1.4心理咨询模块设计
(1)心理咨询咨询模块结构图
大学生心理健康检测管理系统是中需要存储不少学生的在线咨询信息,用户可以进行问题咨询,教师和管理员可以回复管理咨询问等,具体的结构图如下:

图3.4心理咨询咨询模块结构图
(2)各个结构的具体业务逻辑
a.咨询回复:管理员和教师可以对问题信息进行回复。
b.学生:用户可以提交问题信息,进行在线咨询。
3.2数据库设计
3.2.1数据库概要设计
大学生心理健康检测管理系统根据上面的E-R实体图,就再找到实体与实体之间的关系来,制作总的E-R图,实体之间的关系一共有4种,也就是一对一,多对一,一对多和多对多,总的E-R图是设计数据库表格的依据,如下图是系统的总E-R图。

图3.5系统总体E-R图
3.2.2数据库逻辑设计
根据上面的E-R图,继而设计数据库表格,注意的是数据库表格遵从三范式标准,这样以后操作也会更加简单一些。
系统的各个数据库表如下。
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
id | bigint | 20 | 是 | 是 | 主键 |
addtime | timestamp | 0 | 是 | 否 | 创建时间 |
wenjuanbiaoti | varchar | 200 | 是 | 否 | 问卷标题 |
fengmian | varchar | 200 | 否 | 否 | 封面 |
wenjuanleixing | varchar | 200 | 是 | 否 | 问卷类型 |
diyiti | varchar | 200 | 是 | 否 | 第一题 |
dierti | varchar | 200 | 是 | 否 | 第二题 |
disanti | varchar | 200 | 是 | 否 | 第三题 |
disiti | varchar | 200 | 是 | 否 | 第四题 |
diwuti | varchar | 200 | 是 | 否 | 第五题 |
fabushijian | datetime | 0 | 否 | 否 | 发布时间 |
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
id | bigint | 20 | 是 | 是 | 主键 |
addtime | timestamp | 0 | 是 | 否 | 创建时间 |
gonghao | varchar | 200 | 是 | 否 | 工号 |
mima | varchar | 200 | 是 | 否 | 密码 |
jiaoshixingming | varchar | 200 | 是 | 否 | 教师姓名 |
xingbie | varchar | 200 | 否 | 否 | 性别 |
youxiang | varchar | 200 | 否 | 否 | 邮箱 |
lianxishouji | varchar | 200 | 否 | 否 | 联系手机 |
nianling | int | 11 | 否 | 否 | 年龄 |
shenfenzheng | varchar | 200 | 否 | 否 | 身份证 |
suoshuyuanxi | varchar | 200 | 否 | 否 | 所属院系 |
zhiwei | varchar | 200 | 否 | 否 | 职位 |
xiangpian | varchar | 200 | 否 | 否 | 相片 |
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
id | bigint | 20 | 是 | 是 | 主键 |
addtime | timestamp | 0 | 是 | 否 | 创建时间 |
baogaomingcheng | varchar | 200 | 是 | 否 | 报告名称 |
wenjuanbiaoti | varchar | 200 | 否 | 否 | 问卷标题 |
wenjuanleixing | varchar | 200 | 否 | 否 | 问卷类型 |
gonghao | varchar | 200 | 否 | 否 | 工号 |
jiaoshixingming | varchar | 200 | 否 | 否 | 教师姓名 |
pingcejieguo | varchar | 200 | 是 | 否 | 评测结果 |
pingfen | int | 11 | 是 | 否 | 评分 |
baogaoneirong | longtext | 0 | 否 | 否 | 报告内容 |
shengchengriqi | date | 0 | 否 | 否 | 生成日期 |
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
id | bigint | 20 | 是 | 是 | 主键 |
addtime | timestamp | 0 | 是 | 否 | 创建时间 |
wenjuanbiaoti | varchar | 200 | 否 | 否 | 问卷标题 |
wenjuanleixing | varchar | 200 | 否 | 否 | 问卷类型 |
diyiti | varchar | 200 | 否 | 否 | 第一题 |
diyitidaan | varchar | 200 | 是 | 否 | 第一题答案 |
dierti | varchar | 200 | 否 | 否 | 第二题 |
diertidaan | varchar | 200 | 是 | 否 | 第二题答案 |
disanti | varchar | 200 | 否 | 否 | 第三题 |
disantidaan | varchar | 200 | 是 | 否 | 第三题答案 |
disiti | varchar | 200 | 否 | 否 | 第四题 |
disitidaan | varchar | 200 | 是 | 否 | 第四题答案 |
diwuti | varchar | 200 | 否 | 否 | 第五题 |
diwutidaan | varchar | 200 | 是 | 否 | 第五题答案 |
gonghao | varchar | 200 | 否 | 否 | 工号 |
jiaoshixingming | varchar | 200 | 否 | 否 | 教师姓名 |
huidashijian | datetime | 0 | 否 | 否 | 回答时间 |
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
id | bigint | 20 | 是 | 是 | 主键 |
addtime | timestamp | 0 | 是 | 否 | 创建时间 |
wenjuanbiaoti | varchar | 200 | 否 | 否 | 问卷标题 |
wenjuanleixing | varchar | 200 | 否 | 否 | 问卷类型 |
xuehao | varchar | 200 | 否 | 否 | 学号 |
xueshengxingming | varchar | 200 | 否 | 否 | 学生姓名 |
pingjianeirong | varchar | 200 | 否 | 否 | 评价内容 |
pingjiariqi | date | 0 | 否 | 否 | 评价日期 |
gonghao | varchar | 200 | 否 | 否 | 工号 |
jiaoshixingming | varchar | 200 | 否 | 否 | 教师姓名 |
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
id | bigint | 20 | 是 | 是 | 主键 |
addtime | timestamp | 0 | 是 | 否 | 创建时间 |
zixunbianhao | varchar | 200 | 否 | 否 | 咨询编号 |
gonghao | varchar | 200 | 否 | 否 | 工号 |
jiaoshixingming | varchar | 200 | 否 | 否 | 教师姓名 |
zixunneirong | varchar | 200 | 否 | 否 | 咨询内容 |
xuehao | varchar | 200 | 否 | 否 | 学号 |
xueshengxingming | varchar | 200 | 否 | 否 | 学生姓名 |
zixunshijian | datetime | 0 | 否 | 否 | 咨询时间 |
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
id | bigint | 20 | 是 | 是 | 主键 |
addtime | timestamp | 0 | 是 | 否 | 创建时间 |
xuehao | varchar | 200 | 是 | 否 | 学号 |
mima | varchar | 200 | 是 | 否 | 密码 |
xueshengxingming | varchar | 200 | 是 | 否 | 学生姓名 |
xingbie | varchar | 200 | 否 | 否 | 性别 |
youxiang | varchar | 200 | 否 | 否 | 邮箱 |
shoujihaoma | varchar | 200 | 否 | 否 | 手机号码 |
nianji | varchar | 200 | 否 | 否 | 年级 |
banji | varchar | 200 | 否 | 否 | 班级 |
zhuanye | varchar | 200 | 否 | 否 | 专业 |
jiguan | varchar | 200 | 否 | 否 | 籍贯 |
shenfenzhenghao | varchar | 200 | 否 | 否 | 身份证号 |
xiangpian | varchar | 200 | 否 | 否 | 相片 |
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
id | bigint | 20 | 是 | 是 | 主键 |
addtime | timestamp | 0 | 是 | 否 | 创建时间 |
baogaomingcheng | varchar | 200 | 是 | 否 | 报告名称 |
wenjuanbiaoti | varchar | 200 | 否 | 否 | 问卷标题 |
wenjuanleixing | varchar | 200 | 否 | 否 | 问卷类型 |
xuehao | varchar | 200 | 否 | 否 | 学号 |
xueshengxingming | varchar | 200 | 否 | 否 | 学生姓名 |
pingcejieguo | varchar | 200 | 是 | 否 | 评测结果 |
pingfen | int | 11 | 是 | 否 | 评分 |
baogaoneirong | longtext | 0 | 否 | 否 | 报告内容 |
shengchengriqi | date | 0 | 否 | 否 | 生成日期 |
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
id | bigint | 20 | 是 | 是 | 主键 |
addtime | timestamp | 0 | 是 | 否 | 创建时间 |
wenjuanbiaoti | varchar | 200 | 否 | 否 | 问卷标题 |
wenjuanleixing | varchar | 200 | 否 | 否 | 问卷类型 |
diyiti | varchar | 200 | 否 | 否 | 第一题 |
diyitidaan | varchar | 200 | 是 | 否 | 第一题答案 |
dierti | varchar | 200 | 否 | 否 | 第二题 |
diertidaan | varchar | 200 | 是 | 否 | 第二题答案 |
disanti | varchar | 200 | 否 | 否 | 第三题 |
disantidaan | varchar | 200 | 是 | 否 | 第三题答案 |
disiti | varchar | 200 | 否 | 否 | 第四题 |
disitidaan | varchar | 200 | 是 | 否 | 第四题答案 |
diwuti | varchar | 200 | 否 | 否 | 第五题 |
diwutidaan | varchar | 200 | 是 | 否 | 第五题答案 |
xuehao | varchar | 200 | 否 | 否 | 学号 |
xueshengxingming | varchar | 200 | 否 | 否 | 学生姓名 |
huidashijian | datetime | 0 | 否 | 否 | 回答时间 |
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
id | bigint | 20 | 是 | 是 | 主键 |
addtime | timestamp | 0 | 是 | 否 | 创建时间 |
zixunbianhao | varchar | 200 | 否 | 否 | 咨询编号 |
gonghao | varchar | 200 | 否 | 否 | 工号 |
jiaoshixingming | varchar | 200 | 否 | 否 | 教师姓名 |
youxiang | varchar | 200 | 否 | 否 | 邮箱 |
lianxishouji | varchar | 200 | 否 | 否 | 联系手机 |
zixunneirong | varchar | 200 | 否 | 否 | 咨询内容 |
xuehao | varchar | 200 | 否 | 否 | 学号 |
xueshengxingming | varchar | 200 | 否 | 否 | 学生姓名 |
huifuneirong | varchar | 200 | 否 | 否 | 回复内容 |
huifushijian | datetime | 0 | 否 | 否 | 回复时间 |
4系统详细实现
大学生心理健康检测管理系统的详细设计与实现主要是根据前面的大学生心理健康检测管理系统的需求分析和大学生心理健康检测管理系统的总体设计来设计页面并实现业务逻辑。主要从大学生心理健康检测管理系统界面实现、业务逻辑实现这两部分进行介绍。
4.1系统前台功能实现
4.1.1系统主页功能实现
用户进入首页之后会显示如下的一个窗口。系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,再往下是各种各样的模块信息,其主界面展示如下图4.1所示。
如下图:

图4.1大学生心理健康检测管理系统主界面
由于该项目只是用来测试,用户登录首页展示的图片等数据有的是从项目本地拿到的,有的则是从数据库中获取的。页面中的搜索部分,页头部分等都是属于公共样式,可以进行公告样式的抽取,然后再引入到jsp页面中。
4.1.2用户注册登录功能实现
不是大学生心理健康检测管理系统中用户的是可以在线进行注册的,当用户点击右上角的“个注册”的时候,,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号+选择身份登信息后,后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可注册成功。前台注册的部分包括了学生以及教师的注册,其用注册界面展示如下图4.2所示。

图4.2大学生心理健康检测管理系统用户注册界面
用户注册界面关键代码如下。
/**
* 注册
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(HttpServletRequest request) throws IOException {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = service.readBody(request.getReader());
query.put("username",String.valueOf(map.get("username")));
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
public Map<String,Object> readBody(BufferedReader reader){
BufferedReader br = null;
StringBuilder sb = new StringBuilder("");
try{
br = reader;
String str;
while ((str = br.readLine()) != null){
sb.append(str);
}
br.close();
String json = sb.toString();
return JSONObject.parseObject(json, Map.class);
}catch (IOException e){
e.printStackTrace();
}finally{
if (null != br){
try{
br.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
return null;
}
public void insert(Map<String,Object> body){
E entity = JSON.parseObject(JSON.toJSONString(body),eClass);
baseMapper.insert(entity);
log.info("[{}] - 插入操作:{}",entity);
}
4.2.3 登录功能实现
大学生心理健康检测管理系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到大学生心理健康检测管理系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4.3所示。

图4.3大学生心理健康检测管理系统登录界面
用户登录的逻辑代码如下所示。
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
4.2.4调查问卷功能实现
学上点击“调查问卷”可以进行心理问卷答题操作,界面如图4.4所示:

图4.4大学生心理健康检测管理系统调查问卷界面
主要的实现代码是:用户调查问卷主要是对调查问卷信息进行提交。其中调查问卷中保存了调查问卷的宿主编号。
用户调查问卷界面的关键的代码如下。
public Map<String, Object> getList(HttpServletRequest request) {
Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
return success(map);
}
4.2.5心理咨询功能实现
学生在心理咨询界面可以进行心理咨询提问,点击进入详细界面,可以提交咨询问题,具体的实现界面如下图4.5所示:

图4.5心理咨询界面
心理咨询的关键代码如下。
@RequestMapping(value = {"/sum_group", "/sum"})
public Map<String, Object> sum(HttpServletRequest request) {
Query count = service.sum(service.readQuery(request), service.readConfig(request));
return success(count.getResultList());
}
4.2.6学生报告功能实现
当学生点击导航栏“学生报告”后可以查看到个人测评报告信息页面,点击报告详情进行查看,具体的实现界面如下图4.6所示:

图4.6学生报告界面
学生报告关键代码如下。
@RequestMapping(value )
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
@Transactional
public void delete(Map<String,String> query,Map<String,String> config){
StringBuffer sql = new StringBuffer("DELETE FROM ").append("`").append(table).append("`").append(" ");
sql.append(toWhereSql(query, "0".equals(config.get(FindConfig.GROUP_BY))));
log.info("[{}] - 删除操作:{}",table,sql);
Query query1 = runCountSql(sql.toString());
query1.executeUpdate();
}
4.2.7咨询回复功能实现
当学生点击导航栏“咨询回复”后可以查看到教师回复的咨询信息内容,点击某一回复信息就会进入详细界面,具体的实现界面如下图4.7所示:

图4.7咨询回复界面
咨询回复关键代码如下。
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
@Transactional
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
public Map<String,Object> readBody(BufferedReader reader){
BufferedReader br = null;
StringBuilder sb = new StringBuilder("");
try{
br = reader;
String str;
while ((str = br.readLine()) != null){
sb.append(str);
}
br.close();
String json = sb.toString();
return JSONObject.parseObject(json, Map.class);
}catch (IOException e){
e.printStackTrace();
}finally{
if (null != br){
try{
br.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
return null;
}
public void insert(Map<String,Object> body){
StringBuffer sql = new StringBuffer("INSERT INTO ");
sql.append("`").append(table).append("`").append(" (");
for (Map.Entry<String,Object> entry:body.entrySet()){
sql.append("`"+humpToLine(entry.getKey())+"`").append(",");
}
sql.deleteCharAt(sql.length()-1);
sql.append(") VALUES (");
for (Map.Entry<String,Object> entry:body.entrySet()){
Object value = entry.getValue();
if (value instanceof String){
sql.append("'").append(entry.getValue()).append("'").append(",");
}else {
sql.append(entry.getValue()).append(",");
}
}
sql.deleteCharAt(sql.length() - 1);
sql.append(")");
log.info("[{}] - 插入操作:{}",table,sql);
Query query = runCountSql(sql.toString());
query.executeUpdate();
}
4.2系统后台功能实现
4.2.1后台注册功能实现
在后登录界面,评委选择“注册”按钮,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号+选择身份登信息后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有验证没问题后即可提示注册成功。
4.2.2管理员登录功能实现
大学生心理健康检测管理系统中的后台的管理员是可以通过自己的账户名和密码进行登录的,当管理员输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到大学生心理健康检测管理系统的首页中;否则将会提示相应错误信息,登录界面如下图4.8所示。

图4.8管理员登录界面
4.2.3教师管理功能实现
管理员在教师管理模块,可以对教师信息进行管理,具体的实现界面如下图:

图4.9教师管理界面
教师管理关键代码如下。
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));
return success(1);
}
4.2.4学生报告管理功能实现
管理员点击“学生报告管理”这一按钮就会展示其下子菜单,选择“学生报告”在这个界面,管理员可以对学生报告信息添加,编辑,删除,具体的实现界面如下图:

图4.10学生报告管理界面
4.2.5学生答案管理功能实现
管理员在“学生答案管理”界面可以对学生答案信息进行维护管理,具体的实现界面如下图:

图4.11学生答案管理界面
学生答案管理关键代码如下。
public Map<String, Object> obj(HttpServletRequest request) {
List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
}
4.2.6教师报告管理功能实现
管理员在“教师报告管理”界面的,可以对教师的测评报告进行增删改查,具体的实现界面如下图:

图4.12教师报告管理界面
教师报告管理关键代码如下。
public Map<String, Object> success(Object o) {
Map<String, Object> map = new HashMap<>();
if (o == null) {
map.put("result", null);
return map;
}
if (o instanceof List) {
if (((List) o).size() == 1) {
o = ((List) o).get(0);
map.put("result", o);
}else {
String jsonString = JSONObject.toJSONString(o);
JSONArray objects = service.covertArray(JSONObject.parseArray(jsonString));
map.put("result", objects);
}
} else if (o instanceof Integer || o instanceof String) {
map.put("result", o);
} else {
String jsonString = JSONObject.toJSONString(o);
JSONObject jsonObject = JSONObject.parseObject(jsonString);
JSONObject j = service.covertObject(jsonObject);
map.put("result", j);
}
return map;
}
5系统测试
5.1 系统测试目的
系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。
5.2 系统可用性测试
系统的可用性测试是测试系统最基本的功能,比如鼠标点击是否可用,页面跳转是否正常等。下面是具体的测试结果。
表5-1大学生心理健康检测管理系统可用性测试
测试项 | 测试人员评价 |
窗口移动、改变大小、关闭等操作是否正常 | 好 |
操作模块是否友好 | 好 |
模块和提示内容等文字描述是否正确 | 好 |
模块布局是否合理、协调 | 好 |
模块的状态是否正确(对选中项能否发生对应切换) | 好 |
键盘、鼠标操作是否支持 | 好 |
所需的数据项是否正确显示 | 好 |
操作流程是否合理 | 好 |
是否提供帮助信息 | 好 |
5.3 系统典型测试用例
对系统主要页面和功能点的测试用例如下:
(1) 用户登陆系统测试用例如表 5-2 所示。
表5-2用户登录系统测试用例
用例名称 | 用户登录系统 |
目的 | 测试用户通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
(2)调查问卷测试用例如表 5-3 所示
表5-3 调查问卷测试用例
用例名称 | 调查问卷 |
目的 | 测试调查问卷功能 |
前提 | 无 |
测试流程 | 打开调查问卷界面 |
预期结果 | 可以进行查看调查问卷详细 |
实际结果 | 实际结果与预期结果一致 |
(3)心理咨询试用例如表 5-4所示
表5-4心理咨询测试用例
用例名称 | 心理咨询 |
目的 | 测试心理咨询模块功能 |
前提 | 无 |
测试流程 | 用户在心理咨询区进行咨询问题提交操作。 |
预期结果 | 心理咨询问题提交以后,可以查看到自己的心理咨询信息 |
实际结果 | 实际结果与预期结果一致 |
(4)学生报告测试用例如表 5-5 所示
表5-5 学生报告测试用例
用例名称 | 学生报告 |
目的 | 测试学生报告功能 |
前提 | 无 |
测试流程 | 管理员点击学生报告,编辑发布学生报告信息 |
预期结果 | 提交报告后可以查看报告信息,前台显示学生报告信息 |
实际结果 | 实际结果与预期结果一致 |
5.4 测试总结
通过系统的调试,能够检测项目的稳定性,为项目正式运行、稳定运行提供了可预测性的维护备案。能够帮助用户熟悉整个项目,并对项目可能出现的错误有所了解。本文提供了部分调试用例及调试日志,可以帮助用户解决简单的错误问题,也加深了开发者对于此框架下的项目编写的了解度,为后期开发者顺利完成项目、发布项目提供了非常大的帮助。
🙊项目介绍:已获导师指导并通过的高分项目。本源码项目经过严格的调试,项目已确保无误,可直接用于课程实训或毕业设计提交。里面都有配套的运行环境软件,讲解视频,部署视频教程,一应俱全,可以自己按照教程导入运行。附有论文参考,使学习者能够快速掌握系统设计和实现的核心技术。
⬇️文章末尾获取联系方式,需要源码+毕设论文或者演示视频可以联系⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡