springboot新闻发布及管理系统-计算机毕业设计源码21929

发布于:2024-07-11 ⋅ 阅读:(19) ⋅ 点赞:(0)

摘 要

新闻发布及管理系统的设计与实现,是当下信息社会发展的重要一环。随着互联网的普及和新闻媒体的数字化转型,一个高效、稳定且功能全面的新闻发布与管理平台显得尤为重要。SpringBoot框架以其简洁、快速和易于集成的特性,成为了构建此类系统的理想选择。

在当今信息爆炸的时代,新闻的传播速度和广度达到了前所未有的高度。新闻发布及管理系统不仅需要满足新闻发布者快速、准确地发布新闻的需求,还要为新闻读者提供便捷、高效的浏览和搜索体验。因此,设计并实现一个高效、稳定且易于维护的新闻发布及管理系统具有重要的现实意义和应用价值。

SpringBoot框架以其“约定优于配置”的理念,简化了Spring应用的初始搭建以及开发过程。它提供了大量的自动配置和插件化支持,使得开发者能够专注于业务逻辑的实现,而无需花费过多精力在繁琐的配置和整合上。因此,采用SpringBoot框架来构建新闻发布及管理系统,不仅能够提高开发效率,还能够保证系统的稳定性和可扩展性。

本文旨在探讨新闻发布及管理系统的设计与实现过程,重点介绍如何利用SpringBoot框架构建一个功能全面、性能稳定的新闻发布与管理平台。我们将从系统架构、功能模块、数据库设计等方面进行详细阐述,并通过实践验证系统的可行性和有效性。

通过本系统的设计与实现,期望能够为新闻发布者提供一个强大的信息发布工具,帮助他们更好地管理和发布新闻内容;同时,也希望为新闻读者带来更加便捷、高效的新闻浏览体验,满足他们日益增长的信息需求。

关键词:新闻发布及管理系统;Vue;Spring Boot框架

Design and Implementation of News Release and Management System

Abstract

The design and implementation of a news release and management system is an important part of the current development of the information society. With the popularization of the Internet and the digital transformation of news media, an efficient, stable and comprehensive news release and management platform is particularly important. The SpringBoot framework, with its concise, fast, and easy to integrate features, has become an ideal choice for building such systems.

In today's era of information explosion, the speed and breadth of news dissemination have reached unprecedented heights. The news release and management system not only needs to meet the needs of news publishers to quickly and accurately release news, but also provides convenient and efficient browsing and search experiences for news readers. Therefore, designing and implementing an efficient, stable, and easy to maintain news release and management system has important practical significance and application value.

The SpringBoot framework simplifies the initial setup and development process of Spring applications with its concept of "convention over configuration". It provides a lot of automatic configuration and plugin support, allowing developers to focus on implementing business logic without spending too much effort on tedious configuration and integration. Therefore, using the SpringBoot framework to build a news release and management system can not only improve development efficiency, but also ensure the stability and scalability of the system.

This article aims to explore the design and implementation process of a news release and management system, with a focus on how to use the SpringBoot framework to build a comprehensive and stable news release and management platform. We will elaborate in detail on system architecture, functional modules, database design, and verify the feasibility and effectiveness of the system through practice.

Through the design and implementation of this system, it is expected to provide news publishers with a powerful information dissemination tool to help them better manage and publish news content; At the same time, we also hope to provide news readers with a more convenient and efficient news browsing experience, meeting their growing information needs.

Key words:News release and management system; Vue; Spring Boot framewo

目  录

第1章 绪论

1.1 研究背景与意义

1.2 国内外研究现状

1.3 论文组成结构

第2章 系统分析

2.1 可行性分析

2.1.1 技术可行性

2.1.2 经济可行性

2.1.3 操作可行性

2.2 需求分析

2.3 系统用例分析

2.4 系统流程分析

第3章 系统设计

3.1 系统架构设计

3.2 系统功能结构

3.3 数据库设计

3.3.1 数据库E-R图设计

3.3.2 逻辑结构设计

第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 系统管理界面

4.2.6公告消息管理界面

4.3 编辑用户模块的实现

4.3.1 新闻信息管理界面

4.3.2新闻分类管理界面

第5章 系统测试

5.1系统测试的目的

