【《基于Spring Boot的个人博客系统的开发与实现》11000字(论文)】_第1页
【《基于Spring Boot的个人博客系统的开发与实现》11000字(论文)】_第2页
【《基于Spring Boot的个人博客系统的开发与实现》11000字(论文)】_第3页
【《基于Spring Boot的个人博客系统的开发与实现》11000字(论文)】_第4页
【《基于Spring Boot的个人博客系统的开发与实现》11000字(论文)】_第5页
已阅读5页,还剩23页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于SpringBoot的个人博客系统的开发与实现摘要在这个多元化的信息时代,构建个性化的博客,可以充分的展示自己的观点和表达自己的情感。个人博客作为一种简易的信息发布方式,也是目前为止发展比较成熟的信息交流工具之一,因其时效性、互动性、便捷性、个性化受到广大网友的青睐。Blog是以网络为载体,简易迅速便捷的发布自己的心得,及时有效地与他人进行沟通,再集丰富多彩的个性化展示与一体的综合性平台。本系统是基于SpringBoot的个人博客系统,是基于B/S(浏览器/服务器)模式开发的系统,分别从技术分析、需求分析、数据库设计和功能模块研发等方面,对系统的具体开发流程进行了完整的阐述。本项目使用了MVC设计模型,大大地降低了程序耦合、增加了代码的复用性,前端采用了Jquery,后端主要采用了SpringBoot+Mybatis+Thymeleaf的技术体系,并结合MySQL数据库及开发工具maven+idea+navicat完成设计,提高了系统的延展性,为系统的升级和迭代提供了功能接口。该个人博客系统包括六个模块,分别为博客管理模块、评论管理模块、分类管理模块、标签管理模块、友情链接模块、系统管理模块。关键词:个人博客系统、B/S结构、SpringBoot、MyBatis目录203681绪论 绪论研究背景与意义博客这个名称最早由约翰·巴杰在1997年12月提出。1998年,互联网上的博客网站屈指可数。那时,Infosift的编辑耶西·盖瑞特想列举一个博客类似站点的名单,便在互联网上开始了艰难的搜索。终于在1998年12月,这份名单在Camworld网站上发布。其它博客站点维护者发现此举后,纷纷把自己的网址和网站名称、主要特色都发了过来,这个名单也就日渐丰富。到了1999年初,耶西的"完全博客站点"名单所列的站点已达23个。与传统社交相比,网络社交跨越了时空的限制。很多人并不擅长与人分享自己的情感状态,他们不会当面跟人倾诉自己的情感困惑、挫折、收获,但可以半隐晦半直白地发表在微博、豆瓣、人人网、微信朋友圈等社交网络上。因此博客系统就具有了它存在的意义,它可以满足需要通过社交来满足自我需求的人群,可以通过博客分享日常、分享知识或者跟网络上有同等兴趣的人聊天来达到社交的需求。博客系统主要解决两大方面的问题,分享和互动。用户是希望可以通过个人博客系统来表达更多的想法,可以随时发布文章,并且通过评论区可以结交了不同的朋友。博客在专业领域的地位仍然不可动摇,正如IT类博客,专业的知识交流必须基于一个完整的、稳定的交流模式,长文不可避免,而且需要更强的开放性。这些都是博客所具备的先天特性。而其他社交平台,比如微博,其琐碎的信息获取和重要内容无法得以突出等弊端日益显现。本次个人博客系统,分享模块,没有其他社交平台那样复杂的功能,只限于该平台下的个人博客的新增、修改和展示功能。互动模块,主要是通过评论博客的方式来体现,个人博客的评论还需要后台审核才能实时呈现,避免了类似微博上言语不雅和带有攻击性言语的出现。本系统主要是以分享知识为主,帮助我们学习新技能,提高我们的专业能力。它能记录学习过程中遇到各种问题与以及解决问题的方法,方便其他网友遇到同类问题时能够快速定位问题,提高自己解决问题的效率,从而快速成长。另外,在写博客的同时,不仅可以锻炼我们写作能力,还可以帮我们了解人们的反应,这可以扩展我们的创造力。国内外研究现状1.2.1国内现状研究:博客是互联网上最热门的应用之一,也是迄今为止发展最为迅速的一种应用。根据艾瑞市场咨询2005年的调查数据显示叮,中国的博客用户从2003年的20万增长到2004年的100万,增长率为400%。而中国互联网信息中心发布的2006年及2007年的中国博客调查报告称,2005年博客得到规模性发展,截止2006年8月底,我国博客作者达到1748.5万人,到2007年11月底,我国博客用户已经占到网民总数的26.1%,博客作者的规模达4698.2万人。博客给社会的方方面面带来了一定的影响,它也因此成为研究的热点,各领域的学者开始对博客进行思考和研究。例如,有的学者从传播学的角度出发,认为博客会对当前的信息传播格局产生影响;也有学者对博客和传统媒体进行比较,分析两者之间的关系;还有不少学者在思考如何在知识管理的实践中运用博客。中国的互联网普及发展会受到特殊的管制,在个人网站信息监管流程上也极为复杂。1.2.2国外现状研究:在发达国家,个人网站的搭建方式和平台也是多种多样的,从操作系统上划分,除了较为普遍的windows,还有基于Linux,MacOS等更为人性化的方式,举例来说,Mac0S中提供的iWeb套件,就能完整实现一个个人站点的设计,开发,以及发布。在中国一般化的基于windows的开发,开发方式老旧,理念落后,流程繁琐,并不利于个人站点的普及。而且,于人口基数较大,所分配的IPv4资源较少,网络管制等问题,实现个人站点的发布大多只能通过第三方的空间服务提供商实现。本文的主要工作和目标本文主要有以下几个内容:第一章:绪论。主要涵盖了:研究背景与意义,国内、国外研究现状,研究的主要内容及本文的安排。第二章:关键技术介绍。主要描述了MySQL和Mybatis相关的部分内容,并对这二者间的优点加以补充;接着阐述了SpringBoot框架,MVC设计模式,同时针对系统所涉及的Thymeleaf引擎模板进行了介绍。第三章:系统需求分析。主要介绍了系统的目标要求、功能要求、非功能要求、数据库设计需求等几个不同方面的内容。第四章:系统总体设计与功能实现。首先介绍了系统架构的搭建、体系结构的构成,然后有针性的对主要功能设计、数据库设计进行阐述。第五章:系统的测试与分析。包括系统的测试环境,对系统进行了黑盒测试和白盒测试并对测试结果进行了分析。第六章:总结与展望部分。对本系统进行了详细的总结,并总结了在完成此系统期间所遇到的困难,并对今后工作的方向做了展望。本章小结本章分三部分阐述了本文的研究背景和意义,然后介绍了国内外研究现状,并在本章最后简要说明了本文的主要工作和目标。

