《基于SpringBoot技术论坛系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于SpringBoot技术论坛系统设计与实现.docx(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于SpringBoot技术论坛系统设计与实现 基于SpringBoot技术的论坛系统设计与实现 Design and implementation of forum system based on springboot Technology 内容摘要 随着计算机技术的发展,人们的工作、学习和生活变得更高效,更便利;现代人的生活已经离不开网络,在网络上跟人沟通沟通的方式已经取代了传统的纸媒。人们可以在网站上便利、快捷、随意地共享自己的趣事,许多不同的网友也可以对帖子发布的内容进行客观、实在的评价或者探讨对各种事物的不同看法;集思广益碰撞出不一样的思想火花。 本次的毕业设计课题将围绕网上在线论坛
2、系统进行设计与实现。系统将实现由论坛用户之间通过发帖、评论、回复来进行实时沟通的功能;本系统将从三层架构(即业务逻辑层-数据访问层-表示层)实现,主要技术有:业务逻辑层框架SpringBoot、数据访问层框架Mybatis、表示层框架bootstrap;本系统由用户模块、公共信息模块、帖子模块以及管理员模块组成,很大程度上实现了现代网上论坛具有的功能。 关键词:网络技术 ;在线论坛;SpringBoot Abstract With the development of computer technology, peoples work, study and life have become m
3、ore efficient and convenient.The life of modern people has been inseparable from the network, the way of communication with people on the network has replaced the traditional paper media.People can easily, quickly and freely share their funny stories on the website. Many different netizens can also
4、make objective and realistic comments on the contents of the post or discuss different views on various things.The collision of different ideas sparks. This graduation project will focus on the online forum system design and implementation.The system will realize the function of real-time communicat
5、ion among forum users through Posting, commenting and replying.The system will be implemented from three layers (namely, business logic layer - data access layer - presentation layer). The main technologies are: business logic layer framework SpringBoot, data access layer framework Mybatis, and pres
6、entation layer framework bootstrap.This system is composed of user module, public information module, post module and administrator module, which realizes the function of modern online forum to a great extent. Key words: network technique ; Online forums; SpringBoot 目 录 1.前言 1 1.1背景和意义 1 1.2 在线论坛的发展
7、状况 1 1.3开发设计思想 2 2. 开发技术简介 3 2.1 SpringBoot技术简介 3 2.2 java语言介绍 3 2.3 Mysql数据库简介 3 3.系统可行性和需求分析 4 3.1可行性分析 4 3.1.1 技术可行性分析 4 3.1.2 运行可行性分析 4 3.1.3 经济可行性分析 4 3.1.4 操作可行性分析 5 3.2需求分析 5 3.2.1 功能分析 5 3.2.2 用例分析 6 3.2.3 业务流程分析 9 4.数据库的概要设计 11 4.1数据库需求分析 11 4.2数据库的逻辑设计 11 4.3 数据库表设计 12 5.系统概要设计 14 5.1系统结构设
8、计 14 5.2系统功能模块图 14 5.3系统流程图 15 6.系统功能的详细实现 18 6.1系统的总体界面 18 6.2用户第三方登录界面 18 6.3用户功能 19 6.4论坛管理员功能 20 7 系统测试 21 7.1 系统测试概述 21 7.2 系统测试环境与测试方法 21 7.3 系统测试步骤与结果 21 8 总结 23 8.1 系统总结 23 8.2 展望 23 参考文献 24 致谢 25 1.前言 1.1背景和意义 随着现代社会科技的快速全面发展,技术越来越成熟,人们的生活变得越来越便利。快捷的互联网诞生了众多便利人们生活的网站和系统。计算机技术的高速发展使得人们的工作效率越
9、来越高,在网络上跟人沟通沟通也越来越便利,人们可以在网站上便利、快捷、随意地共享自己的趣事,许多不同的网友也可以对版主发布的内容进行客观、实在的评价或者探讨对各种事物的不同看法;当然人们也可以干脆在网络上学习各种先进的技术、各种适合自己的思想、观念,碰撞出不一样的火花;人们可以把自己的疑难问题发布到网上,大家集思广益,也会有不一样的收获。本次的毕业设计课题将围绕网上在线论坛系统进行设计与实现。系统将实现由论坛用户之间通过发帖、评论、回复来进行实时沟通的功能;本系统将从三层架构(即业务逻辑层-数据访问层-表示层)实现,主要技术有:业务逻辑层框架SpringBoot、数据访问层框架Mybatis、
10、表示层框架bootstrap;本系统由用户模块、公共信息模块、帖子模块以及管理员模块组成,很大程度上实现了现代网上论坛具有的功能。 本系统的设计目的主要是为了便利同学们在论坛上进行沟通,与网友进行思维碰撞。便利大家在学习生活上有疑难的时候可以询问他人。 1.2 在线论坛的发展状况 网上论坛,英文简写BBS。随着计算机 的普及,难免会出现多人同时拨号一个站台的问题,急待着科技发展解决这个问题。虽然后面出现了多线站,但是真正给国内论坛发展带来革命性转折的人,是戴志康,他发布了软件Discuz,使得论坛的构建变得简洁便捷。自此以后国内的论坛越来越多,也越来越追求专业性以及功能性,追求页面简洁美观,我
11、们现在耳熟能详的新浪、猫扑等等大 型的论坛就是那个时候起先的。 我国的论坛的发展分为两个阶段,1996年是一个分水岭,在这之前虽然论坛也在快速发展,但是以为操作繁琐等一下缘由导致受众不多;1996年之后因为技术上的革新使得论坛的构建变得简洁,操作也变得简洁,导致越来越多的人群习惯了在论坛上谈论实事,探讨观点,在这之后中国的网上论坛迎来了高速、跳动式的发展。 1.3开发设计思想 随着互联网技术的不断革新,看着我之前很宠爱的网上论坛变得越来越末路。我想在毕设的时候做一个网上论坛系统来怀念我的青春;在信息时代,网上的信息越来月碎片化,导致许多人都没有逛论坛的习惯,许多的疑问可以干脆百度查找答案,人们
12、变得越来越没有耐性,虽然互联网的发展拓宽了人么了解学问的渠道,但是也打破了人与人之间的联系。现在许多的论坛已经越来越式微,照旧蓬勃发展的可能只有知乎所代表的这一类后现代论坛了吧。我想把这个系统做成论坛最起先的模式,只有问者跟答者的关系,只有做的纯粹才是我的想法。 本文系统采纳Spring Boot技术进行开发、Html模板引擎运用的是thymeleaf;java具有跨平台的优点是现阶段最热门的开发语言;运用springboot技术的一大好处就是spring具有很完善的生态圈,可以很便利的干脆在官网找到想要运用的技术或者spring的产品;论坛系统能够实现的功能有:第三方登陆、提问发帖、阅读、评
13、论回复、回复提示、编辑帖子和删除自己的提问的功能;管理员对于论坛的管理包括删除违反互联网规定的提问帖,以及删除不合适回复,管理论坛的会员信息等。 2. 开发技术简介 2.1 SpringBoot技术简介 论坛系统设计中运用的开发框架是Spring社区开发的架构Spring Boot,现在市场上特别多的公司也在运用它,足以说明它的优点,它旨在简化构建和开发一个大的Spring项目的过程,在保证原有Spring(IoC和AOP)的两个优秀特性的前提下,根据约定优于配置的方法使应用程序开发人员能够简化大部安排置,从功能上讲,Spring Boot并不是一套全新的J2EE架构, Spring Boot
14、正是在Spring内核的基础上集成了相关功能组件,实现了自动配置,降低了项目后台搭建的困难性。 2.2 java语言介绍 Java是一款目前流行性很强的开发语言,无论在手机方面还是互联网方面,Java都应用广泛。这一款语言和C+很像,但Java摒弃了C+中很少运用的一些特征,接着保持C+语言受人们喜爱的一些优点:快速、平安。在运用Java进行开发程序时,Java面对对象的特点,可以让开发人员简洁的运用,省去一些没有必要的操作,这样一来就可以节约时间,让开发人员可以用更多的时间精力来进行程序的探讨。Java能够实现程序的跨平台运行,运用的运行环境不是编译执行,而是说明执行的方式,能够辨别硬件平台
15、的不同,将程序说明成目前的机器码。 2.3 Mysql数据库简介 这次设计的论坛系统后台运用的是MYSQL这一款特别强大数据库系统,这是一款当下颇为流行的数据库,现在它是Oracle公司的,相比其他数据库,它的开放性和快速性以及多线程性,使得人们在建设网站时更喜爱运用它。MYSQL的优点显著,MYSQL无论在Unix,还是Linux以及Windows上,都可以工作,能够依据不同的语言来供应API函数。用MYSQL能够构建多个数据库表,这样能够使程序运行更快,数据更平安。 3.系统可行性和需求分析 3.1可行性分析 3.1.1 技术可行性分析 技术可行性分析主要是评估以目前的技术条件和开发者驾驭
16、的技术实力水平,能否满意系统的运用条件和需求。 个人比较熟识java语言以及springboot技术的项目构建和代码编写,在技术条件方面没有遇到什么问题,thymeleaf模板引擎是一款特别适合前端人员运用的技术,之前有运用过这门技术来设计前端项目页面。整体来说,开发者技术水平跟软件的敏捷性、平安性和易用性都是满意系统平台的开发须要的。3.1.2 运行可行性分析 运行可行性分析即系统对组织及人员的适应性分析;论坛系统的受众群体为习惯在网上论坛进行共享、评论和闲聊的用户;在现在的论坛系统中比较热门的是百度的百度贴吧、知乎两个头部应用;这两个论坛现在还是具有很大的日活量。本系统也将围围着这些因素来
17、设计,通过B/S架构来实现。3.1.3 经济可行性分析 经济可行性分析包含市场需求、配套成本、资源供应。要让用户在网上更简单,更快地发布帖子,开发能够满意人们在线交换信息的需求,本文章所探讨的系统经济成本很低,用户只需在本地安装通用的Web阅读器,然后在阅读器中登录论坛进行阅读,发布,回复和其他操作;以下是分别说明这些因素: 市场需求:现在网上的论坛以百度贴吧、知乎为头部应用;在百度指数中可以查看到这两个应用的搜寻指数:其中百度贴吧在近一个月的搜寻日均量为28303次;知乎在近一个月的搜寻日均量为216087次;可以看出现在论坛系统的运用人数还是特别浩大的。 百度指数-“百度贴吧” 百度指数-
18、“知乎” 配套成本:论坛系统短暂还没有上线,因此对成本的需求不大,只须要在本地的服务器就可以运用。 资源供应:论坛系统的目标资源供应是自给自足,由论坛的用户产生资源吸引新的用户进入产生新的内容。3.1.4 操作可行性分析 论坛系统的目的是给用户供应了一个网络环境良好、有利于用户沟通沟通的平台。登录系统后的用户可以阅读帖子、发表帖子、回复帖子、编辑帖子、搜寻帖子,这是作为一个论坛系统最基础的功能,本系统供应了很良好的操作性。论坛系统的用户分为两个角色:用户、管理人员。每类用户有不同的操作权限,用户具有论坛系统的大部分权限;管理员则拥有最高权限;系统通过供应不同的操作页面功能来实现两个角色不同的操
19、作。 3.2需求分析 3.2.1 功能分析 一个论坛重要且基础功能是让用户可以阅读帖子,发布帖子,回复帖子,以及搜寻帖子。同时,我们国家的互联网要求规定用户发布的帖子内容应当是健康合法的。系统的管理员应当借此加强对帖子的批阅,以防止不良内容的产生,不让本系统成了网络上藏污纳垢的地方。假如用户想在论坛上发布,则必需注册并登录。此外,必需将论坛分成多个部分,以便利区分发布和内容,并使管理员能够便利地管理发布。此外,用户必需分成不同的级别如一般用户和管理员用户,用以加强论坛的管理。论坛要实现帖子管理,也要实现用户管理,同时要考虑不同功能模块之间的协调与合作,以共同完成基于Spring Boot的论坛
20、系统的业务需求。 本论坛系统可能须要设计的功能有:用户注册功能,用户登录功能,发表主题功能,回复帖子功能,查询帖子功能,阅读帖子功能,个人信息设置功能,后台管理功能。确定论坛系统的功能为: 游客登录注册、发布提问帖子、阅读帖子、删除自己的帖子、搜寻帖子;管理员删除帖子、管理员删除信息; 功能分析:对于论坛系统最重要的就是可以让用户正常的对帖子进行增删改查操作。管理员功能是为了维护系统的网络环境绿色合法所以要保证管理员必需要有对帖子的的删除和对用户的信息删除权限。1、用户登录功能 运用的是github的api调用了github的数据库资源,实现了第三方应用的登录功能;界面简洁耐看,与开放api的
21、沟通良好,提高了用户的体验感。2、提问功能 用户的主要需求就是进入系统后,能够进行发帖提问和评论回复功能,设计风格应当简洁、美观大方、操作便利。 4、回复帖子功能 系统首页的右上角有代办提示会收到别的用户评论自己的帖子或者回复自己评论之后的提示,查看详情之后点击跳转到详情的帖子页面。 5、查询帖子功能 输入关键字之后可以搜寻匹配到帖子title符合的内容,点击之后可以进入详情页面。6、阅读帖子功能是为注册登录的用户供应阅读帖子的功能。设计风格应当简洁、美观大方、操作便利。 3.2.2 用例分析 通过对系统中管理员和用户之间关系可以得出系统用例图: 用户的主要功能是阅读帖子、发表提问、评论和回复
22、帖子。 管理员的主要功能是管理用户信息;管理帖子,删除不符合互联网规定的帖子。系统整体的用例图如3.1所示: 图3.1系统用例图 1. 用户登录用例分析 游客初次登录系统须要进行注册操作、注册包括系统注册、以及第三方登录 注册论坛系统;第三方登录运用的是github;系统注册须要填写账号密码以及邮箱;账号是唯一存在,注册填写时会进行校验,邮箱是用来遗忘密码是找回的。 图3.2用户注册用例图 以用户注册用例为例子,具体的介绍了系统的业务流程,当用户首次进入系统,打开页面完成登录后就可以正常访问此系统,但之后不须要再登录,因为系统会依据session保存的信息进行常态化登录。 2.系统登录用例分析
23、 已经注册用户或者管理员,每次进入系统只须要点击登录就可以进行常态化登录,不须要输入账号密码;登陆胜利后将进入首页。登陆胜利的用户权限是阅读帖子,回复帖子,评论帖子,删除自己的帖子。管理员界面可以进行的操作除了正常用户的增删改查操作还有删除全部帖子的权限以及管理用户信息的权限。系统登录用例图如图3.3所示。 图3.3系统登录用例图 登陆胜利后会运用token来验证用户是否登陆胜利,类似与vue的全局路由守护;以注册的用户和管理员登录例子来举例分析,具体介绍登录的全过程,来分析登录的具体步骤,很大程度上加大了系统的平安性和优化了用户运用感受。 3.用户操作帖子用例分析 用户正常登录之后就可以进行
24、正常的系统功能操作,登录后可以先阅读帖子,对有爱好的帖子参加回复的探讨中,类似于在线沟通,假如个人有独到的见解,也可以单独发表一篇帖子,在提示的代办中能查看别人对自己的回复以及跳转目标贴子、可以删除自己的帖子、可以重新编辑自己发布的帖子信息。用户操作帖子用例图如图3.4所示。 图3.4用户操作帖子用例图 以用户操作帖子为例,描述用户操作帖子的整个流程,在用户提交发布之后会在首页显示,别的用户可以正常的查看会评论。实现了不同用户之间的沟通数据传输,优化了每个用户的运用感受,有利于信息的传播和学问的共享。 4.管理员操作帖子用例分析 管理员通过登录后进入首页,先阅读全部的帖子,经过审核之后将不符合
25、互联网规定或者将没有意义但是占据系统大量存储空间的灌水贴进行删除,对发布不良信息的账号进行屏蔽删除。管理员操作帖子用例图如下图3.5所示。 图3.5管理员操作帖子用例图 以管理员操作帖子为例,描述管理员管理帖子的整个流程,帖子的来源并无严格的要求,这就要求管理员要进行公允的审核,对不符合互联网规定、没有意义的灌水贴的贴子进行删除,对发布不良信息的贴主进行删除信息;从而净化论坛的内容,使帖子在内容上质量更高。 3.2.3 业务流程分析 1. 用户模块 用户模块用来实现用户的登陆注册操作。该模块的作用是实现游客或者管理员登录进入系统;注册的方式有两种,一种是系统注册,一种是运用第三方登录(短暂只有
26、github)系统。 用户注册:游客须要进行注册之后才能正常的登录系统。用户登陆:用户须要验证系统保存的账号密码信息,验证胜利之后就可以登录进系统进行正常的操作;登录包括论坛系统登陆以及第三方系统登陆;首次登录须要进行账号密码验证,后面就不须要了,因为系统实现了常态化登录,通过把用户的账号密码保存在session中实现这一功能。用户发表提问帖:已经登陆的用户可以正常发帖。用户评论回复:已经登陆的用户可以通过阅读其他用户发布的帖子进行评论和回复别人的评论。2. 帖子模块 论坛最基本功能就是实现帖子信息的发布和阅读;根据对提问帖操作的对象权限不同,对于帖子的操作分为两个模块,即登录用户操作模块和管
27、理员操作模块。用户操作模块: (1)阅读帖子:进入网站正常登录之后的用户以及未登录的游客都可以阅读帖子,看到感爱好的话题,还可以发表自己的见解但是评论只对已经登录的用户开放,假如是未登录的游客将弹出提示登录的警告框,在技术层面上是用token来推断用户有没有登录,假如登录胜利的话本地会保存系统返回的token,以便利实现页面跳转的时候进行推断,并且系统会在seeeion中保存用户的登录信息,以便下次登录的时候不须要再重新输入账号密码,可以干脆进入系统。很大程度的提升了用户的运用感受,优化了用户体验。(2)帖子发布:登录的用户假如有自己的想法可以选择发布帖子,发布页面集成了富文本输入框组件,可以
28、输入文本、上传文件、输入表情;文件将保存在数据库中,供应url地址进行访问。论坛本身就是供应给用户一个沟通沟通的平台。(3)帖子回复:以登录用户在首页的右上角有一个提示的代办按钮,点击之后可以看到别的用户回复或者评论自己发布的内容;点击详情之后可以跳转到该页面,须要指出的是,用户在进行发帖和回帖时候前提条件是须要先登录,帖子的发布和回复功能很好的说明白论坛的核心功能,在这个用户沟通沟通的平台上,最基础也是最重要的就是这两个功能。3.管理员模块 管理员模块:管理员是系统最大权限的用户;包括不限于对全部帖子进行删除操作;对全部用户的信息进行修改和删除操作;管理员是每个系统必要有的功能;该角色可以保
29、证在可视化页面对系统进行维护和管理;有利于保证系统的稳定性和保证系统的生命周期得以持续。管理用户模块:该模块又包括对于用户的增加、删除以及设置用户权限。其中设置用户权限是指赐予某些一般用户肯定的权限成为版主,帮助管理论坛指定版面内的帖子。这样为论坛管理引入领域专业人才,同时减轻管理员管理的负担。 4.数据库的概要设计 4.1数据库需求分析 数据库是数据的仓库,而数据是整个系统的基础以及重点;在一个应用中假如没有数据,即使系统再花里胡哨也没有人会去运用,对受众群体没有任何的吸引力,因此应用的生命周期自然就短;数据库设计遵循三方面原则:一对一设计原则;独特命名原则;双向运用原则;网络论坛系统是基于
30、SpringBoot架构且采纳MySQL数据库存储数据,实现了论坛系统数据的集中存储。 针对论坛系统,分别对用户、游客和管理员进行分析;总结出如下的需求信息: 用户须要提问发帖,涉及到数据的存储; 用户须要评论回复帖子,设计到数据的存取; 用户须要删除所属的帖子,设计到数据的删除; 游客须要进行登录验证,设计到数据的存取; 管理员须要进行删除提问,设计到数据的存取; 结合上述的需求可以得出,论坛系统的数据库只需设计简洁的CURD操作,不须要特别高深的数据库sql操作,因此结合可行性分析得出须要的数据库设计架构; 4.2数据库的逻辑设计 数据库逻辑设计就是数据库表的创建过程、结构以及结果,不同的
31、逻辑设计对应不同的数据库设计结果;结合以下内容论述论坛系统的数据库逻辑设计,尽量运用最简洁最干脆的方法达到目的,代表了最高效率最好的设计结果。归于简洁,归于干脆的设计才能最好的体现架构的水平。在这些论点中我将数据字典和ER图转换为数据库的模型就是数据库的逻辑设计,数据库逻辑设计起到前后呼应的作用,为后面的数据库的物理设计做足够打算。用户:用户编号、账号、密码、邮箱、头像图片地址; 管理员: 管理员编号、账号、密码、邮箱、头像图片地址; 提问帖: 编号、标题、主题内容、发帖人、发帖时间、标签; 回复帖子:帖子编号、帖子状态、帖子回复数、创建时间、内容、回复内容编号、帖子归属用户编号; 常态化登录
32、状态表:用户编号、账号、密码、邮箱、头像图片地址; 文件表:文件编号、文件名称、创建时间、文件保存地址 4.3 数据库表设计 (1)用户表包括(id、姓名、密码、邮箱、性别、图像共5个字段,如下表4.1所示: 表4.1用户表 字段名 数据类型 字段大小 说明 Id Int 11 Id Name Varchar 250 姓名 Passwork Varchar 250 密码 Sex Varchar 50 性别 url Varchar 250 图像 Email Varchar 250 邮箱 (2)帖子内容表包括(id、标题、主题内容、发帖人id、创建时间、标签)共5个字段,如下表4.2所示: 表4.
33、2帖子内容表 字段名 数据类型 字段大小 说明 Id Int 11 Id Title Varchar 250 标题 TopicContent Text 4000 主题内容 Userid Int 11 发帖人id Gmt_modifidy Timestamp 6 创建时间 Bag Varchar 250 标签 (3)回帖表包括(帖子编号、帖子状态、帖子回复数、创建时间、内容、回复内容编号、帖子归属用户编号)共7个字段,如下表4.3所示: 表4.3回复帖子表 字段名 数据类型 字段大小 说明 Id Int 11 帖子编号 State Varchar 250 帖子状态 Count Int 11 帖子
34、回复数 Time Timestamp 6 创建时间 Details Text 4000 内容 Postid Int 11 回复内容编号 Userid Int 11 帖子归属用户编号 (4)板块标签表包括(模块号、模块名)共2个字段,如下表4.4所示: 表4.4 板块标签表 字段名 数据类型 字段大小 说明 BoardId Varchar 20 模块号 BoardName Varchar 250 模块名 (5)常态化登录状态表(用户编号、账号、密码、邮箱、头像图片地址、session储存记录 )共6个字段,如下表4.5所示 表4.5 常态化登录状态表 字段名 数据类型 字段大小 说明 Id In
35、t 11 Id Name Varchar 250 姓名 Passwork Varchar 250 密码 Sex Varchar 50 性别 url Varchar 250 图像 Email Varchar 250 邮箱 session Varchar 250 session储存记录 (6)文件表(文件编号、创建人、文件名称、创建时间、文件保存地址)共5个字段,如下表4.6所示 表4.6 文件表 文件编号 数据类型 字段大小 说明 Id Int 11 文件编号 Op_create Varchar 50 创建人 FileName Varchar 250 文件名称 C_time Timestamp
36、6 创建时间 Fileurl Varchar 250 文件保存地址 5.系统概要设计 5.1系统结构设计 论坛系统运用了B/S的结构体系,由以下几个模块组成。(1)前台部分模块:首先是游客点击登录跳转,登录胜利之后跳转首页;假如没有登录的话是不能阅读其他用户的帖子的。(2)后台部分模块:后台部分模块包含用户和管理员不同权限的操作方法,游客可以通过github登陆系统,可实现发帖、回复帖、搜寻帖子和阅读帖子功能;管理员有权限删除全部用户的帖子和删除用户的信息。后台运用MySQL数据库把系统通过实现用户登录系统后发布新帖、回复新帖子以及对帖子管理的一系列操作产生的大量数据进行存储。 5.2系统功能
37、模块图 基于系统需求分析,将论坛系统分为四大模块,分别是用户模块、公共信息模块、帖子模块以及管理员模块;其中每一模块包括许多详细功能。 管理员可以管理模块、帖子信息和管理用户信息,拥有最大的权限。系统功能结构图如下图5.1所示。 图5.1系统总体模块设计图 本系统具有以下功能, 1.用户功能 阅读帖子,发表帖子、搜寻帖子、回复帖子、删除帖子。 2.帖子回复管理功能 回复帖子;查看代办提示跳转到回复位置;查看帖子回复信息。3.用户管理功能 管理员删除帖子信息、管理员删除用户信息、管理员管理模块信息。4.帖子管理功能 管理员删除帖子,用户删除所属的帖子信息。 5.3系统流程图 1.用户注册登录模块
38、 跳转到注册登录页面,可以选择注册或者第三方(github)跳转登录,注册时将会用户输入进行校验,通过比对数据库中用户表信息校验用户名是否冲突,冲突会提示重新输入,否则提示注册胜利。数据会提交到后台的数据库。如图 5.2所示。 图5.2用户登录注册流程图 首先,用户须要注册之后才能登陆系统,进行正常的系统功能;本模块包括三个小部分: (1)用户注册。首次登陆系统的用户须要进行注册,提交账号密码以及邮箱,上传头像校验通过之后提示注册胜利,并返回首页,记住登录状态; (2)修改资料。用户可以对个人资料进行修改保存,并且可以修改用户密码。 (3)遗忘密码。对于遗忘密码的用户可以选择通过验证邮箱之后修
39、改密码。2. 帖子模块 用户进入帖子版块,会通过校验本地token来验证是否登陆,假如本地由token,用户可以点击登陆之后自动登录,系统会通过session信息来实现常态化登录状态。系统管理员可以对本论坛的全部帖子信息和用户信息进行管理,具有最高的操作权限。一般用户的功能包括,提问、发布、回复、阅读、搜寻帖子、假如未登陆则只可阅读帖子。其功能流程图如图5.3所示。 论坛系统功能流程 用户 管理员 管理帖子、管理用户 提问 回复 删除 阅读 图5.3论坛探讨区流程图 论坛系统功能流程图解:游客登录胜利后进入首页,可以提问、阅读帖子、删除自己提问、回复别人的帖子、搜寻帖子;管理员可以管理帖子、管
40、理用户信息;未登录的游客只能阅读帖子和搜寻帖子但是不能进行回复,会弹出登录警告。 本模块包括五个小部分: (1)编辑帖子:针对已经登录的用户,编辑帖子的功能是可以看到自己的提问,然后进行重新编辑与发布,也可以删除自己的提问。(2)阅读帖子:此功能针对系统的全部用户,游客与用户还有管理员都可以运用。点击之后可以查看详情,然后游客会弹出登录警告而且不能进行评论。(3)发表帖子。登录用户可以发布新的提问。 (4)回复帖子:登录的用户可以在首页右上角的提示中收到别人的评论和回复,点击进入详情之后可以选择回复帖子 (5)搜寻帖子:此功能针对系统的全部用户,游客与用户还有管理员都可以正常运用。 3.系统管
41、理员模块 图5.4系统管理员模块流程图 系统管理员模块流程图如图 5.4所示。模块只对管理员开放、涉及到的功能由管理用户信息、管理全部帖子的功能;假如查看到不符合互联网规定以及没有意义的帖子可以选择删除也删除违规用户,拥有系统的最高权限; 6.系统功能的详细实现 6.1系统的总体界面 本文所设计的基于Spring Boot技术的论坛系统中,系统的总体界面如下图所示。界面整体设计简洁大方,界面设计美观,易用性较高。 图6.1 系统总体界面 6.2用户第三方登录界面 该页面通过发送giehubapi恳求,校验账号密码。输入正确,服务器将返回该用户的数据调用callback接口传入系统后台,论坛系统
42、会进行存储已经进行登录,重定向至论坛首页。否则将页面返回未登录的首页页面。用户登录界面如下所示。 图6.2 第三方登录界面 6.3用户功能 用户搜寻帖子的功能,假如要实现一个系统的帖子不断迭代更新,让更多的用户不断产出优质的资源,那么这个功能就是必不行少的。可以输入标题的关键字后端进行检索,然后返回到页面进行显示,用户可以干脆点击进入详情。 图6.1搜寻功能图 用户点击右上角的提问按钮,进入发帖页面,输入问题标题、详细内容,内容栏是集成了富文本输入组件的,可以支持上传附件(包括文件、视频、音乐)及动态表情,然后选择发布、发布会进行非空校验,发布胜利,其他用户可以阅读和评论该帖。 图6.2 用户
43、功能界面 图6.4是用户的个人提问历史界面,用户点击标题帖子标题之后,可以进入到帖子的具体的内容页面,然后可以选择在里面进行回复适当的内容,(详见图6.5)。追加内容可以是你对这个问题的见解以及后续的一个解决方法,也可以是你关联的新问题,便利可以不用再行发贴。 图6.3用户修改问题界面 图6.5是帖子的阅读的功能,该功能增加了用户与用户之间互动性。当帖主发布问题之后,全部用户都可以在页面上看到这个帖子。可以干脆在详情页中发表自己的看法,便利用户的沟通。 图6.4 阅读帖子详情 6.4论坛管理员功能 管理员具有系统最高权限,可以删除帖子,假如一些帖子是不符合国家有关互联网规定,违反互联网守则的以
44、及没有意义的灌水贴应当赐予删除。该功能对于一个论坛来说是至关重要的,假如不加以管控的话,必定会导致系统成为网络上藏污纳垢之地,不利于建设绿色互联网。删除帖子以及删除不良用户可以让更多的用户参加优秀问题的探讨,提升论坛的凝合力。 7 系统测试 7.1 系统测试概述 系统测试是一个系统完成阶段的最终一个也是最重要的一个阶段,假如测试不通过的话要检查并修改bug,我在web页面做了功能测试。 7.2 系统测试环境与测试方法 类别 名称 系统环境 Windows10家庭中文版 测试工具 Postman 测试方法 主要采纳黑盒测试和白盒测试相辅相成的测试方法 7.3 系统测试步骤与结果 测试编号 测试对
45、象 测试步骤 预期结构 实际结果 1 用户 第三方登录 跳出登录页面,点击登录之后登录胜利 一样 2 用户 第三方登录 常态化登录,利用缓存存贮用户的登录信息,点击页面登录干脆登录胜利 一样 3 用户 搜寻问题 搜寻问题标题,查询符合条件的问题 一样 4 用户 最新按钮 显示最新的问题帖子 一样 5 用户 30天最热按钮 显示30天内点击量最多的帖子问题 一样 6 用户 7天最热 显示7天内点击最多的帖子问题 一样 7 用户 最热 显示点击最多的帖子 一样 8 用户 点击帖子,显示详情 点击帖子,显示该问题帖的详情 一样 9 用户 我的问题 点击进入发布页面 一样 10 用户 退出登录 点击之
46、后退出登录 一样 11 用户 通知 可以看到回复我的问题的评论 一样 12 用户 提问 点击跳转到提问页面 一样 13 用户 热门标签 点击跳转有改标签的帖子概览 一样 14 用户 提问页面输入 富文本框正常输入 一样 15 用户 提问页面输入 富文本框每个按钮都正常运用 一样 16 用户 提问页面输入 添加标签,正常运用 一样 17 用户 发布 正常发布 一样 18 用户 校验非空 校验输入框非空 一样 19 用户 生命社区 点击跳转首页 一样 20 管理员 通过页面进行登录 登录胜利进入首页 一样 21 管理员 删帖功能 删除胜利 一样 22 管理员 删除 只有管理员能显示按钮 一样 23
47、 管理员 置顶 只有管理员能显示按钮 一样 24 管理员 置顶功能 点击置顶之后显示在首页的第一栏 一样 8 总结 8.1 系统总结 与网络上许多的论坛系统相比,本论坛管理系统在以下的几个特点,本系统拥有论坛系统的最重要功能模块,包括用户发帖,评论和回复,删帖,搜寻帖子功能。本论坛系统的权限设置清楚、便于管理。权限设置有管理员权限、一般用户权限和游客权限。一般用户的个人信息爱护,回帖,可以修改,系统的游客只可以查看文章的权限没有评论的权限,只能阅读而且会弹出登录提示,是特别明确和系统的特点,另外本系统的多种类的测试,功能测试的全部重要的功能,为了适合将来的许多用户的运用,特殊进行了压力测试,尽
48、量用json的格式进行数据的沟通防止token泄漏,本系统的优点是做部分平安测试,尽可能提高系统的平安性,最终,还要通过兼容性测试提高系统的质量,保证系统的可用性。 8.2 展望 对于本系统的不足和缺点,缘由是在前期的系统的整体性调研时间比较短,代码的编写方面和测试系统的时间不足够。在系统的性能、内存占用率等方面还有很大的改进空间。另外还有就是在系统方面的问题比如没有设计api。互联网的发展,许多时候是须要许多系统协同工作,共同发展的,须要设计api给其他的系统调用,比如在论坛系统中运用到的第三方登录就是运用的github的api。本系统供应的是网上全部论坛中最基本也是最重要的功能,但是没有新奇的创新,这是很明显的不足之处,在以后迭代的版本中会尽量进行更新和设计。 参考文献 1毋世晓.基于MVC的BBS论坛创建与实现J.