springboot博客论坛网站-毕业设计源码27995

目  录

摘要 

1 绪论 

1.1 选题背景与意义 

1.2国内外研究现状 

1.3论文结构与章节安排 

2.1 可行性分析 

2.1.1 技术可行性分析 

2.1.2 经济可行性分析 

2.1.3 操作可行性分析 

2.2 系统功能分析 

2.2.1 功能性分析 

2.2.2 非功能性分析 

2.3 系统用例分析 

2.4 系统业务流程分析 

2.4.1 数据流程 

2.4.2 业务流程 

2.5本章小结 

3 博客论坛网站总体设计 

3.1 系统架构设计 

3.2 系统功能模块设计 

3.2 数据库设计 

3.2.1 数据库概念结构设计 

3.2.2 数据库逻辑结构设计 

3.3本章小结 

4 博客论坛网站详细设计与实现 

4.1前台用户功能模块 

4.1.1 前台首页界面 

4.1.2 用户注册界面 

4.1.3 用户登录界面 

4.1.4交流论坛界面 

4.1.5个人中心界面 

4.2后台功能模块 

4.2.1系统用户界面 

4.2.2交流论坛管理界面 

4.2.3违规举报管理界面 

4.2.4 帖子分类管理界面 

4.2.5系统管理界面 

5系统测试 

5.1 系统测试用例 

5.2 系统测试结果 

结论 

参考文献 

致  谢 

摘要

鉴于互联网的普及与社交媒体的兴起,博客论坛网站已成为人们分享观点、交流信息和建立社交关系的主要平台之一。本研究通过对博客论坛网站的历史背景、功能特点和影响力进行深入分析,旨在探讨其对社会和个人的影响。

整个开发过程首先对系统进行需求分析,得出其主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对系统进行功能测试,并对测试结果进行分析总结,得出系统中存在的不足及需要改进的地方,为以后的系统维护提供了方便,同时也为今后开发类似系统提供了借鉴和帮助。

本博客论坛网站是采用前后端分离的架构,Vue和Springboot的技术选型,结合Java的编程语言,使用了MySQL这一数据库进行开发的,可以实现本博客论坛网站管理的信息化,可以方便管理员进行更加方便快捷的管理。通过对博客论坛网站的研究,揭示了其在社会和个人层面的重要性和影响。进一步的研究可以探讨如何通过技术创新和社会治理来优化博客论坛网站的发展,以及如何平衡自由言论和信息安全等问题。

关键词:Java;SpringBoot;Vue;博客论坛网站;MySQL

Abstract

In view of the popularity of the Internet and the rise of social media, blog forum websites have become one of the main platforms for people to share ideas, exchange information and establish social relations. This study aims to explore the impact of blog forum websites on society and individuals through in-depth analysis of their historical background, functional characteristics, and influence.

The entire development process first conducts a requirement analysis of the system to determine its main functions. Then proceed with the overall and detailed design of the system. The overall design mainly includes system functional design, system overall structure design, system data structure design, and system security design, etc; The detailed design mainly includes the implementation of system database access, the specific implementation of main functional modules, and the key code for module implementation. Finally, functional testing was conducted on the system, and the test results were analyzed and summarized to identify the shortcomings and areas for improvement in the system. This provided convenience for future system maintenance and also provided reference and assistance for the development of similar systems in the future.

This blog forum website adopts a front-end and back-end separation architecture, Vue and Springboot technology selection, combined with Java programming language, and developed using MySQL database. It can achieve information management of this blog forum website and facilitate administrators to manage more conveniently and quickly. Through research on blog forum websites, the importance and influence of these websites at both social and personal levels have been revealed. Further research can explore how to optimize the development of blog forum websites through technological innovation and social governance, as well as how to balance issues such as free speech and information security.

Keywords: Java; SpringBoot; Vue; Blog forum website; MySQL

1 绪论

1.1 选题背景与意义