关键技术介绍MySQL数据库首先,我们开发任何系统,数据库都是至关重要的系统组成部分,系统实现任何的功能,实际上都是实现数据库的CRUD操作,我们之所以要用到数据库技术,是因为它是一个可以长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据"仓库"。我们用到数据库,其实就是用它来保存数据,并能安全管理数据(如:增删改查等),减少数据的冗余。在此次博客系统项目中,我用到的是Mysql数据库,相比于其他的数据库,因为它是开源的、而且不收取任何的费用,小巧并且功能齐全,还可以运行在Windows或者Linux操作系统上,对于我们学生个人来说,再好不过。在实现我们跟人搭建网站和毕业设计方便都有很大的优势。Mysql作为关系型数据库,几乎是软件体系中最核心的一个存在,它是需要在系统中配置连接数据库,并且在dao层完成去数据库的操作,降低系统各个模块之间的耦合程度,不管是javaweb中运用数据库驱动连接数据库,还是ssm框架中Mybatis的运行都是离不开数据库的,整个系统的架构体系,也都是围绕着mysql数据库,前端和后台来进行数据的相互和功能的实现的。在企业大型项目中,很好的设计数据库存储,能够极大的优化系统性能,合理的运用数据库键值的索引,能够加强对数据库的搜索,也是企业比较注重的一点。Mybatis框架介绍Mybatis是一款半自动的ORM持久层框架,主要目的还是为了简化开发过程,我们需要自己手动定义好ORM映射关系,就是通过对象去管理数据库里的数据。然后实现增加、删除、修改数据库的功能,但是运用mysqlbatis还是需要我们手动编写SQL语言的,但是相对于JavaWeb中对数据库的操作,mybatis大大简化了数据库操作的功能,具有相当高的灵活性[5]。在mybatis中,我们可以很方便的进行SQL参数的设置,并且它还提供了关联查询和动态SQL等功能,能够极大提高开发者的效率,降低开发成本。SpringBoot框架此项博客系统,正是运用了SpringBoot框架,开发一个web应用,从最初开始接触Servlet结合Tomcat,跑出一个HelloWorld程序,是要经历特别多的步骤;后来就用了框架Struts,再后来是SpringMVC,到了现在的SpringBoot,SpringBoot呢,就是一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置,youcan"justrun",能迅速的开发web应用,几行代码开发一个http接口。所有的技术框架的发展似乎都遵循了一条主线规律:从一个复杂应用场景衍生一种规范框架,人们只需要进行各种配置而不需要自己去实现它,这时候强大的配置功能成了优点;发展到一定程度之后,人们根据实际生产应用情况,选取其中实用功能和设计精华,重构出一些轻量级的框架;之后为了提高开发效率,嫌弃原先的各类配置过于麻烦,于是开始提倡“约定大于配置”,进而衍生出一些一站式的解决方案。这就是Java企业级应用->J2EE->spring->springBoot的过程。随着Spring不断的发展,涉及的领域越来越多,项目整合开发需要配合各种各样的文件,慢慢变得不那么易用简单,违背了最初的理念,甚至人称配置地狱。SpringBoot正是在这样的一个背景下被抽象出来的开发框架,目的为了让大家更容易的使用Spring、更容易的集成各种常用的中间件、开源软件;简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,springboot整合了所有的框架[6]。SpringMVCMVC是Java开发中的一种架构模式,分别为模型(Model)、视图(View)、控制器(Controller)[7]。它是为了实现代码的功能的结构化,使得代码的功能模块和结构简介明了。Model(模型):主要和数据库打交道,接收Controller层发来的处理数据的请求,操作相应的数据,返回给视图层展示给用户。View(视图):把相应的数据按一定的格式展示给用户。Controller(控制器):接受用户的请求,处理相应的业务,然后让model层处理相应的数据,最后让视图层展示相应的数据信息。SpringMVC可以很好的简化开发过程,通过Controller层接受用户发送的请求,然后调用相应的模块去处理业务,然后交给model层进行数据的处理,最后返回到视图层给用户进行相应的展示,完成整个请求和响应的过程。它可以很好的结合Springboot框架,快速去搭建项目的结构,也可以和很多的第三方库很好的结合使用,极大的提高开发、和部署的效率。后期项目开发完成后,也能通过完整的项目结构对项目进行很好的测试。Thymeleaf此项博客技术,前端运用的是Thymeleaf模板引擎技术,主要是我为了实现前后端分离,让使用者操作页面和实现功能的数据进行有效的分离,运用模板可以很好的生成想要格式的文档,通过引擎能够很好的生成html文档,最终以html的格式展示出来。开发一个系统,考虑到性能问题,动态页面每次修改打开都需要重新启动程序、输入链接,这个过程其实是相对漫长的。如果界面设计人员用这种方式进行页面设计时间成本高并且很麻烦,可通过静态页面设计样式,设计完成通过服务端访问即可达成目标UI的界面和应用,达到动静分离的效果。这个特点和优势是所有模板引擎中Thymeleaf所独有的,这也是为什么这次博客系统要采用这种架构。系统需求分析系统设计目标博客系统呢,主要是以互联网作为载体,然后可以非常简单、迅速的发布自己的一切日常vlog和一些生活上的新的,及时有效的和互联网的其他朋友进行很好的交流,而且能够非常丰富的展示个人想要展现的所有内容,是一个丰富多彩的个性化展示于一体的综合性的一个平台。我们日常生活中,博客系统可以很好、很充分的展示每个用户内心的世界、生活状态、甚至一些技术性资料的展示,个人生活兴趣方面的内容等等,任何存在于互联网上的人群,都可以很好的,很方便,很快捷的使用系统,就像每个人拥有自己记录生活的笔记本一样[8]。系统功能保留了传统博客系统的功能,同时又加上了人性化的界面设计,完善的数据更新能力、实用的管理以及个性化的设计使本系统能适应博客的发展。系统页面采用Html语言和Css样式以及JavaScript脚本来设计,系统的相关功能由JAVA语句来实现,使用Tomcat为服务器,和MySQL数据库作为后台,采用Springboot+Mybatis+Thymeleaf模式来完成系统的相关功能。主要分为管理员用户后台管理和首页博客展示。管理员通过登录账号、可以发布相应的博客,查看发布的博客,对主页用户的评论进行审核通过,一些标签的修改和系统配置的更改等等。系统功能需求分析系统需求主要包括以下功能:(1)管理员后台管理功能:用户可以通过登录界面,输入相应的管理员账号和密码,进入到管理员后台管理界面。后台管理: 图3.1管理员用例图发布博客:管理员通过发布博客界面,输入相应的文章标题,文章标签,文章的主体内容,选择相应的照片就可以发布相应的博客。博客管理:所有发布的博客内容,都以列表的形式进行展示,管理员可以看到所有发布的博客的相应的内容,可以实现对所有博客的新增、删除、修改和查询操作。评论管理:为了防止游客恶意的博客评价,系统设置了评论管理功能,可以看到所有游客的评论信息,可以手动对游客的评论进行筛别。标签管理:可以对文章的一些相应的标签进行CRUD操作,方便主页博客的展示。(2)前端博客展示: 图3.2游客用例图展示所有博客发布的内容,所有博客做了分页处理,游客可以浏览相应的博客内容,可对某个博客内容进行相应的评论,评论进入到后端审核,审核通过才能展示。侧边搜索栏,可以对博客进行模糊查询,也可根据标签对博客进行相应的筛选,查看自己想要查询的博客内容,最近发布的博客文章,会在侧边导航栏进行相应的展示和排序,可以根据每个博客不一样的点击量进行排序和筛选。系统非功能需求分析(1)可扩展性:常规的App或者网站的访问量弹性很大,刚开始的时候访问量可能比较小,但是随着市场推广进行,访问量可能急剧增加,或者随时间的波动,访问量变化很大,这需要在设计的时候将系统进行很好的切割,分成功能单一的服务,根据各个系统负载的情况启动规模不同的集群。后期如果需要增加功能,可以在原有的架构上增加新的功能,不需要对原有的功能进行太大的改动。(2)性能需求:个人博客系统,不涉及到视频的上传和播放,只涉及到一些文章和图片的数据交互,所以在性能上,还是可以很好的展示,不存在卡顿和延迟的现象。一般企业级性能需求,都是根据常规的经验预估来满足性能的硬件需求,数据量巨大,可以通过增加缓存等方式对系统进行优化处理。(3)可维护性可以采用自动化的持续集成技术,自动编译、自动部署、自动测试,降低软件迭代过程中的重复劳动强度,减少出错的几率,让软件的修改bug和增加功能时更可靠。特别是代码的单元测试一定要做,将边界条件进行测试,让集成测试的过程中尽量发现价值比较大bug,避免在系统测试过程中去修改那些低水平的bug,毕竟系统测试的成本和代价都比较大。数据库设计需求分析(1)顶层数据流图主要描述整个系统,数据大致的流动过程,游客可以浏览相应的博客,可以对博客进行相应的评论,评论会通过系统存储在数据库,到后端进行数据的取出,进而对评论数据进行相应的操作。顶层数据流图如图3.4.1所示:图3.4.1顶层数据流图(2)一层数据流图则是展示游客和后台管理员更细致的数据流向,游客浏览阅读个人发布的博客,也可以发布相应的评论,评论进入到后台。后台管理员,可以对相应的权限和标签进行管理,能管理所有博客的内容和游客的评论信息。一层数据流图如图3.4.2所示:图3.4.2一层数据流图(3)二层数据流图是呈现整个评论的数据过程,游客对博客进行评论,数据流转到后台管理,后台管理对评论的数据进行相应的操作,如果内容适宜,则写入评论到数据库,在前端界面进行展示,如果内容存在相应的问题,在数据库中对评论进行删除处理。二层数据流图如图3.4.3所示:图3.4.3二层数据流图(4)登录相关数据库需要tb_admin_user数据库表存储用户的账号和密码,用于登录界面回传用户和密码和数据库进行比对,实现登录功能。(5)博客相关数据tb_blog:来存储博客的相关内容,存储博客标题、标签、图片、文章主体内容,文章发布时间等等。tb_blog_category:存储博客相应的分类内容,分类的类名和创建时间。tb_blog_comment:存储博客评论,可以记录评论者相关的信息,评论者姓名、邮箱和评论的时间等信息。tb_log_tag:存储博客文章的标题和创建时间,标题用于在主页侧边框进行导航展示,方便用户查看,创建时间则用来筛选最新发布的博客。tb_link:存储相应的网站链接,可以是一些学习的网站,需要跳转的链接等。本章小结个人博客系统是针对希望个性化使用博客的用户的需求而设计,是可以完成个人博客用户登入、发表、浏览、修改文章以及图片、留言、评论甚至个性化设计博客网站页面、排版布局等功能的系统。此次博客,主要采用浏览器/服务器架构,主要分为三大模块功能:个人博客浏览、登录功能、后台系统管理等。基于个人博客的特点,本系统实现个人博客的主要功能,包括博客系统的站主登录/退出,博客站主并发表文章、图片等,游客发表评论、分页浏览文章等。博客系统主要区分了两类用户,分别为博客站主和普通游客。网站登录仅限于博客站主,博客站主可以登陆写下自己的文章与上传附件,登陆即拥有网站管理的权限,未登录时均以游客身份访问。游客主要的功能是分页、分类、分标签阅读博客站主文章和浏览图片,发表评论和留言。后期可以讲系统部署到Liunx服务器中,对前端标签元素进行筛选,可以通过编写自动化测试脚本对系统进行相应的测试与维护工作。

