基于springboot心理健康教育网站 毕业设计-附源码12248

摘 要

随着社会心理健康问题日益凸显,建立一个基于Spring Boot框架的心理健康教育网站变得尤为重要。该网站旨在为用户提供全面的心理健康知识和资源,帮助他们更好地理解和应对心理健康挑战。通过该网站,用户可以获取专业的心理健康教育资讯、参与在线心理测试、接受心理咨询服务以及参与社区讨论和支持。网站采取MySQL作为后台数据的主要存储单元,采用springboot框架、Java技术的快速开发优势,实现了高效的后端服务搭建和部署,同时保障了网站的稳定性和安全性。用户可以通过简洁友好的界面浏览各类心理健康相关内容,提升心理健康意识,改善心理健康水平。该心理健康教育网站的建设不仅符合社会发展需求,也为个体提供了重要的心理健康支持和教育资源,为构建更健康的社会做出积极贡献。

关键词:心理健康教育网站;springboot框架;MySQL数据库

Based on the Springboot mental health education website

Abstract

With the increasing prominence of social and mental health issues, it has become particularly important to establish a mental health education website based on the Spring Boot framework. This website aims to provide users with comprehensive knowledge and resources on mental health, helping them better understand and respond to mental health challenges. Through this website, users can obtain professional mental health education information, participate in online psychological testing, receive psychological counseling services, and participate in community discussions and support. The website adopts MySQL as the main storage unit for backend data, and adopts the fast development advantages of Spring Boot framework and Java technology to achieve efficient backend service construction and deployment, while ensuring the stability and security of the website. Users can browse various mental health related content through a simple and user-friendly interface, enhance their awareness of mental health, and improve their mental health level. The construction of this mental health education website not only meets the needs of social development, but also provides important mental health support and educational resources for individuals, making a positive contribution to building a healthier society.

Key words:Psychological health education website; Springboot framework; MySQL database

  1. 绪论
    1. 研究背景

随着现代社会节奏的加快和生活压力的增大,心理健康问题逐渐成为人们关注的焦点。心理健康教育的重要性日益凸显,为了更好地满足人们对心理健康知识和支持的需求,建立一个专注于心理健康教育的网站变得尤为重要。通过这样的网站,人们可以获取权威的心理健康信息、参与心理健康知识的学习和交流,提升心理健康意识,有效缓解心理压力,提高生活质量。在这样的背景下,利用现代化的技术手段,如Spring Boot框架,来构建一个心理健康教育网站,将为人们提供更便捷、高效、全面的心理健康服务。这样的网站不仅符合社会心理健康教育的发展趋势,也为个体提供了更加便利和广泛的心理健康教育资源,有助于推动社会心理健康事业的发展和促进人们心理健康水平的提升。

    1. 研究现状

随着社会对心理健康重视程度的提高,心理健康教育网站在当今已经成为一个备受关注的领域。目前,已经存在着许多致力于心理健康教育的网站,这些网站提供了丰富多样的心理健康知识、心理测试、心理咨询和支持服务。现有的心理健康教育网站大多数依托于传统的技术架构,如PHP、Java等,存在着一些问题,如用户体验不佳、页面加载速度慢、安全性隐患等。

在这样的背景下,利用现代化的技术手段如Spring Boot框架来构建心理健康教育网站具有重要意义。Spring Boot框架具有快速开发、简化配置、高效部署等优势,能够有效提升网站的开发效率和性能表现,提供更加稳定、安全的服务。通过借助Spring Boot框架,可以实现心理健康教育网站的功能扩展、用户体验优化和系统性能提升,为用户提供更优质、便捷的心理健康教育服务。因此,基于Spring Boot框架的心理健康教育网站建设具有重要的现实意义和发展潜力。

    1. 研究意义

随着社会压力增大和心理健康问题日益突出,建立一个基于现代技术框架如Spring Boot的心理健康教育网站具有重要的研究意义。这样的网站可以为人们提供便捷、全面的心理健康知识和支持服务,有助于提高人们的心理健康意识和调适能力,减少心理问题的发生。通过心理健康教育网站,用户可以获取心理健康知识、参与心理测试、接受在线心理咨询和参与社区支持,从而改善心理健康水平,增强心理抵抗力。

构建心理健康教育网站还有助于推动心理健康教育的现代化和智能化发展。Spring Boot框架具有快速开发、高效部署和简化配置等特点,能够提升网站的开发效率和性能表现,保障网站的稳定性和安全性。借助现代技术,如人工智能、大数据分析等,可以为用户提供个性化的心理健康服务,更好地满足用户需求。