5.2 系统测试用例

5.3 系统测试结果

第6章 总结与展望

参考文献

致谢

  1. 绪论
    1. 研究背景与意义

新闻发布及管理系统的设计与实现,其研究背景与意义深远且广泛。在信息化、数字化的时代背景下,新闻的传播方式、速度和范围都发生了翻天覆地的变化。传统的新闻发布和管理方式已经无法满足现代社会的需求,尤其是在快速、准确、高效地发布和管理新闻内容方面,显得力不从心。

随着互联网和信息技术的飞速发展,新闻行业正面临着前所未有的挑战和机遇。新闻发布及管理系统的出现,正是为了解决这些挑战,把握这些机遇。通过构建一个功能全面、性能稳定的系统,新闻发布者能够更加便捷、高效地管理和发布新闻内容,提高新闻发布的时效性和准确性。同时,系统还能为新闻读者提供更加丰富的阅读选择和更好的阅读体验,满足他们对新闻信息的多样化需求。

此外,新闻发布及管理系统的设计与实现还具有重要的社会意义。在信息化社会中,新闻是公众获取信息、了解社会动态的重要途径。一个高效、稳定的新闻发布及管理系统不仅能够提升新闻传播的效率和质量,还能够促进信息的流通和共享,推动社会的进步和发展。

综上所述,新闻发布及管理系统的设计与实现具有重要的研究背景和意义。它不仅是对传统新闻发布和管理方式的改进和创新,更是对信息化社会的一种积极回应和贡献。通过该系统的设计与实现,我们可以更好地满足新闻发布者和读者的需求,推动新闻行业的发展和社会的进步。

    1. 国内外研究现状

新闻发布及管理系统的设计与实现,在国内外都受到了广泛关注和研究。新闻发布随着互联网的迅猛发展和信息时代的来临,新闻发布与管理的效率和准确性变得尤为重要,因此相关的系统设计和实现成为了研究的热点。

在国外,新闻发布及管理系统的研究起步较早,且已经取得了较为显著的成果。国外的研究者主要关注于系统的功能完善和性能优化,以满足新闻发布的实时性、准确性和高效性要求。同时,他们也非常注重用户体验,通过不断优化界面设计和交互方式,提高用户的使用满意度。

相比之下,国内的研究虽然起步较晚,但发展迅速。国内的研究者结合本土的新闻发布和管理特点,对系统进行了一系列的创新和改进。他们注重将先进的技术与实际应用相结合,例如利用大数据、人工智能等技术对新闻进行分类、推荐和个性化展示,提升了系统的智能化水平。

总体来说,国内外的新闻发布及管理系统研究都在不断深入和完善。然而,仍存在一些挑战和问题,如系统的安全性、稳定性、可扩展性等方面的进一步提升,以及如何更好地满足用户多样化的需求等。因此,未来的研究将更加注重系统的创新性和实用性,以期在新闻发布和管理领域取得更大的突破和进展。

综上所述,新闻发布及管理系统的设计与实现是一个全球性的研究热点,国内外的研究者都在积极探索和创新,以推动该领域的不断发展和进步。

    1. 论文组成结构

根据市场调研得到的信息数据,结合国内外前沿研究,利用相关系统开发和设计方法,最终设计出新闻发布及管理系统。

本文共有七章,如下所示。

第一章概述了新闻发布及管理系统的研究背景和意义;精炼地总结了国内外研究情况和未来的研究趋势,最后给出了论文的组成结构。

第二章简要对系统各业务流程进行需求分析、可行性分析。

第三章对新闻发布及管理系统进行设计。

第四章对新闻发布及管理系统进行实现,并贴出相关页面截图,语言描述出具体功能实现的操作方法。

第五章对新闻发布及管理系统采用测试用例的方式来对一些主要功能模块测试,最后得出测试结果。

第六章总结全文并对未来的研究做出展望。

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

在软件开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这里可以用技术的可行性,操作的可行性,经济的可行性对我们的系统进行可行性的研究。新闻发布及管理系统的可行性分析如下所示:

      1. 技术可行性