系统的总体设计与功能实现系统架构设计如图4.1所示,是整个系统的架构设计,从两个角度出发。一个是系统管理员的角度,系统管理员可以对博客进行增删改查的操作,可以对前端博客的评论进行相应的管理,可以对标签进行增删改的处理,也可以跳转到主页去访问主页的博客内容。第二个则是从用户的角色出发,用户只能对博客进行相应的访问,碰到感兴趣的博客,可以对博客进行相应的评论。图4.1系统网络结构设计 如图4.2所示,是整个系统逻辑结构,从用户的角度,用户可以浏览主页多个博客内容,也可以对多个博客进行多个评论的发布。后台管理员,可以对多个博客进行编辑,也可以对多个博客、多个评论、多个标签进行批处理,最主要的功能还是对用户的评论进行相应的处理。图4.2系统逻辑结构设计数据库设计博客系统的数据库表包含管理员用户表、博客表、博客目录表、博客评论表、博客标签表、标签关系表共6张表组成。管理员用户表主要存储管理员的主要信息,其中包括管理员的用户名,密码等信息,用于管理员登录到后台对博客进行有效的管理。如表4.1所示。表4.1管理员用户表名称类型空默认值备注adimin_user_idint(11)Nauto_increment主键Login_user_namevarchar(255)Y.用户名Login_passwordvarchar(255)Y.密码Nick_namevarchar(255)Y.lockedvarchar(5000)Y.博客表主要用来存储博客相关的信息,如博客标题、博客图片、博客目录ID,博客标签,博客类型,博客评论,创建时间,更新时间等等如表4.2所示。表4.2博客表名称类型空默认值备注Blog_idint(11)Nauto_increment主键Blog_tilevarchar(255)Y博客标题Blog_sub_urlvarchar(255)YBlog_cover_imagevarchar(255)Y博客图片Blog_category_idvarchar(255)Y博客目录IdBlog_category_nameint(11)N博客目录名Blog_tagsvarchar(255)Y博客标签Blog_statusvarchar(255)Y博客类型Blog_viewsvarchar(255)Y博客标签Blog_commentvarchar(255)Y博客评论is_deletedint(11)Ncreate_timevarchar(255)Y创建时间update_timevarchar(255)Y更新时间博客目录表,用于存储所有博客的目录,用于主页侧边导航栏展示,便于用户查看相应的论文如表4.3所示。表4.3博客目录表名称类型空默认值备注Category_idint(11)Nauto_increment文章目录idCategory_nameint(11)Y文章目录姓名Category_Iconvarchar(255)YCategory_rankint(11)YIs_deletedvarchar(255)YCreate_timevarchar(255)Y目录创建时间博客评论表,用于存储博客评论相关的信息,如博客id,评论者邮箱,个人网站,评论创建时间,评论主体内容等等。如表4.4所示。表4.4博客评论表名称类型空默认值备注Comment_idint(11)Nauto_increment主键Blog_idint(11)Y博客idcommentatorvarchar(255)Yemailint(11)Y邮箱Website_urlvarchar(255)Y网站urlComment_create_timevarchar(255)Y创建时间Comment_body评论主体Commentator_ipReply_body回复主体Reply_create_time创建时间Comment_status评论类型Is_delete标签表,用于存储博客相应的标签和标签创建的时间。如表4.5所示。表4.5标签表名称类型空默认值备注Tag_idint(11)Nauto_increment标签idTag_namevarchar(255)Y.标签姓名Is_deletevarchar(255)Y.Create_timevarchar(255)创建时间标签关系表,用来存储标签关系。如表4.6所示。表4.6标签关系表名称类型空默认值备注Relation_idint(11)Nauto_increment关系idBlog_idvarchar(255)Y.博客idTag_idvarchar(5000)Y.标签idCreate_timevarchar(255)Y.创建时间系统主要功能模块实现博主登录模块:登入系统后台管理登录页面,博主首先输入用户名和密码,它回去调用Controller层代码,然后进入业务层调用数据库的一些操作确认是否用户名密码正确,然后返回到前台就会登进去。登录首页模块主要代码:<formth:action="@{/admin/login}"method="post"><divth:if="${not#strings.isEmpty(session.errorMsg)}"class="form-group"><divclass="alertalert-danger"th:text="${session.errorMsg}"></div></div><divclass="form-grouphas-feedback"><spanclass="fafa-userform-control-feedback"></span><inputtype="text"id="userName"name="userName"class="form-control"placeholder="请输入账号"required="true"></div><divclass="form-grouphas-feedback"><spanclass="fafa-lockform-control-feedback"></span><inputtype="password"id="password"name="password"class="form-control"placeholder="请输入密码"required="true"></div><divclass="row"><divclass="col-6"><inputtype="text"class="form-control"name="verifyCode"placeholder="请输入验证码"required="true"></div><divclass="col-6"><imgalt="单击图片刷新!"class="pointer"th:src="@{/common/kaptcha}"onclick="this.src='/common/kaptcha?d='+newDate()*1"></div></div><divclass="form-grouphas-feedback"></div><divclass="row"><divclass="col-8"></div><divclass="col-4"><buttontype="submit"class="btnbtn-primarybtn-blockbtn-flat">登录</button></div></div></form>效果展示:博主后端管理功能:系统管理员用账号密码登录进入后台管理界面后,博主可以进入到相应博客管理界面,每一个模块都有对应的Controller层处理,前端页面发送请求,会调用Controller层代码,然后进入业务层调用数据库的一些操作,然后返回到前端显示。