因此,心理健康教育网站的建设不仅符合社会发展需求,也为个体提供了重要的心理健康支持和教育资源,有助于促进社会心理健康事业的发展,提升人们的生活质量和幸福感。这样的研究将对促进心理健康教育领域的进步和推动社会心理健康事业的发展具有重要意义。

    1. 论文结构与章节安排

本文共分为六章,章节内容安排如下:

第一章:引言。第一章主要介绍了课题研究的背景与意义以及技术和本文的研究内容与主要工作。

第二章:系统分析。第二章主要从系统的可行性、功能等方面进行需求分析。

第三章:系统总体设计。第三章主要对系统功能模块、数据库进行功能设计。

第四章:系统详细设计。第四章主要介绍了系统各个用户的功能、系统界面的实现。

第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试。

  1. 系统分析
    1. 可行性分析

开发任何一个系统,都要对其可行性进行分析,对其时间和资源上的限制进行考虑,这样可以减少系统开发的风险。同时,分析之后不仅能够合理的运用人力,还能在各方面资源的消耗上得到节省。下面就对技术、经济两个方面来介绍。

实用性方面,本次设计的主要任务是实现心理文章、专家指导、心理问题、资源管理、交流管理等功能,符合当前潮流的发展。从用户角度出发,采用网络上的便捷方式,实现线上业务,使得业务流程更系统,也更方便用户的体验,比较实用。

经济性方面,由于本课题中设计的springboot心理健康教育网站的主要目的是为了实现学生可以随时进行在线测试,也就是能够可以直接投入使用的信息化软件。系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上。但是一旦系统投入到实际的运行及使用之后就能够很好的提高使用的效率,同时这个springboot心理健康教育网站所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的。

    1. 功能需求分析

普通用户用例图如下所示。

图2-1 普通用户用例图

图2-2 管理员用例图

      1. 用户功能

普通用户用户功能如下:

普通用户注册账号:用户填写个人信息,并验证手机号码。

登录:根据账号密码进行登录操作。

通知公告:用户可以对系统发布的公告进行浏览、查看。

心理测试:用户可以根据考试类型浏览考试题目,并选中某个考试进行在线测试操作,例如:考试名称、答题时长、总分等。

我的账户:用户点击我的账户,可以对普通用户基本资料进行修改与密码的修改。

交流论坛:用户可点击“交流论坛”菜单查看所有交流论坛信息,按分类浏览帖子或通过关键词进行搜索。点击帖子进入详细展示界面,可进行点赞、收藏、评论,也可点击“发布内容”发布帖子。

心理文章:用户可点击“心理文章”菜单查看所有心理文章信息,按条件或关键词查询。点击文章进入详细展示界面,可进行收藏、点赞和评论。

      1. 后台管理员功能

管理员功能如下:

修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。

系统管理:管理员可以对前台首页轮播图进行管控。

心理测试管理:对考试信息进行维护管理。

用户管理:对普通用户用户进行维护管理。

资源管理:管理员点击“心理测试”这一菜单,可以对其进行增删改查。

交流管理:点击“交流管理”这一菜单,可以对其下论坛列表以及论坛分类列表进行增删改查。

心理文章管理:对心理文章进行增删改查。

    1. 非功能需求分析

首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的。软件系统的非功能性求分析,从7个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析。面对心理健康教育网站存在的性能、安全、扩展、完整度等7个方面性能综合比对分析后发现,需要相应的非功能性需求分析。

    1. 安全性需求分析
      1. 系统的安全性

安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护用户的信息不被窃取。提高系统的安全性不仅是对师生用户的负责,更是对学校的负责。尤其针对于心理健康教育网站来说,必须要有很好的安全性来保障整个系统。

系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。

      1. 数据的安全性

数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。

因此,在写入数据库时,要保证数据完整性、正确性和一致性。

    1. 数据流程分析

对系统的数据流进行分析,系统的使用者分为二类,一般用户,管理员。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理。

系统顶层数据流图如下图所示。

图2-4 顶层数据流图

要判断用户是是什么身份,是根据登录的数据来判断后,跳转到对应的功能界面。在系统的内部用户就可以对数据进行操作,数据库中心就可以接收到系统传输的有效数据流来对数据sql语句进行对应操作。

系统底层数据流图如下图所示。

 图2-5 底层数据流图