随着互联网的迅猛发展,博客论坛成为了人们获取信息、分享观点和交流意见的重要途径。博客论坛网站提供了一个开放的平台,让用户可以发表自己的观点,评论他人的文章,与其他用户进行交流和讨论。这些网站在社会交流和信息传播方面起到了重要作用。

博客论坛网站在民众的日常生活中具有广泛的应用。无论是新闻时事、科技讨论、学术研究,还是生活经验、情感分享,人们通过博客论坛网站可以找到各种各样的内容。网站用户群体庞大,包括专业人士、学生、爱好者等各类人群,他们在这个开放平台上彼此交流,产生共鸣,并且能够通过这种交流获得新的知识和见解。

博客论坛网站也为个人和组织提供了宣传和影响的机会。个人可以通过发布文章展示自己的专业知识和能力,提升自己的知名度和影响力。同时,组织可以利用博客论坛网站传播信息、宣传品牌、推广产品等。通过博客论坛网站,个人和组织可以与更广泛的受众建立联系,达到传播目的。

然而,博客论坛网站的使用也面临一些问题和挑战。其中之一是信息的真实性和准确性。由于博客论坛网站的开放性,用户可以自由发表观点和评论,但也存在信息造假、恶意攻击等问题。这就需要对用户发表的内容进行审查和监管,确保信息的可信度。另外,博客论坛网站也面临维护用户权益和保护隐私的责任。用户在博客论坛网站上留下的个人信息和讨论记录可能会被滥用和泄露,给用户带来损害。因此,研究博客论坛网站的背景和现状,探讨其面临的问题和挑战,对于保护用户权益,加强信息准确性,提升博客论坛网站的质量和影响力,具有重要的现实意义和研究价值。

1.2国内外研究现状

博客论坛网站是一种在线平台,旨在让用户发布自己的博客文章或在论坛上讨论特定主题。这种网站为用户提供了一个分享知识、交流意见和建立社区的平台。在国内外,博客论坛网站一直是互联网上常见的形式之一,为用户提供了丰富多样的信息和交流机会。以下是国内外在博客论坛网站领域的研究现状:

在国外,许多研究探讨了博客论坛网站在社会交流、信息传播和用户参与等方面的作用。一些研究关注博客论坛网站对个人意见表达和社交互动的影响,也有研究关注博客论坛网站在政治、商业和学术领域的运用。此外,一些研究聚焦于用户行为和交流模式等方面,探讨了博客论坛网站在用户社区形成和发展中的作用。

在国内,随着互联网的快速发展,越来越多的研究关注博客论坛网站在社会化交流、网络社区建设和信息传播等方面的作用。一些研究探讨了博客论坛网站在网络舆论监控、舆情分析和网络社交等方面的应用。此外,还有研究关注博客论坛网站在教育、健康等领域的应用,探讨了其在知识传播和社会影响力等方面的作用。

总的来说,博客论坛网站作为一种重要的网络社交平台,在国内外均受到广泛关注和研究。未来可以通过进一步研究和探索,深化对博客论坛网站在促进社会交流、知识共享和社区建设等方面的理解,为其在不同领域的应用提供更多的支持和指导。

1.3论文结构与章节安排

论文将分层次经行编排,除去论文摘要、目录、致谢、文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:

第1章交代了项目的背景和开发的实际意义,以及国内外研究现状。

第2章 对本系统的可行性、功能需求展开分析。

第3章 阐述了项目的总体设计。

第4章 阐明了博客论坛网站详细功能的实现,主要根据技术性的功能模块功能实现。

第5章 罗列了部分系统调试与测试的记录。

第6章 介绍了博客论坛网站的结论。

2 博客论坛网站系统分析

系统分析作为博客论坛网站开发的先决条件,通过系统分析了解博客论坛网站的主要用户的基本需求。进而对该平台进行可行性分析,其中就包括了技术可行性、经济可行性等,可行性分析将从项目整体角度出发,最后是具体需求的分析,分析手段将通过用户的用例图进行说明。