新闻发布及管理系统的设计与实现在技术上是完全可行的。现代软件开发技术,特别是SpringBoot框架的广泛应用,为快速构建功能全面、性能稳定的系统提供了坚实的基础。SpringBoot简化了开发过程,提供了丰富的功能和灵活的扩展性,使得开发团队能够高效地完成系统的设计和实现。此外,数据库技术、网络安全技术等相关领域的成熟发展也为系统的稳定运行和数据安全提供了有力保障。因此,从技术角度来看,新闻发布及管理系统的设计与实现是可行的,并且有望为新闻发布和管理带来革命性的改变和提升。

      1. 经济可行性

新闻发布新闻发布及管理系统的设计与实现,在经济上也是完全可行的。考虑到现代企业对信息化建设的重视以及新闻行业的快速发展,投资开发一套高效、稳定的新闻发布及管理系统将带来长期的经济效益。虽然初期投入可能包括软件开发、硬件购置以及人员培训等成本,但这些投入将为企业带来更高效的新闻发布流程、更低的运营成本以及更好的用户体验,进而提升企业的竞争力。同时,系统的可扩展性和可维护性也将为未来的升级和扩展提供经济上的便利。因此,从经济角度来看,新闻发布及管理系统的设计与实现是可行的,且有望为企业带来长期的收益和回报。

      1. 操作可行性

本系统是基于浏览器和服务器的新闻发布及管理系统,系统开发完成之后用户只需要在浏览器中输入正确的URL地址即可进行访问。本系统的前台页面简单明了,在没有操作指导的情况下也可以进行操作,无论是系统管理员还是用户在页面中所有的操作都是在浏览器中完成的,因此只要电脑在有网络的情况下,打开浏览器都能操作。而且在使用之前也不用进行相关的环境配置,因此本系统方便、简单、易于使用,所以该系统是容易并且可操作的。

    1. 需求分析

新闻发布及管理系统的设计与实现分为三大部分:管理员、普通用户和编辑用户。

  • 管理员功能需求如下:

登录:提供管理员登录功能,确保只有授权人员可以访问管理后台。管理员需要输入用户名和密码进行身份验证。

系统用户管理:提供对系统用户的管理功能,包括添加新用户、编辑用户信息、删除用户等操作。管理员可以设置用户权限,如编辑新闻、发布新闻等。

新闻信息管理:提供对新闻信息的管理功能,包括添加新新闻、编辑新闻内容、删除新闻、审核新闻信息等操作。

新闻分类管理:提供对新闻分类的管理功能,包括添加新分类、编辑分类信息、删除分类等操作。管理员可以设置新闻的分类,方便用户按分类浏览新闻。

系统管理:提供对系统设置的管理功能,包括轮播图管理。管理员可以设置系统首页的轮播图,提高用户体验。

公告信息管理:提供对公告信息的管理功能,包括发布新公告、编辑公告内容、删除公告等操作。管理员可以通过公告功能向用户发布重要通知和提醒。

(二)普通用户功能需求如下:

注册登录:提供用户注册功能,允许用户填写必要信息并设置登录密码。提供用户登录功能,通过输入用户名和密码进行身份验证。

公告消息:显示最新的系统公告和消息,确保用户及时了解平台动态。用户可以查看公告详情,了解公告的具体内容。

新闻信息:提供新闻列表,展示所有可公开的新闻内容。提供新闻详情页面,用户可以查看新闻的详细内容。提供新闻分类浏览功能,用户可以根据兴趣选择不同的新闻分类。

我的账户:提供用户个人账户信息查看功能,包括头像、昵称、密码修改等。

个人中心功能:

提供个人首页,展示用户个人收藏的新闻、浏览记录等。

提供收藏功能,用户可以将感兴趣的新闻添加到收藏夹,方便随时查看。

(三)编辑用户功能需求如下:

登录:提供编辑用户登录功能,确保只有授权的编辑人员可以访问管理后台。编辑用户需要输入用户名和密码进行身份验证。

新闻信息管理:提供对新闻信息的管理功能,包括添加新新闻、编辑新闻内容、删除新闻等操作。编辑用户可以设置新闻的标题、作者、摘要、内容、发布时间等。

编辑用户可以对已发布的新闻进行编辑和修改。

新闻分类管理:提供对新闻分类的管理功能,包括添加新分类、编辑分类信息、删除分类等操作。编辑用户可以设置新闻的分类,方便用户按分类浏览新闻。

    1. 系统用例分析