后台管理模块代码框架和主要代码展示:<divclass="content"><divclass="container-fluid"><divclass="card-header"><h3class="card-title">管理首页</h3></div><!--/.card-body--><divclass="row"style="margin-top:40px;border-top:0px;"><divclass="col-lg-4col-6"><!--smallbox--><divclass="small-boxbg-info"><divclass="inner"><h3>新增博客</h3><p>记心中所想</p></div><divclass="icon"><iclass="fafa-pencil-square-o"></i></div><ath:href="@{/admin/blogs/edit}"class="small-box-footer">let'sgo<iclass="fafa-arrow-circle-right"></i></a></div></div>新增博客:博客管理:评论管理:用户主页博客浏览功能:游客和系统管理员可以通过输入网站进入到网站主页界面,游客可以查看主页相应的博客,并可以在博客下发布相应的评论,系统后台收到相应的评论,需要系统管理员审核通过才能发布相应的评论,后侧导航栏,根据搜索栏、热门标签和最新发布时间排序的博客来筛选游客比较感兴趣的博客内容。首页模块主要代码:<divclass="col-lg-4col-6">

<!--smallbox-->

<divclass="small-boxbg-danger">

<divclass="inner">

<h3th:text="${tagCount}">65</h3>

<p>标签总量</p>