2.1 可行性分析

在进行任何项目的开发之前,进行可行性分析是至关重要的。可行性分析旨在评估项目的可行性、可接受性和可实施性,以确定项目是否值得继续推进。对于博客论坛网站的开发,以下几个方面的可行性需要进行评估。

2.1.1 技术可行性分析

博客论坛网站设计与实现是一个基于Web的信息交流平台,我们在实现这个系统所采用的技术方案是基于Java语言,Vue和Springboot框架,MySQL数据库,在大学的学习中这几门课程都已经学过,而且自己也用这些技术开发过小的项目,在平时的课程设计以及作业也经常用到Java和MySQL,在技术上实现自己的自主开发是可行的。

2.1.2 经济可行性分析

在项目上使用的工具大部分都是是当下流行开源免费的,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响,所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费,以及设备费用。将在无纸化,高效率的道路上越走越远。

2.1.3 操作可行性分析

本系统实现功能的操作很简单,普通电脑的常见配置就可以运行本软件,并且只要粗通电脑使用的基本常识就可以流畅的使用本软件。电脑具备连接互联网的能力,并且可以正常访问系统,并不需要操作者有什么高超的能力,只需了解业务流程,并且按照专业知识进行正确操作即可,所以乒乓球馆排课系统具备操作可行性。

2.2 系统功能分析

2.2.1 功能性分析

博客论坛网站的主要功能模块分为前台用户和后台管理员端。

普通系统用户模块:

(1)用户注册登录:当用户想要对系统中所实现的功能进行查询管理的时候,就必须进行登录到系统当中,如果没有账号的话,可以在登录窗口中进行注册,然后再通过账号密码登录。

(2)通知公告:当用户点击“通知公告”这一菜单按钮,会显示管理员在后台发布的所有的通知公告,可以查看详情。

(3)交流论坛:当用户点击“交流论坛”这一菜单按钮,可以查看所有的交流论坛列表,可以查看包括普通用户、用户姓名、帖子标题、帖子分类、发布时间、帖子文件、帖子内容等详情信息,并且可以对查看的交流论坛进行举报、点赞、收藏、评论操作。

(4)我的账户:在前台点击“我的”下面的“我的账户”可以对个人资料+密码修改进行管控。

(5)个人中心:用户点击右上角的“用户名”,然后点击“个人中心”可对个人首页、交流论坛、违规举报和收藏的信息进行管理。

管理员管理模块:

(1)登录:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码是在数据库中直接设定好的。

(2)系统用户:管理员可以对博客论坛网站中的管理员和普通用户账户信息进行增删改查。

(3)交流论坛管理:管理员点击“交流论坛管理”会显示出所有的交流论坛信息,支持输入关键字对交流论坛进行查询,如果想要添加新的交流论坛,点击“添加”按钮,输入详细信息,点击“提交”按钮就可以添加了,同时可以选择某一条交流论坛,点击“删除”进行删除,也可以对用户提交的交流论坛评论的信息进行管控。

(4)帖子分类管理:管理员可以对交流论坛所属的分类类型进行添加、修改。

(5)系统管理:管理员点击“系统管理”菜单可以对首页展示的轮播图进行管理。

(6)通知公告管理:管理员点击“通知公告管理”菜单可以查看到系统中的所有通知通知公告,对已经存在的通知公告,管理员可以修改,也可以添加新的通知公告或者删除通知公告。

2.2.2 非功能性分析

在博客论坛网站中,除了功能模块的设计和实现外,非功能性需求也是十分重要的。以下是对博客论坛网站的非功能性分析:

(1)可用性:系统应具备良好的可用性,即用户能够轻松地使用系统进行交流论坛浏览,并且系统应保持高可靠性,避免出现频繁的故障或停机时间。

(2)安全性:系统应具备良好的安全性,确保用户的个人信息和论坛内容得到保护,防止未经授权的访问和数据泄露。

