基于SpringBoot的新闻发布与管理系统的设计与实现毕业论文Word文档格式.docx
- 文档编号:20293674
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:26
- 大小:4.06MB
基于SpringBoot的新闻发布与管理系统的设计与实现毕业论文Word文档格式.docx
《基于SpringBoot的新闻发布与管理系统的设计与实现毕业论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于SpringBoot的新闻发布与管理系统的设计与实现毕业论文Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
ThisgraduationprojectmainlyusestheB/sdesignmode,basedonspringboot+Vue+MySQLtechnologytodevelopanewsreleaseandmanagementsystem.Thesystemrealizesthefollowingfunctions:
1.UserscanbrowsethenewsinVIsystem.2.Newsmanagerscanreleasenews.3.Userscancomment,gradeandcollectnews.
Keywords:
pressreleasemanagementB/SspringbootMySQLpermissioncontrol
第一章绪论
1.1课题研究的意义
设计新闻与管理系统的目的是为了打造一个真实可靠的信息平台,随着全球化的发展,人们知识的获取渠道越来越多,从1G到4G通信技术,还有近期将要普及的5G通信技术,科学研究不断地冲击着无线通信技术的创新,使人们获取新闻的方式越来越多元化,简单化,人们可以从报纸、电脑,还有手机浏览新闻,人们获取新闻信息的途径越来越便利,但无论怎么变化,新闻的基本特性并没有改变,真实性仍然是新闻传播的重要原则,但在当今时代下,一些新闻传播者为了博人眼球,各种层出不穷的“标题党”,以及各种良莠不齐的信息,人们在搜索新闻的同时还要费巨大的精力去筛选有用的信息,去判断新闻的真实性,这无疑会浪费读者许多的时间,造成互联网上充斥大量的负能量信息,不利于新闻传播的发展,对此本文探讨的是如何打造一个具有真实性、准确性、时效性、开放性、广泛性以及趣味性的新闻平台。
1.2课题研究的目的
新闻发布与管理系统,也被人们成为信息发布与管理系统,目的是将全国甚至全世界的重要即时信息进行搜集,并对其进行集中管理,然后根据某些规则,例如时间,新闻类型或者是根据地域进行处理,最后对其系统化地进行分类化,标准化,最后通过将其发布到系统上,进而在网络进行传播的一种网络程序。
此系统发布新闻需要先准备好新闻的内容与标题,如果想让新闻更加生动,还需要准备图片或者音频,然后管理员只需要把新闻排好版,图片位置调整,点击发布,一篇新闻就能够简单的发布到网站上,它的出现能够让网站的平均维护量降低,让管理员能够更专注于新功能的开发,这无疑将使网站的更新速度提升,后续对数据库的优化也能够减小服务器的负担。
1.3课题研究的主要内容
通过将这次课题的实现,我们能为新闻管理者提供一个快捷,方便,即时的管理平台,为用户提供一个真实,可靠,能够查看以及评论新闻的平台。
通过对这一课题的思考和研究,可以了解项目的背景和意义,这对于实现系统功能来说是非常有必要的。
除此之外,还能够分析用户到底需要什么。
不仅能够验证这个项目的可行性,还能提前评估系统上线后的大概情况。
同时,本系统必须有权限管理模块,明确声明不同主体拥有不同的权限。
同时,为了系统的安全,需要设置权限和加密数据。
最后对系统业务进行了描述,给出了系统的功能模块图和流程图,供设计和实现时参考。
第二章系统开发技术介绍
2.1SpringBoot技术介绍
SpringBoot是由Pivotal团队开发的全新的开源开发框架[1],从诞生初期它就着有明确的目的,简化应用Spring开发项目.最突出的特点是配置方式,大大简化了Spring应用各个方面的配置.另外SpringBoot能够集成大量的框架,解决了之前很重要的项目之间包的版本依赖和稳定性问题.同时有了SpringBoot使Springcloud众多的组件项目得以良好地被应用,从而改变了web应用的开发模式。
2.2Vue技术介绍
Vue.js是时下非常流行的一种WEB前端开发技术,这种技术是基于MVVM架构的模式[2],而这种MVVM架构模式是一种新型的模式,它只要是在经典的MVC模式上衍生出来的[3],具有响应式的数据绑定:
当数据发生改变,视图可以自动更新,可以不用关心dom的操作,专心数据操作的优点。
2.3MySQL数据库介绍
MySQL数据库是一个小型关系型数据库管理系统,已被广泛应用于因特网上中小型企业。
[4]它具有功能强、使用简便、管理方便、运行速度快、安全可靠强等优点,用户可利用许多语言编写访问MySQL数据库的程序。
[5],关系型数据库的特点是将数据保存在不同的表中,再将这些表放入不同的数据库中,而不是将所有的数据统一放在一个大仓库里,这样的设计加快了MySQL的读取速度,而且它的灵活性和可管理性也得到了很大的提高,访问及管理MySQL数据库的最常用标准化语言为SQL——结构化查询语言,SQL使得对数据库进行存储、更新和存取信息的操作变得更加容易。
[6]
2.4shiro安全框架介绍
在一个系统中,会有许多用户,每个用户又分别拥有着不同的角色,这些可以是一对多,也可能是多对多,同时不同的角色也拥有不同的职责,用户在操作系统的时候会判断用户的身份,然后给予用户相应的权限,这种工作是非常繁琐的,因此使用安全框架是非常好的一个选择,开发人员能够更加专注于业务开发,而shiro框架就能解决这个问题,首先,shiro小巧,但是功能却十分强大,能实现当用户登录是,会读取角色表的信息,判断用户角色,这就是身份验证,当用户登录成功后,会根据角色查询权限表,赋予角色增、删、查、改等权限,用户登录成功后,需要保存一些数据,例如记住用户名、用户密码等等,这时候就可以用到会话管理的功能,除了这些功能,shiro还能对数据进行加密、网络支持、缓存数据,测试等等。
2.5JSONWebToken(JWT)技术介绍
前后端分离是目前越来越主流的趋势,而前后端分离就会面临着跨域的问题,这会让身份验证的方法越来越困难,也越来越复杂,而JWT就是解决这一个问题而出现的,它能够让用户不通过redis的验证,而使用之前登录保存的信息来判断token来实现单点登录,使用JWT可以节省处理前后端分离导致的跨域问题的时间和精力。
第二章系统分析
3.1可行性分析
3.1.1经济可行性
成本评估是开展项目前的最重要的工作,它可以评估这个项目的开展是否存在问题,也就是经济可行性,从这个方面去分析,系统架构并不复杂,因此对服务器的性能要求较小,在数据存储方面,使用MySQL是一个很高的选择,因为它在处理少量或重量的数据时极大的体现并且发挥其速度快的特色优点。
而且MySQL简单容易操作,相比于Oracle、PGSQL等其他类型的数据库,它更加简单,高效,能够减少数据库管理员的工作量,初次以外,开源版本的数据库已经能够满足系统的日常工作。
所以,在经济层面上完全不存在问题。
同时,许多大网站例如腾讯、搜狐登互联网社交网站都会为用户提供新闻栏目,各大高校和一些自媒体网站都会发布关于企业或者是国家的新闻,由此可以得出一个结论:
互联网新闻信息对于现在人来说是不可缺少的,因此使用频率会特别高,如果使用传统的静态页面技术来进行网站开发的话,后续对于开发人员的维护成本是十分高昂的,繁琐的,因为系统管理员需要每个页面写js、css的文件,十分繁琐,而如果使用Vue.js开发的话则能够省去大量时间去复写组件,将开发成本大大降低。
后续系统管理员只要将事先准备好新闻的标题,新闻需要用到的图片,新闻的正文部分就能够将一篇新闻发布到网站,减少了管理员重复多余的工作。
3.1.2技术可行性分析
从技术角度上分析,此系统采用SpringBoot作为框架,可以快速搭建开发环境,同时用maven进行控制依赖,减少了引入包的大量时间,用vue能够快速搭建前端框架,前后端分离能够让人们集中精力与前端开发或者后端开发,同时也减少了系统的耦合度,从技术可行性角度来看,这是绝对可行的。
3.2系统性能需求分析
该系统的最终目标是用户能够通过电脑,手机浏览器对新闻进行浏览,评论,转发等功能,因此,在处理新闻的信息的时候,不必对新闻的查看进行权限的设置,但是在其他功能上,例如新闻评论,转发则需要用户进行注册后才能进行这些操作。
同时,该系统也应该满足以下需求:
(1)交互界面设计应该简单明了,能够让用户快速上手。
(2)前端新闻展示应该具备新闻的搜索功能,用户能够根据对莹关键字进行搜索。
(3)该系统应该具备较高安全性。
(4)即使发布,能够将最新的新闻即使发布出去,体现新闻的时效性。
(5)该系统的前端运行速度上应该能够很快对用户的操作进行反馈,后端的运行应该要跟上前端的速度,不超时。
3.3系统功能需求分析
图3-1系统模块图
工作流程如下:
用户注册时,系统会根据用户输入的用户名,密码以及二次密码,检验数据的唯一性,首先系统会查询数据库是否有相同的用户名,首先系统会进行账号是否有人注册过的验证,如果是不唯一的话需要更改名称,没有则通过注册,当未查询到有相同用户名时,此时,用户完成注册,填写过的这些信息将存入用户表中。
此时用户输入账号与密码进行登录,若查询到有对应的用户名(username),密码(password)时,即是代表数据库中已经存在此条数据,这时完成登录功能。
用户在搜索栏中输入自己想要搜索的内容,如果输入的文字里面有新闻表相关的信息,系统会输出所有包含这个关键字的新闻并显示在新闻列表中,并且根据热度(likes)按顺序进行排序。
用户根据不同的新闻分类对新闻进行浏览,用户点开不同的新闻类别,根据新闻的标题(title)与封面(pucture)对新闻本身的内容有个大概印象,用户能够根据不同类别的新闻来浏览自己感兴趣的新闻。
管理员进行新闻发布的功能操作,新闻表中有新闻类型(type),管理员能够根据需求添加到对应的新闻类别中去。
而新闻类型(type)与新闻类型表(newtype)是相关联的。
新闻能够根据新闻类别(type)字段找到所属的新闻栏目。
管理员能够对不符合规则,不符合国情或者是不符合新闻真实性的新闻内容进行删除。
用户能够对新闻进行评论,说出他们自己的看法
用户能够对自己喜欢或者感兴趣的新闻进行点赞。
管理员能够查询某一条评论,获取当前评论的内容,点击删除,评论就会从页面显示中消失,但是评论本身并不会删除,而是根据状态(status)判断显示与否(0:
显示,1删除)。
第三章系统设计
4.1系统总体设计
此系统总体设计主要是把系统的大功能模块拆分为一个个小功能模块,使系统耦合度降低。
系统功能模块的拆分要注意拆开的功能模块之间的关系,这样才能够组成一个高效率、速度快的系统。
这需要全面考虑管理需要和系统开发。
各模块应相互独立,并留有适当的接口,便于今后功能的扩展和完善。
新闻发布及管理系统将开发和设计的模块按照以下几类划分:
(1)新闻管理,管理员能够将编辑好的新闻进行添加、查询、更新和删除等。
新闻分类管理,按照新闻的类别分别实现添加,查询,更新和删除的功能等。
(2)新闻评论管理,系统管理员能够对用户发表的评论进行删除。
新闻查询,用户和管理员能够按照新闻类别和新闻发布时间对新闻进行查询和浏览。
(3)新闻用户管理,管理员能够对用户进行添加用户,删除用户和修改用户信息,冻结用户账号等操作。
(4)新闻评论管理,系统管理员能够对用户发表的评论进行删除。
下面是系统的模块图:
图4-1功能模块图
4.2系统模块设计
此新闻网站包含以下6个部分:
(1)用户模块:
普通用户即是对新闻部具有管理功能的用户,该模块下的用户具有浏览新闻、搜索新闻、新闻收藏、对新闻进行评论等操作。
(2)新闻信息模块:
新闻管理员在该模块下能够对新闻进行添加,修改,查看,删除等操作。
(3)新闻类别模块:
该模块下管理员能够对新闻类别进行添加,查看,修改,删除等操作。
除此之外,当新闻条数过大的时候,管理员能够使用关键字查找新闻,或者根据新闻类别查找对新闻进行模糊查询。
(4)新闻评论模块,管理员能够查看用户评论以及评论时间,如果一些评论不符合规定,能够对评论进行删除。
(5)用户登录模块,用户能够进行登录操作
(6)在线音乐模块,用户能够在页面上听音乐。
4.3业务描述
首先,使用此网站的对象有两种,一种是看新闻的用户,也就是普通用户,另一种就是,普通用户又分为两类:
非注册用户和注册用户,非注册用户能够通过用户注册的操作从而成为此系统的正式用户,也叫注册用户,登录系统后的注册用户,面对庞大的新闻信息,能够对新闻按照自己的喜好进行对新闻的搜索,查看以及对自己喜欢的新闻进行评论,点赞等操作,如果新闻不符合真实性,用户还能够对新闻进行举报,管理员会勘测此新闻是否不符合规定,对不符合规定的新闻进行删除。
在此系统中会有唯一一个超级管理员(superadmin),管理员在通过用户名(username)和密码(password)的检验后登录此系统,这是超级管理员能够在后台进行一系列操作。
例如,管理员能够对系统的新闻分类以及对应类别下的新闻信息进行新增、查询、编辑、删除等操作。
同时,超级管理员能够对注册用户以及注册用户的评论进行管理。
系统流程:
从全局上看,不论是管理员或者是普通注册用户,都能对新闻进行浏览,系统会验证登录账号的权限,如果是管理员(admin)或者超级管理员(superadmin),则在主页面上进入后台登录页面,重新输入账号密码,进入管理员页面,然后管理员就可以对新闻进行管理,如果只是普通用户则只能够对新闻进行评价。
新闻发布与管理系统业务流程图:
图4-2业务流程图
4.4数据库的设计
4.4.1数据库的配置
不管是新闻系统,或者是其他系统,数据库永远担任着最重要的角色如果数据是一个系统的血液,那么数据库就是系统的心脏,因此数据库的设计决定着这个系统的健壮性,合理的数据库设计既能够减少日常维护的麻烦,又可以加快系统的运行速度,是数据能够更快展示在用户面前。
因此,设计一个合理又结构明了的数据库,能够在保证数据的完整性、一致性以及安全性的基础要求上尽可能提高存储效率以及读取效率。
数据库的配置:
使用SpringBoot连接数据库是十分方便,下面是SpringBoot连接的过程:
(1)在pom.xml里面引入mysql-connector-java.jar
(2)在配置文件里面添加配置。
application.properties是springboot唯一需要的属性配置文件,在里面能够添加你想要的属性,包括变量,常量和其他一些项目属性。
(3)运行SpringApplication程序,这是就能够成功连接数据库了。
4.4.2数据库概念结构设计
E-R图是数据概念模型的整体结构理念,这最终将展示为实体-关系模型。
建立实体-关系模型的目的是将抽象的数据具体化,把关系模式进行转换。
新闻系统E-R图如下图所示:
图4-3系统E-R图
4.4.3数据库逻辑结构设计
在系统开发前要做好所需要的需求分析,设计一个合理的数据库,避免数据库后续有太大的改动从而加大后续维护的工作量。
第一步需要对系统的数据库进行逻辑结构模型设计,我设计了以下八个表的逻辑结构:
角色表(角色代号主键、角色名称)
权限表(主键、父权限主键、权限代号(规范权限标识)、代码控制权限标识符、权限名称、权限类型(1:
权限2:
业务操作)、权限的序号、权限地址)
角色-权限表(主键、角色代号、权限代号(规范权限标识))
操作日志表(主键、日志描述、方法参数、用户主键、类名称、方法名称、ip地址、创建时间、模块名称、密码)
用户表(用户主键、用户名、邮箱、电话号码、头像、状态值(1:
启用,2:
禁用,3:
删除)、身份)
新闻表(新闻主键、新闻标题、新闻内容、新闻作者、新闻原作者、新闻类型、新闻标签、新闻链接、封面图链接)
新闻类别表(主键、类别名称)
评论表(评论主键,父主键,新闻主键、用户主键、评论日期、点赞数)
第二步是根据E-R来进行数据表的创建,数据库有角色表、权限表角色-权限表、操作日志表、用户表、新闻类别表、新闻表、评论表等7张表
表4-1用户表
名称
类型
长度
小数点
是否null
主键
注释
user_no
varchar
50
否
是
用户主键
user_name
20
用户名,账号
password
用户密码
35
邮箱
mobile
11
手机号码
create_time
Date
创建时间
avatar
80
头像路径
sex
char
2
性别
midified_time
修改时间
status
int
状态
access
身份名称
表4-2角色表
role_code
角色代号主键
role_name
角色名称
表4-3用户-角色表
user_to_role_id
用户编号
角色代号
表4-4日志表
operation_log_id
log_description
64
日志描述
action_args
300
方法参数
class_name
类名称
method_name
方法名称
ip
32
主机ip
model_name
模块名称
action
操作
succeed
是否成功
message
longtext
异常信息
表4-5菜单(权限)表
menu_id
parent_id
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SpringBoot 新闻 发布 管理 系统 设计 实现 毕业论文