</div>

<divclass="icon">

<iclass="fafa-tags"></i>

</div>

<ath:href="@{/admin/tags}"class="small-box-footer">Moreinfo<i

class="fafa-arrow-circle-right"></i></a>

</div>

</div>展示效果:4.4本章小结本章主要对博客系统总体设计和架构以及相应的实现功能进行了具体的阐述,此次博客系统,主要实现三大模块的功能:管理员登录功能、后台管理功能、主页博客展示功能,围绕着三大功能板块进行展示,相关的代码展示和具体实现的界面都作了很大的阐述。管理员登录功能:用户通过输入相应的url进入到相应的网站界面,输入用户名和密码,后台返回用户名和密码,在数据库对相应的数据进行比对,从而判断登录操作的正确与否,并且给用户相应的提示信息。后台管理功能:用户通过系统管理员的账号、密码登录到后台界面,就能够访问后台管理界面,用户可以在后台管理界面,对博客的增加、修改、删除进行相应的操作,可查看主页发布的所有评论信息,并对相应的评论进行审核通过,来控制有效评论的发布。相应的标签管理也是后台可以进行处理的,以便于前端博客数据的展示。主页博客展示:主页主要展示相应的博客内容,设置了个性化的查找和当下热门的排行筛选,以及热门标签搜索功能,来满足更多用户的体验和使用。