(3)性能:系统应具备良好的性能,即能够在合理的响应时间内处理大量的违规举报请求,保证系统的高效运行。

(4)可扩展性:系统应具备良好的可扩展性,以适应日益增长的用户数量和违规举报量,能够方便地进行系统的升级和扩展。

(5)易用性:系统应具备良好的易用性,用户界面应简洁明了,操作流程应简单易懂,减少用户的学习成本。

(6)兼容性:系统应具备良好的兼容性,能够与不同的操作系统、浏览器和设备进行良好的兼容,以满足用户的多样化需求。

(7)可维护性:系统应具备良好的可维护性,代码结构清晰、易于理解和修改,方便开发人员进行系统的维护和更新。

(8)可靠性:系统应具备良好的可靠性,即能够保证数据的完整性和准确性,避免出现数据丢失或错误的情况。

2.3 系统用例分析

博客论坛网站的完整UML用例图分别是图2-1和图2-2。

图2-1就是普通用户角色的用例展示。

图2-1 博客论坛网站普通用户角色用例图

图2-2就是管理员角色的用例展示。

图2-2博客论坛网站管理员角色用例图

2.4 系统业务流程分析

2.4.1 数据流程

开发博客论坛网站主要的一个功能是实现用户对交流论坛的违规举报,系统的数据流图如下所示。

图2-3 违规举报操作展开图

2.4.2 业务流程

分析完博客论坛网站的数据流,那么接下来我们来看系统的业务流程,系统业务流程图如下:

图2-4业务流程图

2.5本章小结

本章主要通过对博客论坛网站的可行性分析、功能需求分析、系统用例分析、系统业务流程分析,确定整个博客论坛网站要实现的功能。同时也为博客论坛网站的代码实现和测试提供了标准。

3 博客论坛网站总体设计

博客论坛网站总体设计包括系统架构、数据库设计、用户界面设计等方面。通过三层架构模式,确保系统的可靠性和可扩展性。设计规范化的数据库结构,以存储和管理食谱信息、用户数据等。同时,注重用户界面的友好性和易用性,提供便捷的功能操作和良好的用户体验。总体设计的目标是实现一个稳定、安全、高效的博客论坛网站,满足用户的需求。

3.1 系统架构设计

在系统架构设计中,我们将确定系统的整体结构和组件之间的关系。这包括选择适当的架构风格,划分系统的层次结构,并定义各个模块的职责和交互方式。架构图如下图所示。

图3-1系统架构设计图

表现层(Presentation Layer):负责与用户进行交互,将系统的功能和数据以易于理解和操作的方式展示给用户。通常包括用户界面、页面设计和用户输入验证等。

业务逻辑层(Business Logic Layer):处理系统的核心业务逻辑,包括对用户请求的处理、业务规则的执行以及数据的处理和转换。它独立于表现层和数据层,实现了业务逻辑的封装和复用。

数据层(Data Layer):负责数据的存储、访问和管理,包括数据库和持久化机制。数据层提供了对数据的增删改查操作,并与业务逻辑层进行交互,使系统能够有效地存储和检索数据。

这三个层次相互独立,通过明确的接口和协议进行通信,实现了系统的模块化和可扩展性。表现层负责将用户的请求传递给业务逻辑层,业务逻辑层处理请求并返回结果,最后数据层负责与数据库交互并提供数据支持。这种分层架构有助于实现系统的可维护性、灵活性和可测试性。

3.2 系统功能模块设计

系统功能模块的设计就是把系统具体要实现哪些功能,功能如何划分做一个系统的架构,以模块图的方式展示出来,方便我们进行功能得罗列以及涉及。在系统的功能方面,项目分成了管理员和普通用户两个模块,每个模块登录进去对应相应的功能,具体的功能模块图如图3-2所示。

图3-2 博客论坛网站功能模块图

3.2 数据库设计