系统可以分为前台和后台两部分,每一种操作后系统都返回操作结果。前台和后台的数据连接主要通过数据库,既分别对数据库做不同的操作。

  1. 系统设计
    1. 系统架构设计

springboot心理健康教育网站的结构设计一般是基于三个不同的层次,分别是Web层、业务处理层以及数据访问层。在这之中,Web层由View层和Controller层组成,其中业务层主要负责处理特定的业务逻辑,而数据访问层则主要负责与数据库的互动。

下面的图展示了系统的结构设计。

在此架构设计中,View层主要负责展示用户界面和进行用户互动,而Controller层则负责接收用户的请求并执行相关的业务逻辑操作。Business层的主要职责是处理特定的业务流程,如试题的管理和答题的记录等事宜。Data Access Layer(DAL)的主要职责是与数据库互动,并为数据提供读取和存储的能力。Model层被视为系统的关键数据结构,它涵盖了元数据的扩展部分和数据的访问部分。

图3-1系统架构图

    1. 系统总体设计

springboot心理健康教育网站总体分为前端用户模块和后端管理员模块。

两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。

    1. 系统功能设计

登录模块:登录模块是进入系统的入口,所有用户必须登录后才能访问系统。登录需要输入用户名和密码,如果多次尝试登录需要输入验证码。登录时需要选择用户的角色,是一般用户还是管理员登录等。登录成功后,会通过数据库获取用户的权限,并跳转至用户的主页面。

心理文章数据模块:可分为心理文章数据浏览、心理文章数据检索、心理文章数据维护三个模块,管理员对心理文章数据有维护的权限,发布新的心理文章数据、更新已有的心理文章数据等。

心理测试管理模块:心理测试管理分为考试添加、修改。心理测试信息由管理员进行修改、添加、删除操作。

图3-2心理健康教育网站功能模块图

    1. 数据库设计
      1. 数据库概念设计

根据前面的数据流程图,结合系统的功能模块设计,设计出符合系统的各信息实体。

系统ER图如下图所示。

图3-3 系统ER图

      1. 数据库表设计

springboot心理健康教育网站所拥有的数据表有以下:普通用户信息表,在线考试表,试题信息表,普通用户成绩表。

由于数据表较多,只展示系统主要数据表,如下表所示。

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表exam (考试)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

exam_id

mediumint

8

0

N

Y

考试id

2

name

varchar

32

0

N

N

考试名称:[2,32]

3

duration

int

10

0

Y

N

答题时长

4

score

double

9

2

Y

N

总分

5

status

varchar

10

0

Y

N

状态:启用、禁用

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表exam_question (试题)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

exam_question_id

mediumint

8

0

N

Y

2

type

varchar

20

0

Y

N

类型

3

title

varchar

255

0

Y

N

题目

4

question_item

varchar

500

0

Y

N

选项

5

answer

varchar

500

0

Y

N

参考答案

6

score

double

9

2

Y

N

总分

7

question_order

int

10

0

Y

N

排序

8

exam_id

mediumint

7

0

Y

N

所属试卷

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表expert_guidance (专家指导)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

expert_guidance_id

int

10

0

N

Y

专家指导ID

2

psychological_issues

varchar

64

0

Y

N

心理问题

3

psychological_type

varchar

64

0

Y

N

心理类型

4

expert_name

varchar

64

0

Y

N

专家姓名

5

expert_images

varchar

255

0

Y

N

专家图片

6

guidance_content

text

65535

0

Y

N

指导内容

7

hits

int

10

0

N

N

0

点击数

8

praise_len

int

10

0

N

N

0

点赞数

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表forum (论坛)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

forum_id

mediumint

8

0

N

Y

论坛id

2

display

smallint

5

0

N

N

100

排序

3

user_id

mediumint

8

0

N

N

0

用户ID

4

nickname

varchar

16

0

Y

N

昵称:[0,16]

5

praise_len

int

10

0

Y

N

0

点赞数

6

hits

int

10

0

N

N

0

访问数

7

title

varchar

125

0

N

N

标题

8

keywords

varchar

125

0

Y

N

关键词

9

description

varchar

255

0

Y

N

描述

10

url

varchar

255

0

Y

N

来源地址

11

tag

varchar

255

0

Y

N

标签

12

img

text

65535

0

Y

N

封面图

13

content

longtext

2147483647

0

Y

N

正文

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

16

avatar

varchar

255

0

Y

N

发帖人头像:

17

type

varchar

64

0

N

N

0

论坛分类:[0,1000]用来搜索指定类型的论坛帖

表message (留言板)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

message_id

int