通过2.2功能的分析,得出了系统的用例图:

普通用户角色用例如图2-1所示。

图2-1普通用户用例图

编辑用户角色用例如图2-2所示。

图2-2编辑用户用例图

管理员角色用例如图2-3所示。

图2-3管理员用例图

    1. 系统流程分析

1)增加数据流程

系统中的所有用户(管理员、普通用户和编辑用户)都可以实现增加数据功能,图2-4显示的就是在增加数据时的流程。

图2-4增加数据流程图

2)修改数据流程

在录入系统信息的时候如果信息有错,可以对系统中的数据进行编辑。图2-5显示的就是修改数据的流程。

图2-5修改数据流程图

3)删除数据流程

在系统中经常会出现一些过期的数据,那就可以直接删除这些数据,图2-6就是删除数据时的流程图。

图2-6删除数据流程图

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

由于本系统在逻辑事务处理方面对数据库的操作比较频繁所以系统在底层连接数据库时并没有使用原生的JDBC,而是把JDBC进行了封装,封装之后相当于一个连接数据库的工具DB UTIL,这样使用起来会更加方便而且这样进行封装还可以降低系统中代码的冗余,当我们需要连接和使用数据库时只需要调用这个工具里面的一个方法就可以了。而且通过封装可以把对数据库的操作独立起来,当需要连接不同种类的数据库时只需要加以修改就可以达到目的。

DAO层本来并无这个类,它只是java中MVC构造里的一个model概念,主要就是里面的一些方法,而这些方法就是用来访问数据库的方法。我们在软件开发时DAO层我们一般都放接口和接口的实现类,用于来规范实现类的我们叫它接口,实现类重点用于对数据库的操纵。

MVC是一种系统研发的关键模型,M是Model模型,它是系统内部关键程序运行的核心,主要进行对数据库的各种操作。视图View是V也叫做视图,主要的作用是对一些数据进行显示。控制器Controller 是C执行从View的视图层来读取数据,然后控制用户的输入。

系统架构如下图所示。

图3-1系统架构图

    1. 系统功能结构

进入系统后首先要进行登录,验证你的身份,赋予你不同的权限。当你成功登录后,页面会有多个板块,分别是后台首页、系统用户、新闻信息管理、新闻分类管理、系统管理(轮播图)、公告信息管理。里面界面简单易懂,根据标示可以直接进行方便快捷的操作。

系统功能结构图如下所示。

图3-2系统功能结构图

    1. 数据库设计

一个好的系统它的后台数据库一定要考虑的全面,这和我们建造房子一个概念,房子不是随心所欲建起来的,一切都是在合理设计的基础是实现的,地基打牢固了房子才能建的更高。数据库如果设计的很合理,而且每个方面都能考虑到了那么这个系统才能不会出现大的问题。

一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,要结合实际情况来对数据库进行针对性的开发设计。

      1. 数据库E-R图设计

新闻发布及管理系统采用的是mysql数据库,数据存储快,因为新闻发布及管理系统,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确,

系统的主要实体间关系E-R图如下图所示。

图3-3系统E-R图

      1. 逻辑结构设计

此环节把概念转变成数据。由于整个数据库所处理的信息过多,就只展示以下几个表。

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

