springboot+校园新闻数据化系统-计算机毕设 附源码99293
springboot+校园新闻数据化系统
目 录
摘要 1
1 绪论 1
1.1研究目的和意义 1
1.2选题背景和意义 1
1.3系统开发技术的特色 1
1.4springboot框架介绍 1
1.5论文结构与章节安排 2
2校园新闻数据化系统 系统分析 3
2.1 可行性分析 3
2.2 系统流程分析 3
2.2.1数据增加流程 3
2.3.2数据修改流程 4
2.3.3数据删除流程 4
2.3 系统功能分析 4
2.3.1 功能性分析 4
2.3.2 非功能性分析 5
2.4 系统用例分析 6
2.5本章小结 7
3校园新闻数据化系统 总体设计 8
3.1 系统架构设计 8
3.2 系统功能模块设计 8
3.2.1整体功能模块设计 9
3.2.2用户模块设计 9
3.2.3评论管理模块设计 10
3.2.4意见反馈管理模块设计 10
3.3 数据库设计 10
3.3.1 数据库概念结构设计 10
3.3.2 数据库逻辑结构设计 15
3.4本章小结 18
4校园新闻数据化系统 详细设计与实现 19
4.1用户功能模块 19
4.1.1 前台首页界面 20
4.1.2 用户登录管理界面 23
4.1.3用户注册管理界面 25
4.1.4新闻资讯界面 27
4.1.5交流论坛界面 28
4.1.6学校荣誉详情界面 28
4.2管理员功能模块 29
4.2.1 用户管理界面 29
4.2.2 资源管理界面 30
4.2.3 交流管理界面 31
4.2.4 模块管理界面 32
5系统测试 33
5.1系统测试的目的 33
5.2 系统测试用例 33
5.3 系统测试结果 34
结论 35
参考文献 36
致谢 37
科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设校园新闻数据化系统。
本设计主要实现集人性化、高效率、便捷等优点于一身的校园新闻数据化系统,完成视频分享、学校荣誉、意见反馈、公告数据、论坛数据、新闻数据等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。校园新闻数据化系统 使用Java语言,采用基于 MVVM模式的springboot技术进行开发,使用 Eclipse 2017 CI 10 编译器编写,数据方面主要采用的是微软的MySQL关系型数据库来作为数据存储媒介,配合前台HTML+CSS 技术完成系统的开发。
关键词:校园新闻数据化系统;Java;MySQL;springboot框架
Abstract
The rapid development of science and technology has caused tremendous changes in people's daily lives. The rapid development of electronic information technology has made the application level of electronic information technology in various fields popular and applied. The arrival of the information age has become an irresistible fashion trend, and the history of human development is entering a new era. In practical application, the working rules and development steps of the application software adopt Java technology to build a campus news data system.
This design mainly implements a campus news data system that integrates the advantages of humanization, efficiency, and convenience, and completes functional modules such as video sharing, school honors, opinion feedback, announcement data, forum data, and news data. The system communicates with the server through a browser to achieve data interaction and change. This system improves work efficiency and reduces errors and omissions in data storage through scientific management methods and convenient services. The campus news datalization system uses Java language, uses spring boot technology based on MVVM mode for development, and uses Eclipse 2017 CI 10 compiler for writing. In terms of data, it mainly uses Microsoft's MySQL relational database as the data storage medium, and cooperates with the front-end HTML+CSS technology to complete the system development.
Keywords: Campus news data system; Java; MySQL; Spring boot framework
1 绪论
(2)校园新闻数据化系统中的web后台管理中的前端使用的是JavaScript框架,它配合ajax和jquery可以美化页面设计。
(3)流行vue框架结合jQuery技术,在jQuery基础上扩展一些插件,通过自己定义插件更好的实现前端的设计。
(4)校园新闻数据化系统中数据库用的mysql5.7,它执行效率高。
论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:
第一章:引言。第一章主要介绍了课题研究的背景,系统开发的现状和本文的研究现状与主要工作。
第二章:系统需求分析。第二章主要从系统的用户、功能等方面进行需求分析。
第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。
第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。
2校园新闻数据化系统分析
系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。
此次项目设计参考了几个该模式下网站的开发案例,对他们的操作界面分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。
技术可行性指的是对于搭建框架的可行性,以及有更优秀的技术出现时系统的技术更新换代的纳新性如何,开发时间成本费用比如何。
现有的springboot技术能够迎合所有电子商务系统的搭建。开发这个校园新闻数据化系统 的时候我采用了springboot+MYSQL用以运行整体程序。
从开发者角度来看,springboot和MYSQL是网上开源且免费的,在知识产权方面不会产生任何法律纠纷。
从用户使用角度来看,只要不再系统上贩卖违禁品,对系统做出条约协议,杜绝非法支付即可。
业务流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。
数据修改时的流程和上面介绍的数据增加时的流程差不多,如图2-2所示。
如果系统里面存在一些没有用的数据的话,相关的管理人员还可以对这些数据进行删除,图2-3就是数据删除时的流程图。
2.3 系统功能分析
按照校园新闻数据化系统的角色,我划分为了管理员以及注册用户这两大部分。
(2)公告消息:用户可以查看后台管理员发布的公告消息,在查询到自己想要了解的公告消息的时候,可以进入查看详细的介绍。
(3)新闻资讯:用户可以查看新闻资讯信息,在查询到自己想要了解的新闻资讯的时候,可以进入查看详细的介绍进行评论、点赞、收藏操作。
(4)交流论坛:用户在交流论坛这一菜单下对用户提交的查看、同时也可以发布、评论。
(5)我的账户:在前台点击“我的”下面的“我的账户”可以对个人资料+密码修改+自己收藏的信息进行管控。
(6)学校荣誉:用户可以查看学校荣誉信息支持通过搜索关键词的方式对学校荣誉进行查询,在查询到自己想要了解的学校荣誉的时候,可以进入查看详细的介绍。
(7)意见反馈:点击“意见反馈”后跳转到意见反馈提交界面,选择反馈类型,输入标题、姓名、反馈时间、用户编号、内容描述,然后点击提交意见反馈就完成了。
(1)登录:管理员的账号是在数据表表中直接设置生成的,不需要进行注册;
(2)公告消息管理:管理员可以对系统前台展示的公告消息进行增删改查,方便用户进行查看。
(3)系统用户:当点击“系统用户”这一菜单的时候,会出现管理员+注册用户两个子菜单,管理员可以对这两个模块进行增删改查操作;
(4)资源管理:管理员可以对校园新闻数据化系统前台展示的新闻资讯以及新闻分类所属的分类进行管控。
(5)交流管理:当点击“交流管理”这一菜单的时候,会出现交流论坛+论坛分类这两个子菜单,可以对这两个模块进行增删改查操作;
(6)模块管理:在“模块管理”这一菜单下可以对系统当中的注册用户操作的所有信息进行管理,包含了视频分享、学校荣誉、意见反馈、公告数据、论坛数据、新闻数据。
校园新闻数据化系统的非功能性需求比如校园新闻数据化系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
安全性 |
主要指校园新闻数据化系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 |
可靠性是指校园新闻数据化系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 |
性能是影响校园新闻数据化系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 |
比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 |
用户只要跟着校园新闻数据化系统的页面展示内容进行操作,就可以了。 |
可维护性 |
校园新闻数据化系统 开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
通过2.3功能的分析,得出了本校园新闻数据化系统 的用例图:
图2-3校园新闻数据化系统注册用户角色用例图
web后台管理上的管理员是维护整个校园新闻数据化系统中所有数据信息的。管理员角色用例如图2-4所示。
图2-4校园新闻数据化系统管理员角色用例图
本章主要通过对校园新闻数据化系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个校园新闻数据化系统要实现的功能。同时也为校园新闻数据化系统的代码实现和测试提供了标准。
3校园新闻数据化系统总体设计
本章主要讨论的内容包括校园新闻数据化系统的功能模块设计、数据库系统设计。
本校园新闻数据化系统 从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
业务逻辑层(BLL):主要完成本校园新闻数据化系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
后台管理员能够实现对前台注册的用户增删改查操作,用户模块结构图如下图:
校园新闻数据化系统是中需要存储不少意见反馈信息,其模块功能结构,具体的结构图如下:
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
下面是整个校园新闻数据化系统中主要的数据库表总E-R实体关系图。
通过上一小节中校园新闻数据化系统 中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
表announcement_data (公告数据)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
announcement_data_id |
int |
10 |
0 |
N |
Y |
公告数据ID |
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题 |
|
3 |
announcement_type |
varchar |
64 |
0 |
Y |
N |
公告类型 |
|
4 |
statistician |
varchar |
64 |
0 |
Y |
N |
统计人 |
|
5 |
statistical_time |
date |
10 |
0 |
Y |
N |
统计时间 |
|
6 |
quantity |
int |
10 |
0 |
Y |
N |
0 |
数量 |
7 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
8 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表article_type (文章分类)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
type_id |
smallint |
5 |
0 |
N |
Y |
分类ID:[0,10000] |
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000]决定分类显示的先后顺序 |
3 |
name |
varchar |
16 |
0 |
N |
N |
分类名称:[2,16] |
|
4 |
father_id |
smallint |
5 |
0 |
N |
N |
0 |
上级分类ID:[0,32767] |
5 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该分类的作用 |
|
6 |
icon |
text |
65535 |
0 |
Y |
N |
分类图标: |
|
7 |
url |
varchar |
255 |
0 |
Y |
N |
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 |
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
表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: |
表feedback (意见反馈)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
feedback_id |
int |
10 |
0 |
N |
Y |
意见反馈ID |
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题 |
|
3 |
user_no |
int |
10 |
0 |
Y |
N |
0 |
用户编号 |
4 |
full_name |
varchar |
64 |
0 |
Y |
N |
姓名 |
|
5 |
feedback_type |
varchar |
64 |
0 |
Y |
N |
反馈类型 |
|
6 |
feedback_time |
date |
10 |
0 |
Y |
N |
反馈时间 |
|
7 |
content_description |
text |
65535 |
0 |
Y |
N |
内容描述 |
|
8 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
9 |
examine_reply |
varchar |
16 |
0 |
Y |
N |
审核回复 |
|
10 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
11 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
12 |
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]用来搜索指定类型的论坛帖 |
表forum_data (论坛数据)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
forum_data_id |
int |
10 |
0 |
N |
Y |
论坛数据ID |
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题 |
|
3 |
forum_type |
varchar |
64 |
0 |
Y |
N |
论坛类型 |
|
4 |
statistician |
varchar |
64 |
0 |
Y |
N |
统计人 |
|
5 |
statistical_time |
date |
10 |
0 |
Y |
N |
统计时间 |
|
6 |
quantity |
int |
10 |
0 |
Y |
N |
0 |
数量 |
7 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
8 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表forum_type (论坛分类)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
type_id |
smallint |
5 |
0 |
N |
Y |
分类ID:[0,10000] |
|
2 |
name |
varchar |
16 |
0 |
N |
N |
分类名称:[2,16] |
|
3 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该分类的作用 |
|
4 |
url |
varchar |
255 |
0 |
Y |
N |
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 |
|
5 |
father_id |
smallint |
5 |
0 |
N |
N |
0 |
上级分类ID:[0,32767] |
6 |
icon |
varchar |
255 |
0 |
Y |
N |
分类图标: |
|
7 |
create_time |
timestamp |
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_data (新闻数据)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
news_data_id |
int |
10 |
0 |
N |
Y |
新闻数据ID |
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题 |
|
3 |
news_type |
varchar |
64 |
0 |
Y |
N |
新闻类型 |
|
4 |
statistician |
varchar |
64 |
0 |
Y |
N |
统计人 |
|
5 |
statistical_time |
date |
10 |
0 |
Y |
N |
统计时间 |
|
6 |
quantity |
int |
10 |
0 |
Y |
N |
0 |
数量 |
7 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
8 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
9 |
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已取消 |
表registered_users (注册用户)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
registered_users_id |
int |
10 |
0 |
N |
Y |
注册用户ID |
|
2 |
user_number |
varchar |
64 |
0 |
N |
N |
用户编号 |
|
3 |
full_name |
varchar |
64 |
0 |
Y |
N |
姓名 |
|
4 |
gender |
varchar |
64 |
0 |
Y |
N |
性别 |
|
5 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
6 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
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 |
更新时间 |
表school_honors (学校荣誉)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
school_honors_id |
int |
10 |
0 |
N |
Y |
学校荣誉ID |
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题 |
|
3 |
cover |
varchar |
255 |
0 |
Y |
N |
封面 |
|
4 |
honorary_name |
varchar |
64 |
0 |
Y |
N |
荣誉名称 |
|
5 |
honor_type |
varchar |
64 |
0 |
Y |
N |
荣誉类型 |
|
6 |
get_year |
varchar |
64 |
0 |
Y |
N |
获取年份 |
|
7 |
get_quantity |
int |
10 |
0 |
Y |
N |
0 |
获取数量 |
8 |
details |
longtext |
2147483647 |
0 |
Y |
N |
详情介绍 |
|
9 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
10 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
11 |
recommend |
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 |
更新时间 |
表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 |
更新时间: |
3.4本章小结
整个校园新闻数据化系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4校园新闻数据化系统详细设计与实现
校园新闻数据化系统的详细设计与实现主要是根据前面的校园新闻数据化系统的需求分析和校园新闻数据化系统的总体设计来设计页面并实现业务逻辑。主要从校园新闻数据化系统界面实现、业务逻辑实现这两部分进行介绍。
当进入校园新闻数据化系统的时候,首先映入眼帘的是系统的导航栏,下面是轮播图以及系统内容,其主界面展示如下图4-1所示。
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
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){
resultList = service.select(map, new HashMap<>()).getResultList();
else if(phone != null && "".equals(phone) == false){
resultList = service.select(map, new HashMap<>()).getResultList();
return error(30000, "账号或密码不能为空");
if (resultList == null || password == null) {
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();
UserGroup userGroup = (UserGroup) groupList.get(0);
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
return error(30000,"该用户审核未通过");
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
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();
return error(30000, "账号或密码不正确");
public Map<String, Object> signUp(@RequestBody User user) {
Map<String, String> query = new HashMap<>();
query.put("username",user.getUsername());
List list = service.select(query, new HashMap<>()).getResultList();
user.setPassword(service.encryption(user.getPassword()));
* 用户ID:[0,8388607]用户获取其他与用户相关的数据
@GeneratedValue(strategy = GenerationType.IDENTITY)
* 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)
* 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
* 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
当访客点击校园新闻数据化系统中导航栏上的“新闻资讯”后将会进入到该“新闻资讯”列表的界面,然后选择想要看的新闻资讯,点击进入到详细界面,新闻资讯界面如下图4-4所示。
用户可以查看学校荣誉信息,在查询到自己想要了解的学校荣誉的时候,可以进入查看详细的介绍,支持用户对喜欢的学校荣誉进行收藏、点赞的功能。学校荣誉详情界面如下图4-6所示。
校园新闻数据化系统中的管理人员是可以对前台注册的注册用户进行管理的,也可以对管理员进行管控。界面如下图4-8所示。
public String encryption(String plainText) {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
buf.append(Integer.toHexString(i));
4.2.2资源管理界面
校园新闻数据化系统中的管理人员在“资源管理”这一菜单中是可以对校园新闻数据化系统内的新闻资讯以及资讯分类信息进行维护和管理的,界面如下图4-9所示。
图4-9资源管理界面图
校园新闻数据化系统中的管理人员在“交流管理”这一菜单下是可以对校园新闻数据化系统内的交流论坛、论坛分类进行管控的,其管理界面如下图4-10所示。
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
public Map<String, Object> addMap(Map<String,Object> map){
public Map<String,Object> readBody(BufferedReader reader){
StringBuilder sb = new StringBuilder("");
while ((str = br.readLine()) != null){
return JSONObject.parseObject(json, Map.class);
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);
for (Map.Entry<String,Object> entry:body.entrySet()){
Object value = entry.getValue();
sql.append("'").append(entry.getValue()).append("'").append(",");
sql.append(entry.getValue()).append(",");
sql.deleteCharAt(sql.length() - 1);
log.info("[{}] - 插入操作:{}",table,sql);
Query query = runCountSql(sql.toString());
校园新闻数据化系统中的管理人员在“模块管理”这一菜单下是可以对校园新闻数据化系统内的视频分享、学校荣誉、意见反馈、公告数据、论坛数据、新闻数据进行管控的,其管理界面如下图4-11所示。
@RequestMapping(value = "/del")
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
public void delete(Map<String,String> query,Map<String,String> config){
sql.append(toWhereSql(query, "0".equals(config.get(FindConfig.GROUP_BY))));
log.info("[{}] - 删除操作:{}",table,sql);
5系统测试
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大模块为校园新闻数据化系统 的后期推广运营提供了强力的技术支撑。
结论
至此,校园新闻数据化系统已经结束,在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、springboot技术、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。
当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。
参考文献
[2]和占全,李晓明,冯汝结,靳清平.基于信创的互联网新闻数据信息安全管理系统的设计与实现[J].网络安全技术与应用,2023(03):94-96.
[3]林子熠,缪新元,陈雨亭,蒯微,李三红. 一种Java程序静态编译方法及装置[P]. 浙江省:CN115629764A,2023-01-20.
[4]沈志元,张文健.基于Java技术的医院管理系统的设计与实现[J].电脑知识与技术,2022,18(32):38-40+54.DOI:10.14004/j.cnki.ckt.2022.1994.
[5]任春,孟肖虎.“媒体+数据”的融合创新探索——以中国能源传媒集团新闻数据采集系统为例[J].新闻战线,2022(19):104-106.
[6]王曼维,杨荻,李岩,及松洁.基于SpringBoot框架的智慧医疗问诊系统设计与实现[J].中国医学装备,2022,19(03):133-136.
[7]李林杰,金剑. 新闻数据推送方法、装置、系统和存储介质[P]. 广东省:CN109284429B,2021-12-28.
[8]郑骥,祁海峰. 一种基于深度学习的新闻数据处理系统及其处理方法[P]. 北京市:CN110555169B,2021-12-03.
[9]高志平. 基于SpringBoot框架与ITIL方法的运维管理系统的设计与实现[D].华东师范大学,2021.DOI:10.27149/d.cnki.ghdsu.2021.001482.
[10]薛振文,黎若楠,李洁原. 一种基于Scrapy的互联网新闻数据分布式采集系统的设计及实现[C]//中国新闻技术工作者联合会.中国新闻技术工作者联合会2021年学术年会论文集.中国新闻技术工作者联合会2021年学术年会论文集,2021:215-220.DOI:10.26914/c.cnkihy.2021.047262.
[11]林易康, 基于Java的web应用程序控制管理软件. 湖北省,武汉东湖学院,2021-10-01.
[12]Fuyuan Cheng. Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework[J]. Advances in Educational Technology and Psychology,2021,5(2).
[13]刘德建,叶伟,陈宏展. 一种新闻数据在多平台展示的方法及其系统[P]. 福建省:CN112417341A,2021-02-26.
[14]Jian Chen,Chen Jian,Pan Hailan. Design of Man Hour Management Information System on SpringBoot Framework[J]. Journal of Physics: Conference Series,2020,1646(1).
[15]陆华.基于GIS技术的新闻数据管理系统设计[J].新闻研究导刊,2017,8(18):201-202.
[16]SJ/T 11683-2017, Java语言源代码缺陷控制与测试指南[S].
[17]肖剑楠,刘梦尘,刘世霞.新闻数据可视分析系统[J].计算机辅助设计与图形学学报,2016,28(11):1863-1871.
致 谢
逝者如斯夫,不舍昼夜。转眼间,大用户用户活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?
感慨莫名,不知所言。遥想当初刚来学校的时候,心里总是想着工科学校会过于板正,会缺乏一些柔情,当时心里甚至有一点点排斥,但是随着我对学校的慢慢认识与了解,我才认识到了她的美丽,她的柔情,并且慢慢的喜欢上了这个校园,但是时间太快了,快到我还没有好好体会她的美丽便要离开了,但是她带给我的回忆,永远不会离开我,也许真正离开那天我的眼里会满含泪水,我不是因为难过,我只是想将她的样子映在我的泪水里,刻在我的心里。最后,感谢我的老师们,是你们教授了我们知识与做人的道理;感谢我的室友们,是你们陪伴了我如此之久;感谢每位关心与支持我的人。
少年,追风赶月莫停留,平荒尽处是春山。
请关注点赞+私信,免费领取项目源码哦
springboot+校园新闻数据化系统-计算机毕设 附源码99293相关推荐
- springboot高考志愿选择系统 -计算机毕设 附源码68335
springboot高考志愿选择系统 目 录 摘要 第1章 绪论 1.1 研究背景与意义 1.2 研究现状 1.3论文结构与章节安排 第2章 相关技术 2.1开发技术 2.2 Java简介 2.3 ...
- springboot高考志愿选择系统-计算机毕设 附源码68335
springboot高考志愿选择系统 目 录 摘要 第1章 绪论 1.1 研究背景与意义 1.2 研究现状 1.3论文结构与章节安排 第2章 相关技术 2.1开发技术 2.2 Java简介 2.3 ...
- springboot大学生综合素质测评系统-计算机毕设 附源码51615
springboot大学生综合素质测评系统 摘 要 为全面提高教育管理水平,建立一个大学生综合素质测评管理系统已经成为目前各高校的共识.本文从实践经验出发,阐述目前高校学生工作管理的信息化现状﹔然后 ...
- JAVA计算机毕业设计校园食堂订餐系统计算机(附源码、数据库)
JAVA计算机毕业设计校园食堂订餐系统计算机(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...
- SSM二十大新闻网站系统-计算机毕设 附源码96856
SSM二十大新闻网站系统 目 录 摘要 1 1 绪论 1 1.1研究意义 1 1.2研究目的 1 1.3系统开发技术的特色 1 1.4ssm框架介绍 1 1.5论文结构与章节安排 1 2二十大新闻网 ...
- 基于Android的健身系统-计算机毕设 附源码90470
基于Android的健身系统 目 录 摘要 1 1 绪论 1 1.1 课题研究的背景与意义 1 1.2研究的目的与研究内容 1 1.3本文主要工作 1 2基于Android的手机健身系统系统分析 3 ...
- hadoop 红色旅游景点分析系统-计算机毕设 附源码91858
hadoop 红色旅游景点分析系统 目 录 摘要 1 1 绪论 1 1.1研究背景 1 1.2研究内容 2 1.3Hadoop优点 3 1.4 Hadoop框架介绍 3 1.5论文结构与章节安排 4 ...
- 基于flask徐州市天气信息可视化分析系统-计算机毕设 附源码 04600
基于flask徐州市天气信息可视化分析系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最 ...
- Java毕设项目大学生校园兼职系统计算机(附源码+系统+数据库+LW)
Java毕设项目大学生校园兼职系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ E ...
最新文章
- 推荐一个单元测试模拟框架:Nsubstitute
- 使用MLX90640自制红外热像仪(二):API函数的使用
- d3.js 简易柱形图,入门demo
- jakarta ee_Jakarta EE,EE4J和Java EE之间的关系
- oracle中修改数据库实例监听的ip和端口
- apache 统计404日志_Apache 网站日志分析
- ICPC程序设计题解书籍系列之九:罗勇军《算法竞赛入门到进阶》
- easyui省市二级联动
- mac下安装wxPython2.8.12.1方法
- 使用C++进行SVG开发
- Hbase、Kudu和ClickHouse横向对比V2.0
- vscode快速删除空白行方法
- 图扑数字孪生智慧加油站,构建安全防护网
- 基于GPU预计算的大气散射
- 系统架构设计——伸缩性架构
- 使用python实现科学记数法的书面形式输出
- 巴西龟饲养日志----半年捉鱼经验总结
- JavaScript-0818
- 10小时训练数据打造多语种语音识别新高度
- kubesphere安装Maven+JDK17 流水线打包
热门文章
- Android Notification消息提示
- plsql相同变量高亮显示
- 数据、信号、码元传输速率和信息传输速率等概念
- 普通工程师和高级工程师的差别在哪里?如何快速突破?
- 从零开始大数据--Hadoop、HDFS、MapReduce、HBase、Hive
- mysql数据被截断_Mysql5.7中使用groupconcat函数数据被截断的问题完美解决方法
- 短短十言,把人生说透了.
- 机器学习(1):独立同分布IID(independent and identically distributed)
- 电子线路(线性部分)——第二章 晶体三极管
- java utf8 简繁转换 类库,java 中文繁简体转换工具 opencc4j