数据库设计是系统开发中至关重要的一环,它涉及到数据的组织、存储和管理。在数据库设计中,我们将根据系统的需求设计数据库的概念结构和逻辑结构,包括定义实体、属性、关系和约束等。

3.2.1 数据库概念结构设计

下面是整个博客论坛网站中主要的数据库表总E-R实体关系图。

图3-3 博客论坛网站总E-R关系图

3.2.2 数据库逻辑结构设计

数据库逻辑结构设计则是在概念结构的基础上,进行具体的数据库表设计。我们将定义每个表的结构、字段和约束,并建立表与表之间的关系。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表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:

表exchange_forum (交流论坛)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

exchange_forum_id

int

10

0

N

Y

交流论坛ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

post_title

varchar

64

0

Y

N

帖子标题

5

post_classification

varchar

64

0

Y

N

帖子分类

6

post_cover

varchar

255

0

Y

N

帖子封面

7

release_time

datetime

19

0

Y

N

发布时间

8

post_file

varchar

255

0

Y

N

帖子文件

9

post_content

longtext

2147483647

0

Y

N

帖子内容

10

hits

int

10

0

N

N

0

点击数

11

praise_len

int

10

0

N

N

0

点赞数

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表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

更新时间:

表post_classification (帖子分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

post_classification_id

int

10

0

N

Y

帖子分类ID

2

post_classification

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

更新时间

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表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

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表reporting_violations (违规举报)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

reporting_violations_id

int

10

0

N

Y

违规举报ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

post_title

varchar

64

0

Y

N

帖子标题

5

post_classification

varchar

64

0

Y

N

帖子分类

6

reason_for_reporting

text

65535

0

Y

N

举报原因

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

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

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

3.3本章小结

整个博客论坛网站的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

4 博客论坛网站详细设计与实现

在详细设计与实现阶段,我们将根据系统需求和功能模块的设计,进行具体的代码编写和系统搭建。这包括前台界面的设计与开发、后台数据库的建立和管理、业务逻辑的实现等。通过编写代码、进行测试和调试,最终完成整个博客论坛网站的开发。

4.1前台用户功能模块

4.1.1 前台首页界面

前台首页界面是用户访问系统的入口页面,它应该展示系统的主要功能和特色,并提供导航链接以便用户浏览和搜索交流论坛信息。首页界面的设计应注重页面的美观性和用户体验,同时也需要考虑页面的加载速度和响应性能。其主界面展示如下图4-1所示。

图4-1 前台首页界面图

4.1.2 用户注册界面

用户注册界面用于新用户进行账号注册,用户需要填写必要的个人信息并选择合适的用户名和密码。注册界面应该进行输入验证和数据格式检查,确保用户提供有效的信息。注册界面如下图所示。

图4-2注册界面图 

注册关键代码如下所示。

/**

     * 注册

     * @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.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.1.4交流论坛界面

当访客点击博客论坛网站中导航栏上的“交流论坛”后将会进入到该“交流论坛”列表的界面,然后选择想要看的交流论坛,点击进入到详细界面,在详细界面可以进行违规举报、点赞、收藏、评论等操作。交流论坛详情界面如下图4-4所示。

图4-4交流论坛详情界面图

违规举报界面如下图4-5所示。

图4-5违规举报界面图

4.1.5个人中心界面

当用户点击右上角“我的”这个按钮,会出现子菜单,点击“个人中心”可以对个人首页、交流论坛、违规举报和收藏的信息进行设置管理。个人中心管理如下图4-6所示。

图4-6个人中心管理界面图

4.2后台功能模块

4.2.1系统用户界面

博客论坛网站中的管理人员在“系统用户”这一菜单是中可以对注册的前台用户以及管理员进行管控。系统用户如下图4-7所示。

图4-7系统用户界面图

获取系统用户列表关键代码如下:

  @RequestMapping("/get_list")

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

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

}

4.2.2交流论坛管理界面

管理员点击“交流论坛管理”会显示出所有的交流论坛信息,支持输入帖子分类或帖子名称对交流论坛进行查询,也可以添加新的交流论坛,对交流论坛的评论进行管控。交流论坛管理界面如下图4-8所示。

图4-8交流论坛管理界面图

4.2.3违规举报管理界面

管理员点击“违规举报管理”会显示出用户提交的所有违规举报信息,可以点击详情对其进行审核处理,管理员核实举报内容后可以去删除用户的帖子或者冻结账号。违规举报审核界面如下图4-9所示。

图4-9违规举报审核界面图

4.2.4 帖子分类管理界面

管理员点击“帖子分类”可以查看到所有的帖子分类类型,可以对其进行增删改查操作。帖子分类管理界面如下图4-10所示。

图4-10帖子分类管理界面图

4.2.5系统管理界面

管理员点击“系统管理”菜单可以对系统的轮播图进行管理,查看到系统中的所有轮播图信息,对已经存在的轮播图,管理员可以修改,也可以发布新的轮播图信息。轮播图管理界面如下图4-11所示。

图4-11系统管理界面图

5系统测试

5.1 系统测试用例

系统测试包括:用户登录功能测试、交流论坛展示功能测试、违规举报添加、交流论坛搜索、密码修改、交流论坛发布帖子功能测试,如表5-1、5-2、5-3、5-4、5-5、5-6所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

交流论坛查看功能测试:

表5-2 交流论坛查看功能测试表

用例名称

交流论坛查看

目的

测试交流论坛查看功能

前提

用户登录

测试流程

点击交流论坛列表

预期结果

可以查看到所有交流论坛信息

实际结果

实际结果与预期结果一致

管理员添加违规举报界面测试:

表5-3 管理员添加违规举报界面测试表

用例名称

添加违规举报测试用例

目的

测试违规举报添加功能

前提

管理员用户正常登录情况下

测试流程

1)管理员点击违规举报管理,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的违规举报

实际结果

实际结果与预期结果一致

交流论坛搜索功能测试:

表5-4交流论坛搜索功能测试表

用例名称

交流论坛搜索测试

目的

测试交流论坛搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的交流论坛

实际结果

实际结果与预期结果一致

密码修改搜索功能测试:

表5-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

交流论坛发布帖子功能测试:

表5-6交流论坛发布帖子功能测试表

用例名称

交流论坛发布帖子测试用例

目的

测试用户发布帖子功能

前提

用户正常登录情况下

测试流程

1)搜索查看交流论坛信息,点击发布帖子。

2)填写帖子内容,点击进行提交。

预期结果

帖子发布成功

实际结果

实际结果与预期结果一致

5.2 系统测试结果

通过编写博客论坛网站的测试用例,已经检测完毕用户登录功能测试、交流论坛展示功能测试、违规举报添加、交流论坛搜索、密码修改、交流论坛发布帖子功能测试,通过这6大模块为博客论坛网站的后期推广运营提供了强力的技术支撑。

结论

通过基于VUE+SpringBoot的博客论坛网站的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。

目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。

本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。

系统在以后的升级过程中,需要解决一系列用户所提出的问题,例如打印过程中如何避免浏览器的兼容性问题,大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。

参考文献

[1]张豪,朱石磊,胡建华等.基于B/S架构的校园论坛系统的设计与实现[J].电脑知识与技术,2023,19(33):32-35.DOI:10.14004/j.cnki.ckt.2023.1779.

[2]Free Blog Website CWEB Shares Latest Business and Financial News for November 22, 2023[J].M2 Presswire,2023,

[3]路玲玲,赵宇鹏.基于SSH2的开发者多功能型博客系统[J].信息与电脑(理论版),2023,35(03):126-128.

[4]Three‐Tiered Blog System Helps Guide University's Employees[J].Nonprofit Communications Report,2023,21(2):8-8.

[5]孙洪盼.基于SpringBoot和Vue的友为交流社区的设计与实现[D].重庆大学,2022.DOI:10.27670/d.cnki.gcqdu.2022.001430.

[6]闵亮,薛格格,张玉欣等.基于Node.JS博客系统的设计与实现[J].电子设计工程,2022,30(07):37-41.DOI:10.14022/j.issn1674-6236.2022.07.008.

[7]A Boon To The Skaters Community: The US Based Blog Website, 'Skate Ideas'[J].M2 Presswire,2022,

[8]Melody Access, a Blog Site About Musical Instruments is Serving Musicians in a Unique Way[J].M2 Presswire,2022,

[9]XuR ,Wang Q ,Zhou L .Evaluate the Use of Blog Sites in the Language Teaching and Learning[J].Journal of Contemporary Educational Research,2021,5(12):195-199.

[10]施鹭.基于大数据技术的博客系统研究与开发[J].北京印刷学院学报,2021,29(12):168-170.DOI:10.19461/j.cnki.1004-8626.2021.12.051.

[11]姜全坤,邬卓恒,闫娇娇.基于SpringBoot+AdminLTE3的博客管理系统设计与实现[J].信息与电脑(理论版),2021,33(24):124-127.

[12]喻佳,吴丹新.基于SpringBoot的Web快速开发框架[J].电脑编程技巧与维护,2021,(09):31-33.DOI:10.16184/j.cnki.comprg.2021.09.013.

[13]尹邦磊,王东梅,左欣.高校IT技术论坛系统的设计与实现[J].无线互联科技,2021,18(17):47-49.

[14]张新宇.某高校电影交流论坛系统的设计与实现[D].北京邮电大学,2021.DOI:10.26969/d.cnki.gbydu.2021.000968.

[15]刘子凡,郭昱君.基于SpringBoot+Mybatis的个人博客系统设计与实现[J].现代信息科技,2021,5(08):104-107+111.DOI:10.19850/j.cnki.2096-4706.2021.08.029.

[16]钟怡旸,郭昱君.基于Springboot的博客管理系统设计与实现[J].现代信息科技,2021,5(07):18-20+24.DOI:10.19850/j.cnki.2096-4706.2021.07.005.

[17]李忠毅.基于SpringBoot的小型日常交流论坛的设计与实现[J].现代计算机,2020,(25):105-108.

[18]涂远杰,郑剑.基于Flask的博客网站设计与实现[J].电脑知识与技术,2020,16(15):109-111.DOI:10.14004/j.cnki.ckt.2020.1762.

[19]黄立慧.基于区块链的学生博客系统设计与实现[D].厦门大学,2020.DOI:10.27424/d.cnki.gxmdu.2020.002270.

[20]罗涛.基于Spring Boot的多用户博客系统的设计研究[D].青海师范大学,2020.DOI:10.27778/d.cnki.gqhzy.2020.000061.

致  谢

基于VUE+SpringBoot的博客论坛网站的完成,标志着我即将结束在学院的校园生活并跨入社会。在即将毕业的此刻,我想对所有帮助过我的师长、同学和亲人表达我发自内心的谢意。

感谢学校这个大家庭,在这里我们总能找到自己的归属。学校始终在向我们传达着温暖和关怀,接纳和包容我们的缺点。学校给我最大的感受便是要将自己的专业知识与实践相结合,而我也正在努力的成为学校所要求的应用型人才。

感谢各位老师,学院使我从懵懂一步步走向成熟。在这里每个老师都拥有着最大的善意和耐心,来教育我们这群大孩子。学院举办的各类活动是给予我锻炼自己的机会,正是这些机会让我成为了更好的自己,提升了自己各方面的能力。

其次我要感谢我的论文指导老师。我之所以被老师所吸引,是因为老师对于学生友爱和对于工作认真的态度。从选题到开题到论文的撰写,老师一直都在悉心的指导,在指出存在的问题后会与我们探讨解决方法。

最后,我要对即将参与本篇论文审阅和答辩的各位老师表示感谢。

请关注点赞+私信博主,免费领取项目源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值