系统的测试与分析测试环境该项目部署在Linux服务器上,通过Xshell工具,远程访问和相应项目环境得搭建,可以使项目运行在服务器上,通过相应的域名进行访问,并对其进行相应的测试工作。测试环境搭建步骤:Xshell远程连接服务器:图5.1云服务器上安装jdk并配置相应的环境在/etc/profile添加代码:exportJAVA_HOME=/usr/java/jdk1.8.0_221exportCLASSPATH=$JAVA_HOME/lib/exportPATH=$PATH:$JAVA_HOME/binexportPATHJAVA_HOMECLASSPATH部署SpringBoot项目需要将项目打成jar包图5.2服务器运行项目:java-jar***.jar//***为你的jar包名图5.3黑盒测试测试环境搭建成功后,输入相应的服务器网址就能访问到相应的功能模块,这套博客系统,我主要采用场景法:根据不同角色来对系统进行访问,来模拟用户的使用,来查看相应的相应的功能是否复符合我预期的期望。部分测试流程展示:模拟用户登录:场景一:不输入账号名和密码图5.4场景二:输入错误的信息图5.5场景三:输入正确的用户名和密码:图5.6模拟系统管理员管理博客:场景一:新增博客场景二:修改、删除、展示博客内容场景三:评论管理:删除、审核博客评论内容。场景四:标签管理:增加、删除、修改标签内容。场景五:后台信息的相应修改。模拟游客访问主页:场景一:模拟游客访问博客场景二:模拟游客通过搜索访问博客场景三:模拟游客通过标签访问博客场景四:模拟游客通过排序导航访问博客场景五:模拟用户评论博客。白盒测试图5.7图5.8通过在程序中插入相应的输出语句,来判断程序的执行结果是否正确,通过Debug的方式,一步步执行相应的模块功能,看代码运行结果是否和预期的保持一致,来达到我们测试预期的效果。结果分析通过白盒测试对相应的代码模块和数据库操作进行测试,系统具体数据操作流程和展示都与预期的结果保持一致,证明该系统,已成功实现并成功部署在服务器之中,后期可以根据自己需求进行相应的使用和更改。通过黑盒测试对系统整体功能,都进行了全面覆盖的测试,通过冒烟测试流程,博客系统大致功能完善,可以满足自身的相应需求,并在后期可以去系统进行相应的维护和测试。本章小结本章主要是对该博客系统如何进行相应的部署和测试进行相应的阐述,在部署的过程中,会发现相关的服务器系统相应的问题,可以通过查询资料来解决碰到的一些问题,通过黑盒/白盒测试方式,对整个系统代码层面和功能层面所有细节进行了大致覆盖测试,来保证软件系统的质量和后期使用相关问题的解决和规划。