10

0

N

Y

留言板ID:

2

user_id

int

10

0

N

N

0

用户ID:

3

title

varchar

64

0

Y

N

标题:

4

content

longtext

2147483647

0

N

N

内容:

5

nickname

varchar

32

0

N

N

昵称:

6

avatar

varchar

255

0

Y

N

头像:

7

email

varchar

125

0

Y

N

留言者邮箱

8

phone

varchar

11

0

Y

N

留言者手机号码

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

11

reply

longtext

2147483647

0

Y

N

回复

12

reply_state

tinyint

4

0

Y

N

0

回复状态

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表psychological_articles (心理文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

psychological_articles_id

int

10

0

N

Y

心理文章ID

2

article_name

varchar

64

0

Y

N

文章名称

3

article_classification

varchar

64

0

Y

N

文章分类

4

article_images

varchar

255

0

Y

N

文章图片

5

upload_time

date

10

0

Y

N

上传时间

6

article_content

text

65535

0

Y

N

文章内容

7

hits

int

10

0

N

N

0

点击数

8

praise_len

int

10

0

N

N

0

点赞数

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表psychological_issues (心理问题)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

psychological_issues_id

int

10

0

N

Y

心理问题ID

2

psychological_issues

varchar

64

0

Y

N

心理问题

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表psychological_type (心理类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

psychological_type_id

int

10

0

N

Y

心理类型ID

2

psychological_type

varchar

64

0

Y

N

心理类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

contact_information

varchar

64

0

Y

N

联系方式

5

personal_profile

text

65535

0

Y

N

个人简介

6

examine_state

varchar

16

0

N

N

已通过

审核状态

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表user_answer (用户答题)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_answer_id

mediumint

8

0

N

Y

2

user_id

mediumint

7

0

N

N

用户ID:[0,8388607]用户获取其他与用户相关的数据

3

exam_id

mediumint

7

0

N

N

0

考试id

4

score

double

9

2

Y

N

0.00

分数

5

answers

text

65535

0

Y

N

答案

6

score_detail

text

65535

0

Y

N

评分详情

7

objective_score

double

9

2

Y

N

0.00

客观题得分

8

subjective_score

double

9

2

Y

N

0.00

主观题得分

9

score_state

tinyint

4

0

Y

N

0

评分状态

10

nickname

varchar

255

0

Y

N

提交人

11

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

  1. 系统实现

心理健康教育网站的详细设计与实现主要是根据前面的心理健康教育网站的需求分析和心理健康教育网站的总体设计来设计页面并实现业务逻辑。主要从心理健康教育网站界面实现、业务逻辑实现这两部分进行介绍。

4.1系统前台功能实现

4.1.1系统主页功能实现

用户进入首页之后会显示如下的一个窗口。系统以上中下的布局进行展示,首先映入眼帘的是系统的在线考试、通知公告、联系老师,其主界面展示如下图4.1所示。

如下图:

图4.1心理健康教育网站首页界面

4.1.2用户登录功能实现

心理健康教育网站中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到心理健康教育网站的首页中;否则将会提示相应错误信息,用户登录界面如下图4.2所示

图4.2心理健康教育网站登录界面

登录关键代码如下:

/**

     * 登录

     * @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.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }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.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            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());

            Duration duration = Duration.ofSeconds(7200L);

            redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

            // 返回用户信息

            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.1.3 注册功能实现

不是心理健康教育网站中正式用户的是可以在线进行注册的,如果你没有本心理健康教育网站的账号的话,添加“注册”,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。其用用户注册界面展示如下图4-2所示。

图4.3注册界面

注册关键代码如下:

   /**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        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);

}     

4.1.4心理文章功能实现

用户点击“心理文章”菜单显示所有的心理文章信息,可以按照条件进行心理文章的筛选或者输入关键词进行局部搜索,点击可以进入心理文章详细展示界面,在此界面用户可以收藏、点赞和评论。具体的实现界面如下图4.4所示:

图4.4心理文章界面

4.1.5心理测试功能实现

当用户点击导航栏“心理测试”后可以进行在考试操作,点击进入考试试卷界面,具体的实现界面如下图4.5所示:

图4.5心理测试界面

4.2系统后台功能实现

4.2.1后台用户登录功能实现

心理健康教育网站中的后台的管理员是可以通过自己的账户名和密码进行登录的,当管理员输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到心理健康教育网站的首页中;否则将会提示相应错误信息,登录界面如下图4.6所示。

图4.6后台登录界面

4.2.2用户管理功能实现

管理员在用户管理模块,可以对用户信息进行管理,用户管理模块由管理员,普通用户组成,这里以普通用户管理为例,具体的实现界面如下图:

图4.7用户管理界面

用户管理关键代码如下:

@PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

public Map<String, Object> addMap(Map<String,Object> map){

    service.insert(map);

     return success(1);

 }

4.2.3心理类型管理功能实现

管理员点击“心理类型管理”这一按钮可以对心理类型进行添加,编辑,查询、删除,具体的实现界面如下图:

图4.8心理类型管理界面

4.2.心理测试管理功能实现

管理员在“心理测试”界面的这一菜单下可以对进行查询,修改、添加、删除,具体的实现界面如下图:

图4.9试题库界面

4.2.5心理文章管理功能实现

管理员点击“心理文章管理”菜单可以进行增删改查,具体的实现界面如下图:

图4.10心理文章管理界面

心理文章管理关键代码如下:

  @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.6资源管理功能实现

管理员点击“资源管理”菜单能够对其下子菜单论坛列表以及论坛分类列表进行增删改查,具体的实现界面如下图:

图4.11资源管理界面

资源管理关键代码如下:

@RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

    public void delete(Map<String,String> query,Map<String,String> config){

        QueryWrapper wrapper = new QueryWrapper<E>();

        toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);

        baseMapper.delete(wrapper);

        log.info("[{}] - 删除操作:{}",wrapper.getSqlSelect());

    }

  1. 系统测试
    1. 测试目的

对于任何一个系统来说,测试是不可缺少的一环,它能在全部软件推出前就能检测出系统中的许多问题,均应经过足够的检测,以确保在上线时不会出现Bug频繁、或功能达不到要求的情况。以下从单元测试、功能测试、用例测试等方面分别对该系统进行了测试,确保了系统运行稳定可靠。

    1. 功能测试

下表是心理文章功能的测试用例,检测了心理文章中对心理文章信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表5-1 心理文章的测试用例

功能描述

用于心理文章

测试目的

检测心理文章时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加心理文章,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加心理文章,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改心理文章,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改心理文章,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除心理文章,选择心理文章删除

提示删除成功

与预期结果一致

点击搜索心理文章,输入存在的心理文章名

查找出心理文章

与预期结果一致

点击搜索心理文章,输入不存在的心理文章名

不显示心理文章

与预期结果一致

下表是专家指导功能的测试用例,检测了专家指导中对专家指导信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表5-2 专家指导的测试用例

功能描述

用于专家指导

测试目的

检测专家指导时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加专家指导,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加专家指导,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改专家指导,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改专家指导,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除专家指导,选择专家指导删除

提示删除成功

与预期结果一致

点击搜索专家指导,输入存在的专家指导名

查找出专家指导

与预期结果一致

点击搜索专家指导,输入不存在的专家指导名

不显示专家指导

与预期结果一致

下表是心理问题管理功能的测试用例,检测了心理问题管理中分类列表的操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表5-3 心理问题管理的测试用例

功能描述

用于心理问题管理

测试目的

检测心理问题管理时各种操作的情况

测试数据以及操作

预期结果

实际结果

    1. 性能测试

利用阿里云PTS(Performance Testing Service)的性能测试工具,对在线系统进行了压力检测。线上服务器环境如下:1核心CPU、1G内存、1Mbps公网带宽、Centos7.0操作系统。

压测过程中使用了2台并发机器,每台机器20个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有40个用户并发时,数据管理相关页面的响应时间甚至达到了7s,通过查看服务器出网流量发现已经达到1381kb/s,可见服务器带宽已到达顶峰,若系统采用5Mbps带宽则系统响应时间及TPS都将大幅增加。整个测试过程CPU使用率所占比例只高,同时提现了带宽瓶颈给系统带来了严重影响。

  1. 总结与展望

在计算机互联网技术快速发展的背景下,各行业均实现了利用计算机相关技术来管理不断扩增的数据。本项研究专门针对springboot心理健康教育网站进行了需求建模、数据建模以及过程建模的分析设计,并成功地完成了该心理健康教育网站的开发过程。给出了系统的应用架构,分析了其优势和劣势,用功能分解图和系统组件图对功能需求进行了描述。对数据库进行了设计和建立,并对系统关键数据结构进行了定义。利用类关系图刻画了组件之间的协作关系并给出了各类型定义方法。通过对每个类别的字段、属性和方法进行描述,实现了springboot前、后台代码的心理健康教育站点。最后给出了系统集成整合的方法并完成了springboot心理健康教育网站设计和实现。系统在投入使用后各项功能工作正常。该系统各接口操作均遵循常规逻辑,对于使用者而言操作方便且接口友好。系统整体各功能都设计得比较合理并体现出人性化。

但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑得并不周全,所以整个体系还需要在以后逐渐完善起来。

参考文献

[1]韩小龙,司珍,吕晓峰等. 基于面向对象编程的Java语言程序设计方法分析 [J]. 集成电路应用, 2024, 41 (01): 228-229.

[2]谭光兴,甘景,戚秋晨. 基于Java语言的远程数据采集系统设计与实现 [J]. 科技与创新, 2024, (01): 19-22.

[3]赵旭东. 计算机软件开发与设计中Java语言的应用研究 [J]. 信息与电脑(理论版), 2023, 35 (24): 31-33.

[4]Xiao Z ,Ali Y ,Xin W , et al. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis [J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.

[5]Karthik G ,Debashish M ,Jagoda C , et al. Developing a MySQL Database for the Provenance of Black Tiger Prawns (Penaeus monodon). [J]. Foods (Basel, Switzerland), 2023, 12 (14):

[6]王冬云. 网络环境下信息技术教学中的心理健康教育[C]// 中国管理科学研究院教育科学研究所. 教学质量管理研究网络论坛——社会发展与管理分论坛论文集(二). 山东省济宁市梁山县实验中学;, 2023: 4.

[7]Sunday O B ,Nduka O S . MySQL Database Server: Deploying Software Application to Enhance Visibility and Accountability [J]. Current Journal of Applied Science and Technology, 2023, 42 (4): 16-23.

[8]余果儿. 大学生网络心理健康教育研究 [J]. 心理月刊, 2022, 17 (09): 220-222.

[9]王译萱. 新时代大学生网络心理健康教育研究 [J]. 赤峰学院学报(自然科学版), 2021, 37 (01): 102-106.

[10]王赞春. 高职心理社团助推心理健康教育工作的探索 [J]. 科技风, 2019, (33): 253-254.

[11]祝志敏,李强. 基于Web2.0的大学生心理健康教育网站设计与实现 [J]. 软件导刊, 2019, 17 (09): 140-143.

[12]肖潇. 互联网+环境下的大学生心理健康教育初探 [J]. 景德镇学院学报, 2019, 31 (06): 105-107.

[13]张慧勇. “互联网+”思维下大学生心理健康教育的有效应对机制研究 [J]. 科教导刊(上旬刊), 2019, (31): 156-157.

[14]郑忠平. 大学生心理健康教育网络教学评价体系研究 [J]. 中国培训, 2019, (10): 50-51.

[15]陆瑾. 中学心理健康教育网站建设调查研究[D]. 南昌大学, 2019.

[16]董伟君. 高职院校心理健康教育网站的设计与实现[D]. 吉林大学, 2019.

[17]仰颐, 思想品德教育与管理 心理健康教育网站开通, 王宗光 主编, 上海交通大学年鉴, 上海交通大学出版社, 2019, 118, 年鉴.

致谢

“致谢”意味着论文的结束,也意味着自己的毕业设计顺利完成,同时也代表了自己的大学生涯即将结束,我即将要离开自己敬爱的老师和亲爱的同学们,在这里我首先要感谢的就是所有的老师,“春满河山绿意盎然,桃李争春笑颜灿烂,东西春常新,惟有师恩注意其间”,他们为我的学习和人生都倾尽了自己的一切,谆谆教导着我;二、我要谢谢导师,导师对我整个毕业设计起了引导作用,只要我遇到困难,导师都会在第一时间帮我解决,我被指导去解决问题,而不是直接告诉我答案。“授人以鱼,不如授人以渔”,指导老师的这种方法让我受益一生。同时,我也从指导老师那里学到了很多开发技巧和检验,这对我未来的开发具有极其重要的意义;再一次,我要对我的同学和室友表示感谢,他们不仅在我的毕业设计方面提供了大量的建议和帮助,而且在我大学的四年同窗生涯中,他们对我的支持实在是太多了,我不舍得她们,不能用语言来表达,相信今后的人生路上只要一想起她们,心都会暖暖的,这段情谊是其他情感所不能取代的;最后,也要谢谢家人、谢谢自己、谢谢家人给了我支持、谢谢自己对学业的执着,相信未来我会走得更远。

点赞+收藏+关注 → 私信领取本源代码、数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值