表edit_users (编辑用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

edit_users_id

int

10

0

N

Y

编辑用户ID

2

personnel_name

varchar

64

0

Y

N

人员姓名

3

gender_of_personnel

varchar

64

0

Y

N

人员性别

4

age_of_personnel

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

更新时间

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

表news_classification (新闻分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

news_classification_id

int

10

0

N

Y

新闻分类ID

2

news_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

更新时间

表news_information (新闻信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

news_information_id

int

10

0

N

Y

新闻信息ID

2

title_name

varchar

64

0

Y

N

标题名称

3

news_type

varchar

64

0

Y

N

新闻类型

4

cover_photo

varchar

255

0

Y

N

封面图片

5

edit_users

int

10

0

Y

N

0

编辑用户

6

personnel_name

varchar

64

0

Y

N

人员姓名

7

release_date

date

10

0

Y

N

发布日期

8

news_detail

longtext

2147483647

0

Y

N

新闻详情

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

examine_state

varchar

16

0

N

N

未审核

审核状态

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表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

更新时间:

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

varchar

64

0

Y

N

用户年龄

4

user_gender

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

更新时间

表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

更新时间:

  1. 系统实现
    1. 普通用户模块的实现

4.1.1 前台首页界面

进入系统首页,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是新闻信息推荐,其主界面展示如下图所示。

图4-1 前台首页界面图

4.1.2 用户注册界面

用户注册:当用户想要进入系统中对信息进行查看的时候,就必须要登录到系统当中,要是新的用户没有系统的账号的话,点击“注册”按钮,就会进入到新用户注册这个界面上,用户输入对应的账号(必须填写)+密码(必须填写)+确认密码(必须填写,而且要与密码一直)+昵称+邮箱+性别+年龄+联系电话+选择用户身份等等,然后点击“注册”,系统在用户这一数据库中会查询账号是不是存在,两次密码是不是一样,都填写正确就会注册成功,然后再进行登录,如果是之前已经注册过的用户很长时间没有使用,忘记密码,也可以点击“忘记密码”进行找回。用户注册界面如下图所示。

图4-2 用户注册界面图

注册代码如下:

public String encryption(String plainText) {

        String re_md5 = new String();

        try {

            MessageDigest md = MessageDigest.getInstance("MD5");

            md.update(plainText.getBytes());

            byte b[] = md.digest();

            int i;

            StringBuffer buf = new StringBuffer("");

            for (int offset = 0; offset < b.length; offset++) {

                i = b[offset];

                if (i < 0)

                    i += 256;

                if (i < 16)

                    buf.append("0");

                buf.append(Integer.toHexString(i));

            }

            re_md5 = buf.toString();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return re_md5;

}

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.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.4 公告消息界面

显示最新的系统公告和消息,确保用户及时了解平台动态。用户可以查看公告详情,了解公告的具体内容。公告消息界面如下图所示。

图4-4公告消息界面图

4.1.5 新闻信息界面

当用户点击“新闻信息”这一菜单按钮,会显示管理员在后台发布的所有的新闻信息,支持通过关键词对新闻信息进行搜索,选择需要的新闻信息点击可以进入到新闻信息详细的介绍界面,同时可以进行点赞、收藏和评论,新闻信息界面如下图所示。

图4-5新闻信息界面图

    1. 管理员功能模块的实现 

4.2.1 管理员登录界面

管理员进入到系统登录界面,需要填写正确的登录名、密码和验证码等信息输入准确无误后登录进入到系统操作界面。管理员的账号是在数据表表中直接设置生成的,不需要进行注册;修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。管理员登录界面如下图所示。

图4-6管理员登录界面图

4.2.2 管理员功能界面

管理员可以查看后台首页、系统用户、新闻信息管理、新闻分类管理、系统管理(轮播图)、公告信息管理等,并且可以根据需要进行相应的操作。管理员功能界面如下图所示。

图4-7管理员功能界面图

4.2.3 系统用户管理界面

管理员可以对系统中所有的用户角色进行管控,包含了管理员、普通用户、编辑用户这三种角色,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户。系统用户管理界面如下图所示。

4-8系统用户管理界面图

4.2.4新闻信息管理界面

提供对新闻信息的管理功能,包括添加新新闻、编辑新闻内容、删除新闻和审核等操作。新闻信息管理界面如下图所示。

图4-9新闻信息列表管理界面图

图4-10新闻信息添加管理界面图

4.2.5 系统管理界面

管理员可以对系统前台展示的轮播图进行增删改查,方便用户进行查看。系统管理界面如下图所示。

图4-11系统管理界面图

轮播图添加代码:

@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.6公告消息管理界面

管理员可以对系统前台展示的通知公告进行增删改查,方便用户进行查看。公告消息管理界面如下图所示。

图4-12公告消息管理界面图

    1. 编辑用户模块的实现

4.3.1 新闻信息管理界面

提供对新闻信息的管理功能,包括添加新新闻、编辑新闻内容、删除新闻等操作。

编辑用户可以设置新闻的标题、作者、摘要、内容、发布时间等。编辑用户可以对已发布的新闻进行编辑和修改。新闻信息管理界面如下图所示。

图4-13新闻信息列表界面

图4-14新闻信息添加界面

4.3.2新闻分类管理界面

提供对新闻分类的管理功能,包括添加新分类、编辑分类信息、删除分类等操作。

编辑用户可以设置新闻的分类,方便用户按分类浏览新闻。新闻分类管理界面如下图所示。

图4-15新闻分类列表界面图

图4-16新闻分类添加界面图

  1. 系统测试

5.1系统测试的目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统测试用例

系统测试包括:用户登录功能测试、公告消息查看功能测试、新闻信息添加、新闻信息搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:

用户登录功能测试:

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

用例名称

用户登录系统

目的

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

前提

未登录的情况下

测试流程

1) 进入登录页面

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

预期结果

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

实际结果

实际结果与预期结果一致

公告消息查看功能测试:

表5-2公告消息查看功能测试表

用例名称

公告消息查看

目的

测试公告消息查看功能

前提

用户登录

测试流程

点击公告消息列表

预期结果

可以查看到所有公告消息

实际结果

实际结果与预期结果一致

管理员添加新闻信息界面测试:

表5-3 管理员添加新闻信息界面测试表

用例名称

新闻信息添加测试用例

目的

测试新闻信息添加功能

前提

管理员正常登录情况下

测试流程

1)管理员点击新闻信息添加,填写信息。

2)点击进行提交。

预期结果

提交以后,新闻信息列表会显示新的新闻信息

实际结果

实际结果与预期结果一致

新闻信息搜索功能测试:

表5-4新闻信息搜索功能测试表

用例名称

新闻信息搜索测试

目的

测试新闻信息搜索功能

前提

测试流程

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

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的新闻信息

实际结果

实际结果与预期结果一致

密码修改功能测试:

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

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

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

测试流程

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

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.3 系统测试结果

通过编写新闻发布及管理系统的测试用例,已经检测完毕用户登录模块、公告消息查看模块、新闻信息添加模块、新闻信息搜索模块、密码修改功能测试,通过这5大模块为新闻发布及管理系统的后期推广运营提供了强力的技术支撑。

  1. 总结与展望

新闻发布及管理系统的整体功能模块的实现,不仅是对我大学期间所学知识的综合运用与检验,更是一次实践能力的锻炼和提升。该系统以智能化为核心,通过实现新闻发布、管理、数据信息的增删改查等功能,有效解决了当前新闻发布及管理系统所面临的诸多问题。

经过一个学期的努力,我的毕业设计——新闻发布及管理系统的开发工作已接近尾声。在这个过程中,我主要采用了SpringBoot+Vue框架,并结合Mysql数据库进行开发。通过不断调试和优化,系统已基本满足功能要求,实现了预期目标。

这次系统开发的经历对我而言意义非凡。它不仅让我深入了解了计算机知识的相关技术问题,还锻炼了我的沟通交流和团队协作能力。我意识到,无论面对何种挑战和困难,只要我们坚持不懈、勇于尝试,就一定能够取得成功。同时,这次实践也让我更加明白,理论知识与实际操作相结合的重要性,以及不断学习和进步的必要性。

展望未来,新闻发布及管理系统的应用前景广阔。随着信息技术的不断发展和普及,新闻行业对高效、智能的发布与管理系统的需求将日益增加。因此,我将继续关注行业动态和技术发展,不断完善和优化系统功能,提升用户体验和安全性。同时,我也将积极探索将更多先进技术应用于系统中,以推动新闻发布及管理领域的创新与发展。

总之,新闻发布及管理系统的设计与实现是我大学生活中一次宝贵的经历。它让我收获了知识、技能和成就感,也让我对未来充满了信心和期待。我相信,在未来的道路上,我将继续努力学习、不断进步,为实现自己的梦想和目标而努力奋斗。

参考文献

[1]Insani N ,Ridhoi R ,Hidajat G H , et al.Pro-Environmental Tourism: Lessons Learned from Adventure, Wellness and Eco-tourism in Padusan Village, Mojokerto, East Java[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):

[2]Annisa F L ,Umi L .Accuracy of Antenatal Visits in West Java Province: Comparison between Rural and Urban Areas Data Analysis of the Indonesian Demographic and Health Survey 2017[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):

[3]Acintya R ,Kinanthi D H ,Kuncoro B A , et al.Impact of Rice Field Conversion on the Availability of Rice in Banyumas Regency, Central Java Province[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):

[4]Utami W B ,Hariadi S S ,Raya B A .The Paradox of Farmers in Response Agricultural Land Conversion to National Strategic Development Policies in Central Java[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):

[5]Hanindityasari L ,Auliyani D ,Wahyuningrum N , et al.Reducing the Susceptibility of Flood Supplier Areas in Gondang Micro-Catchment, Bojonegoro, East Java Province: a Flood Disaster Mitigation Effort[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):

[6]徐少军,李宗哲,梅杰,等.基于Springboot+Vue框架的质量检验监督管理系统研发[J].纺织标准与质量,2024,(01):11-14+21.

[7]雷欣,马宏琳,郑霖,等.基于SpringBoot的域名信息系统设计与实现[J].电脑知识与技术,2024,20(05):44-47.DOI:10.14004/j.cnki.ckt.2024.0188.

[8]石雨昕,关家兴,邹博华,等.基于SpringBoot微服务架构设计与实现实验室开放课题管理系统[J].实验室检测,2024,2(01):101-106.

[9]蒋先梅.基于MVC模式的新闻管理系统的设计与实现[J].无线互联科技,2023,20(11):77-79.

[10]和占全,李晓明,冯汝结,等.基于信创的互联网新闻数据信息安全管理系统的设计与实现[J].网络安全技术与应用,2023,(03):94-96.

[11]徐晓君,朱成校.新闻系统的设计与实现[J].中国新通信,2022,24(18):61-63.

[12]党三玲.基于数字媒体的新闻信息采集与发布系统[N].科学导报,2022-09-16(B03).DOI:10.28511/n.cnki.nkxdb.2022.000318.

[13]周世兰,新闻文章内容编辑发布系统V1.0.重庆市,重庆亿坤科技有限公司,2021-12-26.

[14]王强.全媒体新闻发布平台的规划设计与建设实践[J].广播与电视技术,2021,48(12):44-49.DOI:10.16171/j.cnki.rtbe.20210012006.

[15]梁宽宏.基于MVC架构的校园新闻发布管理系统[J].电子世界,2021,(18):182-183.DOI:10.19353/j.cnki.dzsj.2021.18.078.

[16]闫慧珍.基于数据爬取的新闻宣传信息系统的设计与实现[D].中北大学,2021.DOI:10.27470/d.cnki.ghbgc.2021.000936.

[17]李宗毅.基于WEB的校园新闻发布系统设计与实现[J].电脑知识与技术,2021,17(10):87-89.DOI:10.14004/j.cnki.ckt.2021.1044.

[18]牛怀岗,林关成.基于SSM框架的新闻发布管理系统设计与实现[J].现代电子技术,2020,43(21):127-131.DOI:10.16652/j.issn.1004-373x.2020.21.030.

[19]张立新.基于Android的新闻智能发布及管理系统[J].电脑编程技巧与维护,2020,(05):69-72.DOI:10.16184/j.cnki.comprg.2020.05.024.

[20]韩旭.基于WEB的新闻管理系统的设计与实现[J].电子世界,2020,(03):204-205.DOI:10.19353/j.cnki.dzsj.2020.03.118.

致谢

经过几个月时间的努力终于完成了这篇文章,在文章的写作与研究的过程中遇到了很多困难,都在同学和老师的帮助下解决了。尤其非常感谢我最敬爱的老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行文章的修改。老师严谨的治学态度、渊博的学术知识、诲人不倦的敬业精神以及宽容的待人风范使我获益颇丰。此外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此,向帮助和指导过我的老师表示最衷心的感谢!感谢这篇文章所涉及到的各位学者。本文引用了数位学者的文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇文章的写作。感谢我的同学和朋友,在我写文章的过程中给与了我很多素材和帮助,还在文章的撰写和排版过程中提供热情的帮助。同时,感谢我的室友对我的热心指导和帮助,经常有不懂之处都是大家在帮助我,才使得我比较顺利的完成了这篇文章。由于我水平有限,所写文章难免有不足之处,恳请各位老师和学友批评和指正!

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~