总结与展望6.1总结经过两个多月的不懈努力,终于完成了毕设的个人博客系统,这次的系统的设计与实现使我的感受颇深,无论是在知识技术方面还是个人自身素质的培养等方面都有了更深的认识。本文主要叙述的是一个基于SpringBoot技术的个人博客相关技术的研究,这不仅仅是一个具有社交功能的博客系统,更是承载知识分享的博客系统。本系统使用了当前比较流行的SpringBoot+Mybatis+Thymeleaf的技术体系,并结合MySQL数据库及开发工具maven+idea+navicat完成设计,该系统具有博客的增加、删除、修改等功能。本文共分为六章,围绕个人博客的内容展开,第一章主要是借鉴于前人的研究成果,在此基础上开展自己的研究意义与目的,更加清楚的阐述了本文的研究内容和主要工作安排。第二章则是介绍了所涉及到的关键技术,主要使用了SpringBoot技术,提供了默认的配置和可拔插的设计,大大地提高了程序的开发效率。第三章和第四章是本文论述的重点:第三章从系统的功能分析、非功能分析、数据库设计分析这三个方面着手,使得本系统具有方便、安全、快捷、安全等优点;第四章是对博客系统总体设计和架构以及相应的实现功能进行了具体的阐述,描述了系统的具体实现过程。第五章是对系统进行有效的测试,通过相应测试方法对系统进行测试,黑盒和白盒测试技术结合使用,方便快捷了系统各个模块的详细测试。第六章就是对本文的收获总结及研究展望进行分析。此系统的顺利完成,完美地验证:“实践是思想的真理”。在大学四年的学习生涯里,我们虽然丰富了很多理论知识,但是在技术实践方面还是有所欠缺。本次博客系统的设计完成,使得我们能够更好地将大学期间所学的宝贵知识融贯汇通到具体的开发之中,同时,也能使我们更进一步了解软件的开发原则和过程。本次系统的实现过程是痛苦并快乐的,在此期间我遇到了很多困难,比如工具的使用不够熟练、环境搭建不成功、数据库编码的设置不正确、后端数据传给前端格式等问题,但通过自己的努力,在查找了很多资料,也请教老师同学后,这些问题都已经迎刃而解。另外,在这个不断努力解决问题的过程中,我还学习到了书本上难以学到的知识,深刻体会到了细节决定成败这个道理,锻炼了我的耐心和细心。6.2展望从系统的完成程度来看,系统各个模块功能均已完成,但是由于自己的技术和时间有限,导致系统的功能并不完美,在前端页面这块的审美也有待提高;在后台代码的优化的方面的空间还很大;这些问题,也只能留到日后能力提高后进行逐一解决。如下所示:(1)前端页面显示效果不够唯美、简洁。页面布局这块的美观度、简洁度没有很好表现出来,缺少更多的显示特效以及复杂功能。(2)浏览器的兼容性。这是个基于B/S架构的系统,在浏览器中生成界面,所以面对版本不一的浏览器必然会兼容性问题,这就可能需要从浏览器解析差异的角度分析兼容性问题[10]。一般情况下,我们的用户的需求是,无论使用哪种浏览器登录我们的系统,都应该展示一样的效果。所以,解决浏览器兼容性问题,能够增强用户体验感。(3)平台多端的使用。目前此系统仅仅用于浏览器的实现,但是现在考虑到手机的便捷性,后期可以做一个适用于移动端的app进行多端登录也是很多必要的。(4)性能上需要优化。这块的表现主要是加载各个页面所需要的时间太长了,没有很好的优化。(5)测试技术不够完善。软件测试技术是贯穿于软件的整个生命周期,对整个系统至关重要。后期可以嵌入自动化测试,可以提高准确性和测试人员的积极性,同时也增加了软件的信任度。上述问题,都需要后期进行维护的时候逐一修改解决。

参考文献[

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论