




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SpringBoot的社交平台的设计与实现-毕业论文基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第1页。文档均为word文档,下载后可直接编辑使用亦可打印基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第1页。摘要社交平台体现了以用户为中心的理念,对广大社会交流沟通起着非常重要的作用。该平台主要包括用户内容、管理员审核两大模块。通过用户发表内容到管理员审核再到其他用户浏览内容;用户资料管理到管理员审核;用户推荐的三大主要过程解决了一些在实际中遇到的用户注册泛滥,用户传播不良思想和发表内容违规等矛盾,真正做到了用户与用户之间健康交流,文明交流的目标。关于社交平台的设计与实现的整个流程中,由社交平台的确立系统目标开始,对系统进行总体需求分析、系统功能需求、系统非功能需求还有业务流程分析,之后对系统进行概要设计和详细设计、对系统功能实现和系统测试运行。本文针对毕业设计的需求,应用SpringBoot框架开发社交平台,使用MySQL数据库进行关系数据库管理,采用了MD5加密算法对程序进行加密,使用了通过SpringBoot其自身带有的容器tomcat对平台进行前后端之间的数据交互,将MyBatis作为SpringBoot的持久性框架,Maven作为项目开发包管理工具。关键词:社交平台MySQLSpringBootMyBatisMaven基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第2页。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第2页。AbstractSocialnetworkingsitesembodytheideaoftakingusersasthecoreandplayanimportantroleinsocialcommunication.Theplatformmainlyincludestwomodules:usercontentandadministratoraudit.Thecontentpublishedbyusersisreviewedbyadministratorsandthenbrowsedbyotherusers.Userdatamanagementtoadministratorreview;Thethreemainprocessesofuserrecommendationhavesolvedsomecontradictionsencounteredinpractice,suchastheproliferationofuserregistration,thedisseminationofbadideasandtheviolationofpublishedcontent,andhavereallyachievedthegoalsofhealthyandcivilizedcommunicationbetweenusers.Inthewholeprocessofdesigningandimplementingthesocialplatform,startingwiththeestablishmentofthesystemgoalofthesocialplatform,theoverallrequirementanalysis,thesystemfunctionrequirement,thesystemnon-functionrequirementandthebusinessprocessanalysisarecarriedout,andthenthesystemisbrieflydesignedanddetaileddesign,thesystemfunctionrealizationandthesystemtestoperationarecarriedout.Accordingtotherequirementsofgraduationdesign,thispaperusesSpringBootframeworktodevelopasocialplatform,MySQLdatabasetomanagerelationaldatabases,MD5encryptionalgorithmtoencryptprograms,tomcat,SpringBoot'sownservercontainer,toexchangedatabetweenthefrontandbackoftheplatform,MyBatisaspersistenceframeworkofSpringBoot,Mavenasaprojectdevelopmentpackagemanagementtool.Keywords:SNSMySQLSpringBootMyBatisMaven基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第3页。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第3页。目录TOC\o"1-1"\t"标题2,1,标题3,1,标题4,1"\h\u第一章绪论 11.1研究背景 11.2开发目的 11.3写作意图 11.4论文的主要内容 21.5论文的组织结构 2第二章开发工具和技术简介 32.1开发工具简介 32.2技术简介 32.2.1SpringBoot简介 32.2.2Docker简介 32.2.3MyBatis简介 3第三章系统分析 43.1系统需求分析 43.1.1系统总体需求 43.1.2系统的功能需求 43.1.3系统的其他需求 53.2业务流程分析 53.3本章小结 6第四章系统的概要设计 74.1系统逻辑架构 74.2系统功能模块划分 84.3系统的数据库设计 94.4本章小结 14第五章系统详细设计和实现 15基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第4页。5.1登录页面 15基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第4页。5.1.1验证码代码实现 155.1.2登录页面展示 165.1.3登录页面流程图 175.1.4登录模块代码实现 175.2用户点赞评论和收藏 205.2.1界面展示 205.2.2点赞评论流程图 225.3用户发布内容 235.3.1用户内容页面展示 235.3.2用户发布内容流程图 245.4推荐功能 255.4.1推荐界面展示 255.5系统后台管理 255.5.1后台管理界面展示 255.5.2内容审核的代码实现 265.6其他设计 275.7本章小结 28第六章系统测试 296.1运行测试 296.1.1测试概述 296.1.2测试目的 296.1.3测试所需要的环境 296.1.4系统功能测试 296.1.5系统性能测试 306.2测试结果 326.3本章小结 32基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第5页。第七章结论 33基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第5页。参考文献 34致谢 35基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第6页。绪论基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第6页。1.1研究背景当今时代科学技术不断向前蓬勃发展,互联网科技也在不断的创新过程中逐渐发展,越来越多的计算机科技和互联网产品随之而来,现代网络技术和网络多媒体技术逐渐发达,社交平台已经成为当下互联网网络产品领域必不可少的一部分。社交平台网络代替了以前非常传统的邮箱信件,拨打电话等社交方式,通过网络的通信交流形成的平台。网络不仅仅使带给人们一个广阔的社交渠道,还帮助人们拥有可以创造自己形象的可能。在这么一个社交环境下,人们可以通过多种多样的交流工具,或者多种多样的社交帐号为自己提供多种多样的交流方式和传播方式,还可以通过完全不一样的社交群体沟通交流,在各个不相同的地点传播信息并且融入各种各样的群体,吸收各种各样的文化环境。社交平台的到来,为人们提供多种多样的便利,新型的购物型社交平台带来的购物便利,新型的媒体型社交平台带来的媒体便利和新型的实名制社交媒体带来的信息便利。总而言之,现如今的社交平台已经成为了人与人之间强大的必要的特殊交流方式。1.2开发目的如今是互联网数据信息化时代,人们逐渐地改变了以往的社交模式,向大数据信息化时代变迁。现在的用户更多的需要个人的实名制和个人身份审核,越来越多的媒体趋向于短视频,短文章的发布,越来越多的购物平台需要以社交方式传播,其原因是大数据网络技术的信息化、数据化的过程。社交平台是以社会化,信息化,数据化的方便快捷有效的信息数据传播和交流实现的网络平台,其允许用户上传信息,评论交流,分享链接,即时沟通的平台。具有以下好处:一是有助于人与人之间的信息技术交流,提高人们的知识水平和竞争水平;二是有助于人与人之间跨越地域与语言的实事传播,扩充了人们的眼界;三是有助于人与人之间的经验交流不再仅仅是局限于抽象的文字交流,而是直接地通过照片和视频的真实情况告诉人们这件事情或者分享这件事情的经验,以更有效地方式让人们理解,快速地提高了人们的经验和能力1.3开发作用现代社会,由于社交平台的不断发展壮大,越来越多的知名社交平台出现了越来越臃肿的问题,也出现了其娱乐性越来越泛滥的问题,出现了大量的粉丝诋基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第7页。毁其他人的不文明现象。这使得本社交平台的诞生意义越来越明显,本项目的开发是为了解决实际中出现的不文明现象越来越多的问题。那么如何解决这一大痛点,实际就是通过减轻平台的娱乐性,向帮助人们学习提升的角度去实现并且加大后台管理人员审核目标,对不良现象加以改进,从而达到实现这一问题的解决目标。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第7页。1.4论文主要内容本论文使用了当下流行已久的Java编程语言,并且基于SpringBoot框架开发一个B/S结构的社交平台,主要工作有以下几个方面:(1)调查社交平台的产生背景,分析开发此平台的目的和意义。(2)调查开发社交平台所需要的技术,进行技术的需求分析。(3)分析此平台的需求文档之后,对比一些优良的架构和实现,对系统描述出概要的设计。(4)对社交平台的详细设计进行描述,其中包含有功能模块和界面设计等等。(5)对社交平台的实现,测试和发布。(6)总结论文,包括对社交平台的技术总结和未来期望并简要讲述自己的成果。1.5论文结构简介(1)第1章介绍了社交平台的研究背景,论文的内容和结构,开发的目的和开发用处。(2)第2章简单的讲述了社交平台所需要使用的开发用具和技术。(3)第3章介绍社交平台的系统分析。(4)第4章介绍社交平台的概要设计。(5)第5章的内容是社交平台的详细设计与实现。(6)第6章的主要内容是社交平台的测试运行。(7)第7章是对社交平台的结论。第4章到第5章是本论文的主要内容基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第8页。开发工具与技术简介基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第8页。2.1开发工具简介该项目开发环境为JDK1.8,管理工程的软件使用Maven,前端主要使用JSP,由MyBatis作为面向对象的persistenceframework,后端使用SpringBoot,数据库需要的软件是MySQL,开发工具使用IDEAIntellij2019.3.3使开发效率更高。2.2开发技术简介2.2.1SpringBoot简介该项目利用了SpringBoot框架做开发后端,SpringBoot作为一个由Java语言来实现的框架,它可以很好的用来建立微服务的项目工程。开发这个框架的团队叫PivotalTeam,它是用来创建独有的并且用来开发就绪的Spring工程应用。SpringBoot能够很好的帮助Java开发工程师开发一个不错的应用平台,可以使工程师们建立一个独有的、工厂级别的Spring应用工程,并且可以让使用者直接运行程序。工程师可以在最小的配置文件里开始配置,这样就不用在更加繁杂的Spring下进行完全的配置。SpringBoot框架为工程师们提供了许多的帮助和优化,例如:使Spring应用程序的代码理解和业务开发更简便,更加有效地提高工作效率,更加减少了项目开发的很多时间。2.2.2Docker简介通过Docker部署JDK1.8和MySQL5.7等提供了项目的开发环境和数据库环境,工程师和系统管理员能通过Docker容器更方便地搭建、启动和上传下载容器的应用。利用这个将容器内的软件搭建起来的过程,可以把它叫做容器化,这个搭建应用程序的方式已经是现代互联网发展中非常常见的了,但是它们能使以前的常用的部署方式变得更加简单便捷,以前浮躁地搭建环境的方式已经不再是问题,容器化这一非常能够抓住开发者们的痛点,这让容器化在现代互联网发展中越来越流行,正是因为容器化有以下众多好的特性:弱耦合性:容器是高度独立且封装好的类型,这能在开发者独立地升级或改变容器时毫不影响其他容器的运行。轻盈性:Docker能通过主机系统很好地发挥主机系统的资源,这更能体现出容器化的强大。可变性:能让非常繁杂的程序也可以进行部署。安全性:能够不需要开发者手动地进行容器配置下,很好地限制和区分开容器的应用程序过程。便携性:容器可以在本地系统中建立好并且上传到Docker官网上随时便携基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第9页。地下载到其他主机上。开放性:开发者能够使容器副本开放式地添加和自动化部署。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第9页。2.2.3MyBatis简介MyBatis是目前开发者社区中主流的持久化框架,自定义化数据库存储流程和数据库映射是Mybatis的基本功能。它的优点是能够几乎摆脱了开发者日常使用jdbc代码过程中浮躁的手动参数配置和手动检索问题。通过注释或者通过*.xml文件格式下编写更加简单易懂的XML格式的代码解决了以上这一开发者的痛点。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第10页。系统分析基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第10页。3.1系统需求分析3.1.1系统总体需求业务需求:全球约24亿人经常访问网络,人们的日常生活中逐渐被网络生活给占用,从而导致兴趣圈逐渐缩小,对现实世界有很大的影响,社交成为很多人的难题。但和一些现实活动中的传统活动比起来,现实中的活动和网络上的活动结合起来会更加的方便快捷。社交平台网站的最为普遍广泛的用户群是大学生,在大学生的观点来看,社交平台网站除了网络日志等这些常用的基础功能是远远不行的,还需要有用户实际真正有需求的高级应用。因此开发者们要是想要开发与大学生群体有关联的应用平台,就必须熟悉认识到大学生这一群体他们真正想要的是什么,最为迫切需要的东西是什么,而不能仅仅看表面上功能很多界面很好就能一蹴而就的,经过网络调查发现得出,休闲娱乐相关的类型是大部分大学生一直以来生活上的需求,因此开发社交平台不仅是让他们获得自己的个人世界的需求,还要在实际生活上有所关联。3.1.2系统的功能需求通过对系统的需求分析了解到,该系统总共有5大模块,2种角色,根据系统五大模块可以分为:内容模块:主要有文字的发表,视频的发表,图片的发表,消息通知,点赞收藏评论等功能。主要是文字视频和图片的分离式发表,文字为一个区域,视频为一个区域,图片为一个区域,更加体现出用户更加喜欢哪个内容类型的表现形式而不显得内容过于冗杂。好友模块:主要有好友关注,好友信息等功能。推荐模块:主要有用户推荐,内容推荐等功能。根据用户的喜好和设置来进行推断好友和内容的推荐方式。用户管理模块:主要有账号管理,手机绑定,个人资料,好友管理等功能。主要是根据用户自己的真实信息填充相应的真实资料情况。后台管理模块:上传内容审核,用户信息管理,发表信息管理,点赞信息管理,用户推荐管理,好友管理等。只要是对用户的基本信息,权限,推荐信息,内容发表信息进行相应的管理,不同用户会有不同样的角色成员,每个角色成员就对应了不同的角色权限。根据以上系统需求分析得出,可以将系统的相关角色和系统功能画出如下系统功能用例图,如下图3-1:基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第11页。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第11页。图3-1系统功能用例图3.1.3系统的其他需求(1)系统吞吐量TPS:TPS每秒不小于100。(2)平均响应时间:规定有100个请求,那么请求平均花费时间应该在1000-2000ms之内。(3)安全性:用户在请求所有的输入时,系统应该将这些请求做安全性相关检测,在出现安全漏洞和安全问题时必须要解决这些问题。(4)数据可用性:为了能够达到使用数据库的存储的目标,系统的所有有关数据应该兼容可用配置。3.2业务流程分析由系统功能需求和调查得知系统的业务流程主要有三种流程,通过用户发表内容、管理员审核内容、其他用户收藏内容,收藏成功或其他用户点赞内容,点赞成功或其他用户评论用户、管理员审核、评论成功三个过程。具体流程图如图3-2-1所示基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第12页。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第12页。图3-2-1业务流程图3.3本章小结系统的业务流程分析与需求分析是该章主要内容,在需求分析中主要介绍了开发此平台的用户痛点,本平台应该实现的功能模块以及本平台在运行中应该满足的非功能需求。还有本平台最主要的业务流程分析。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第13页。第四章系统的概要设计基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第13页。4.1系统逻辑架构基于MVC架构的实现是本文逻辑架构的基本思想,具体的架构分层如下所示:(1)用户层:是平台的主角,包括用户和管理员。(2)表现层:表现层主要使用了JSP技术,用户通过操作某一JSP来操作系统,如FrendsList.jsp,VideoLikes.jsp,Recommendation.jsp等。(3)服务层:该层是为系统提供中心模块的服务内容,如Frends服务,Recommendation服务,Video服务等服务接口类,经过用户在前端的页面请求,将请求放回给后台处理结果,最后将结果返回给前端页面。(4)数据存储层:在数据库中,使用了Mysql关系型数据库进行存储。为了缓存后台产生的数据,帮助提高系统性能,因而使用Redis。系统的逻辑架构图如下图4-1-1所示:图4-1-1系统逻辑架构图4.2系统功能模块划分本系统主要由5大模块和其他子模块,五大模块分别是内容模块,好友模块,推荐模块,用户模块,后台管理员管理模块。系统模块及其子模块如下:(1)好友模块:主要包括好友的管理(增加,删除,查询),好友资料的查看,好友内容发布查看。(2)推荐模块:主要包括好友推荐的推荐原因,推荐时间,推荐用户名称。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第14页。(3)用户模块:主要包括用户信息资料,我的好友查询,修改个人资料,修改密码,我的收藏。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第14页。(4)内容模块:主要包括文字发表,视频发表和图片发表。(5)管理系统模块:管理系统模块是帮助后台管理员更好地管理系统后台的相关信息,能够对每个用户角色对应的各种权限的管理,还有管理用户发表内容的审核,管理用户评论内容的审核,管理用户注册信息的审核等。通过以上信息可画出系统功能模块图如下图4-2所示:图4-2系统功能模块图4.3系统的数据库设计(1)实体E-R图设计利用E-R图对数据库的相关信息进行设计,首先针对用户为实体具有以下属性:编号,用户名,密码,姓名,性别,出生年月,电话,邮箱,创建时间如下图4-3-1所示图4-3-1用户实体E-R图基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第15页。针对好友,具有以下属性:编号,用户编号,姓名,性别,电话,添加人,创建时间如下图4-3-1所示基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第15页。图4-3-2好友实体E-R图把评论当做实体,针对评论为实体具有以下属性:编号,评论内容,评论人,评论时间如下图4-3-3所示图4-3-3评论实体E-R图用户收藏内容的这一过程,可以把收藏夹当做实体,针对收藏夹具有以下属性:编号,用户名,标题,链接,创建时间如下图4-3-4所示基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第16页。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第16页。图4-3-4收藏实体E-R图用户发表文字内容,把文字内容当做实体,针对文字内容具有以下属性:编号,文字主题,文字内容,发表人,点赞量,创建时间,是否审核如下图4-3-5所示图4-3-5文字内容实体E-R图用户发表图片内容,把图片内容当做实体,针对图片内容具有以下属性:编号,图片主题,图片,发表人,点赞量,创建时间,是否审核如下图4-3-6所示基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第17页。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第17页。图4-3-6图片内容E-R图用户发表视频内容,把视频内容当做实体,针对视频内容具有以下属性:编号,视频主题,视频,发表人,点赞量,是否审核,创建时间如下图4-3-7所示图4-3-7视频内容E-R图Users用户表如下表4-3-1所示:表4-3-1用户表字段名称数据类型长度是否为null解释uidint10否用户编号namevarchar49否用户名称realnamevarchar50否真实姓名sexvarchar4否性别birthtimevarchar100否出生年月phonenumbervarchar45否电话addtimetimestamp50否创建日期基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第18页。Friends好友表如下表4-4-1所示:基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第18页。表4-4-1好友表字段名称数据类型长度是否为null解释fidint11否好友编号usersidint11否用户编号namevarchar50否好友名称realnamevarchar50否真实姓名sexvarchar4否性别concernedvarchar50否添加人phonenumbervarchar45否电话addtimetimestamp50否创建日期收藏列表Collects如下表4-5-1:表4-5-1收藏列表字段名称数据类型长度是否为null解释colidint11否收藏编号usersidint11否用户编号urlvarchar255否链接titlevarchar100否标题addtimetimestamp50否创建日期评论表Comments如下表4-6-1:表4-6-1评论表字段名称数据类型长度是否为null解释comidint11否评论编号commentatorvarchar50否评论人contentsvarchar255否内容addtimetimestamp50否创建日期文字内容表Writtings如下表4-7-1:表4-7-1文字内容表字段名称数据类型长度是否为null解释widint11否内容编号titlevarchar50否标题contentsvarchar255否内容likesint11否点赞量基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第19页。isverify基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第19页。varchar10否是否审核addtimetimestamp50否创建日期图片内容表Pictures如下表4-8:表4-8图片内容表字段名称数据类型长度是否为null解释pidint11否图片编号titlevarchar50否标题contentsvarchar255否内容likesint11否点赞量isverifyVarchar10否是否审核addtimetimestamp50否创建日期视频内容表Videos如下表4-9-1:表4-9-1文字内容表字段名称数据类型长度是否为null解释vidint11否视频编号titlevarchar50否标题contentsvarchar255否内容likesint11否点赞量isverifyVarchar10否是否审核addtimetimestamp50否创建日期4.4本章小结第四章讲述了系统的概要设计,其包含系统功能模块和逻辑架构设计,并对其相关模块进行细节的划分和主要的数据库设计。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第20页。第五章系统详细设计和实现基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第20页。5.1登录页面5.1.1验证码实现在登录模块上,是需要有验证码对用户是否为人机进行检验的,通过BufferedImage,Graphics和String类很好地实现了随机的验证码,将验证码图片存在img中并且生成到页面。验证码控制器核心代码实现:/**
*验证码控制器
*/
@Controller
publicclassCaptchaControllerextendsBaseController{
/**
*输出验证码图片,并记录session“random”里等待登录时写入
*/
@RequestMapping("/captcha")
publicStringIndex()
{
response.setContentType("image/jpeg");
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
intwidth=61,height=21;
BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphicsg=image.getGraphics();
Randomrandom=newRandom();
g.setColor(getRandColor(199,249));
g.fillRect(0,0,width,height);
g.setFont(newFont("TimesNewRoman",Font.PLAIN,17));
g.setColor(getRandColor(159,199));
for(inti=0;i<155;i++)
{
intx=random.nextInt(width);
inty=random.nextInt(height);
intxl=random.nextInt(12);
intyl=random.nextInt(12);
g.drawLine(x,y,x+xl,y+yl);
}
基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第21页。StringsRand="";
for(inti=0;i<4;i++){
Stringrand=String.valueOf(random.nextInt(10));
sRand+=rand;
g.setColor(newColor(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));
g.drawString(rand,13*i+6,16);
}
request.getSession().setAttribute("random",sRand);
g.dispose();
try{
ServletOutputStreamstream=response.getOutputStream();
ImageIO.write(image,"JPEG",stream);
stream.flush();
stream.close();
}catch(Exceptione){
e.printStackTrace();
}
return"success";
}
protectedColorgetRandColor(intfc,intbc)
{
Randomrandom=newRandom();
if(fc>255)fc=255;
if(bc>255)bc=255;
intr=fc+random.nextInt(bc-fc);
intg=fc+random.nextInt(bc-fc);
intb=fc+random.nextInt(bc-fc);
returnnewColor(r,g,b);
}
}基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第21页。5.1.2登录页面展示登录页面在网页上方栏目对右边的登录图标进行点击后,登录点击页面在首页存在的原因是为了使页面更加地为用户提供方便的登录方式,输入注册成功后的用户信息即可进行输入验证码,验证码审核成功后登录即可成功基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第22页。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第22页。图5-1-2-1登录操作图5.1.3登录页面流程图该模块的流程有:当鼠标点击登录图标后,就会跳出登录窗口,使用自己的用户名和密码输入后选择用户权限,用户权限默认为注册用户,输入验证码验证成功后跳出登录成功提示窗口结束。登录流程图如下所示:图5-1-3-1登录流程图5.1.4登录模块代码实现由后台验证登录页面前台页面发送过来的用户名,密码,用户权限,验基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第23页。证码的值,通过后台的相关逻辑处理,返回给前台页面进行页面跳转操作,主要代码如下所示:基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第23页。/**
*用户登录更新密码控制器
*/
@Controller
publicclassUserControllerextendsBaseController{
@Resource
privateAdminServiceadminService;
@Resource
privateZhuceyonghuServicezhuceyonghuService;
/**
*验证登录用户
*@paramisAdmin
*@paramusername
*@parampwd
*@paramcx
*@return
*/
protectedStringauthLoginUser(booleanisAdmin,Stringusername,Stringpwd,Stringcx)
{
if(username==null||"".equals(username)){
returnshowError("账号不允许为空");
}
if(pwd==null||"".equals(pwd)){
returnshowError("密码不允许为空");
}
if(cx==null){
returnshowError("请选中登录类型");
}
Stringrandom=(String)request.getSession().getAttribute("random");
Stringpagerandom=request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom");
if(request.getParameter("a")!=null&&!pagerandom.equals(random)){
returnshowError("验证码不正确");
}
if(cx.equals("管理员")){
Adminuser=adminService.login(username,pwd);
基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第24页。if(user==null){
returnshowError("用户名或密码错误");
}
session.setAttribute("id",user.getId());
session.setAttribute("username",user.getUsername());
session.setAttribute("cx",cx);
session.setAttribute("login",cx);
session.setAttribute("username",user.getUsername());
session.setAttribute("pwd",user.getPwd());
}
if(cx.equals("注册用户")){
Zhuceyonghuuser=zhuceyonghuService.login(username,pwd);
if(user==null){
returnshowError("请求失败,用户名与密码错误");
}
session.setAttribute("id",user.getId());
session.setAttribute("username",user.getYonghuming());
session.setAttribute("cx",cx);
session.setAttribute("login",cx);
session.setAttribute("yonghuming",user.getYonghuming());
session.setAttribute("mima",user.getMima());
session.setAttribute("xingming",user.getXingming());
session.setAttribute("xingbie",user.getXingbie());
session.setAttribute("chushengnianyue",user.getChushengnianyue());
session.setAttribute("dianhua",user.getDianhua());
session.setAttribute("youxiang",user.getYouxiang());
session.setAttribute("touxiang",user.getTouxiang());
}
Stringreferer=request.getParameter("referer");
if(referer==null){
if(isAdmin){
referer="./main.do";
}else{
referer="./";
}
基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第25页。}
returnshowSuccess("登录成功",referer);
}
/**
*验证登录页面
*@return
*/
@RequestMapping("/authLogin")
publicStringauthLogin()
{
Stringusername=Request.get("username");
Stringpwd=Request.get("pwd");
Stringcx=Request.get("cx");
returnauthLoginUser(false,username,pwd,cx);
}
/**
*验证后台登录
*@return
*/
@RequestMapping("/authAdminLogin")
publicStringauthAdminLogin()
{
Stringusername=Request.get("username");
Stringpwd=Request.get("pwd");
Stringcx=Request.get("cx");
returnauthLoginUser(true,username,pwd,cx);
}基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第24页。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第25页。 5.2用户点赞评论和收藏5.2.1界面展示用户点赞评论和收藏基本上是数据库的增删改查功能和判断用户是否登录的情况,只以视频点赞为例,用户的点赞为一个控制器,在视频点赞控制器中,用户点击点赞,前台的点赞信息将会传给后台进行相应的逻辑处理,视频主的点赞列表将会出现一个用户的点赞信息,并且视频下方的点赞数增加1)点赞视频的页面展示:基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第26页。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第26页。图5-2-1-1视频页面2)评论的展示如下图所示:图5-2-1-2评论展示3)收藏功能展示,用户点击收藏,前台页面就会发送信息将后台页面的收藏视频类进行相应的逻辑处理,然后就会将该视频收藏进用户个人中心下的收藏页面收藏夹页面展示:基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第27页。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第27页。图5-2-1-3收藏展示5.2.2点赞评论流程图在点赞的流程中,用户会在前台页面点击点赞,点击后前台会发送信息到后台页面进行增加点赞数的逻辑操作,后台将会把点赞数保存到数据库。流程图如下所示:图5-2-2-1点赞流程图基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第28页。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第28页。图5-2-1-2评论流程图5.3用户发布内容5.3.1用户内容页面展示用户在想要给自己发表一些话语内容或者图片分享内容或者视频内容可以在个人中心发布个人的内容。通过文字发表页面填写自己的文字标题名称,文字内容,文字是否推荐然后点击提交即可,同样用户也可以删除自己想要删除的文字,在文字查询区域找到自己想要删除的内容删除即可。图5-3-1-1文字发表文字发布后一旦被管理员审核之后就会发布在文字内容展示区,视频和图片基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第29页。也是一样的,视频的信息填写上传文件之后就可以发布视频,视频上传后,后台管理员进行检验,通过后就会出现在视频的内容区,视频的内容区如下图所示:基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第29页。图5-3-1-2视频内容展示区5.3.2用户发布内容流程图用户发布内容的流程最核心的部分就是内容的审核阶段,因为内容的审核是社交平台最核心的点,如果没有内容审核这一阶段,那么内容的发布就会很没有规则,会使很多不健康不文明的内容在社交平台上出现,这样就会很大地影响用户的使用体验,严重者会影响到用户身心的健康。所以内容审核是很重要的流程。用户发布的流程中是必须存在这一阶段的,用户发布内容的流程图如下图所示:图5-3-2-1内容发布流程图基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第30页。
5.4推荐功能基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第30页。5.4.1推荐界面展示用户发布自己的内容之后,可以对自己的账号进行推荐,并且可以填写自己的推荐备注信息,用户就会在推荐页面进行显示自己的用户列表页。其推荐图展示如下图所示图5-4-1-1推荐图
5.5系统后台管理5.5.1后台管理界面展示该页面是由管理员账号才能够登录的页面,登录时需要检验用户权限是否为后台管理员,如果是,则用户名和密码输入正确并且验证码也输入正确的时候,就允许进入后台管理界面,后台管理页面是后台管理员负责管理社交平台后台信息,用户发布内容的审核管理,用户注册的管理,用户角色的管理。也可以通过后台管理系统查看系统的基本信息,管理员账号信息管理,账号密码修改。文字,图片和视频内容发表的管理和点赞信息的管理。对用户推荐信息的管理,还有好友信息的查询功能。后台管理员最主要的就是审核用户信息,审核内容信息和查看系统信息三大作用。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第31页。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第31页。图5-6-2后台管理系统图5.5.2内容审核的代码实现当用户对内容进行发表的时候,内容经常会带有是否审核的属性,在没有管理员审核的情况,用户上传内容系统会自动把是否审核的这一属性赋值为否,当管理员审核完毕后,发现该内容没有任何问题,就把是否审核的属性更新值为是。这就实现了管理员后台审核的这一功能。/**
*设置是否审核
*@return
*/
@RequestMapping("/sh")
@ResponseBody
publicStringsh()
{
Stringyuan=request.getParameter("yuan");
Stringid=request.getParameter("id");
Stringtablename=request.getParameter("tablename");
Stringsql="";
if(yuan.equals("是"))
{
sql="update"+tablename+"setissh='否'whereid="+id;
}
else
{
sql="update"+tablename+"setissh='是'whereid="+id;
}
newCommDAO().commOper(sql);
return"<script>location.href='"+request.getHeader("Referer")+"';</script>";
}基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第32页。
5.6其他设计
5.6.1文件上传的设计实现基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第32页。用户在头像上传,图片和视频上传都必须要用到文件上传功能,文件上传使用了UUID和File,把上传上来的文件转化,在传入的虚拟路径上获取物理路经,然后将转化好的文件名和路径结合起来返回新的url保存到数据库中完成文件的上传。/**
*上传控制器
*/
@Controller
publicclassUploadControllerextendsBaseController{
/**
*上传文件
*@paramfujian
*@return
*@throwsException
*/
@RequestMapping(value="/upload_re")
publicStringUpload(MultipartFilefujian)throwsException
{
StringfileName=fujian.getOriginalFilename();
StringsuffixName=fileName.substring(fileName.lastIndexOf("."));
fileName=UUID.randomUUID()+suffixName;
StringfilePath=getFolder("upload");
try{
Filefile=newFile(getPhysicalPath(filePath)+"/"+fileName);
fujian.transferTo(file);
request.setAttribute("url",filePath+"/"+fileName);
return"upload";
}catch(Exceptione){
returnshowError(e.getMessage());
}
}
privateStringgetFolder(Stringpath){
SimpleDateFormatformater=newSimpleDateFormat("yyyyMMdd");
path+="/"+formater.format(newDate());
Filedir=newFile(this.getPhysicalPath(path));
基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第33页。if(!dir.exists()){
try{
dir.mkdirs();
}catch(Exceptione){
return"";
}
}
returnpath;
}
/**
*根据传入的虚拟路径获取物理路径
*
*@parampath
*@return
*/
privateStringgetPhysicalPath(Stringpath){
StringservletPath=this.request.getServletPath();
StringrealPath=this.request.getSession().getServletContext()
.getRealPath(servletPath);
returnnewFile(realPath).getParent()+"/"+path;
}
}基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第33页。5.7本章小结本章主要详细描述了项目每一个功能模块的详细设计与实现,针对每一个模块的主要功能分别描述和展示了页面的模块和流程图,一些功能将实现代码也展现了出来。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第34页。第六章系统测试基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第34页。 6.1运行测试6.1.1测试概述软件测试能够在系统模块实现和需求结合起来达到检测目的的一种实现,它是在非常多的测试次数下,为了实现能够证明系统是能够运行的,系统的某个模块是准确的,系统的整体实现是安全可靠的。6.1.2测试目的测试是软件开发中的一种活动。它是对软件进行的调查,目的是向涉及用户提供关于软件质量的信息。软件测试通常与验证和确认一词结合使用。什么是验证,验证就是检查或测试项目(包括软件)与相关规范的一致性和正确性,就好像是在说:“我们做的工作对吗?”。验证是检查指定的内容是用户实际需要的过程。软件测试只是一种验证,它还使用诸如审查,分析,检查和演练之类的技术。6.1.3测试所需要的环境系统在不一样的测试阶段中会有不同的系统测试环境,现阶段主要介绍上线前最主要,最焦点,涉及面最大的测试服务器系统:Manjaro18.01开发环境:JDK1.8Web服务器:Tomcat8.0关系型数据库:MySQL5.7Key-Value数据库:Redis3.2网页浏览器:IE7以上版本,FireFox,Chrome6.1.4系统功能测试在结合开发和需求上将实现好的界面上进行测试数据。该社交系统的主要功能模块有:登录功能,注册功能,没有登录的拦截跳转功能,评论功能,收藏功能,点赞功能,文件上传功能,文字视频和图片内容的发布功能,关注好友功能,系统后台管理功能等功能测试表表6-1-4所示:表6-1-4功能测试表测试功能操作预期结果实际结果用户注册进入用户页面,输入合规的用户名和密码,输入正确的验证码出现注册成功提示,进入首页与预期结果一致用户登录点击用户登录之后就会出现登录窗口,在登录窗口中基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第35页。输入正确的用户名密码和登录验证码基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第35页。将会出现提示登录成功窗口,进入首页能看到用户的用户信息与预期结果一致文件上传功能点击头像上传,上传图片格式有jpg,png格式的图片图片上传成功,用户资料出现头像。与预期结果一致文字发布输入文字信息,点击提交出现提交成功提示与预期结果一致视频发布点击视频上传,上传mp4,mkv格式的视频,输入视频标题,点击提交出现提交成功提示与预期结果一致图片发布点击图片上传,上传png,jpg格式的图片,输入图片标题,点击提交出现提交成功提示与预期结果一致关注好友进入好友推荐页面,点击关注,查看自己的好友列表好友列表出现了关注了的好友与预期结果一致用户点赞进入视频区,点击视频详情,点击点赞点赞量比之前的点赞量+1与预期结果一致用户收藏进入视频区,点击视频详情,点击收藏用户收藏夹出现收藏了的视频内容与预期结果一致用户评论进入视频区,点击评论,输入评论内容,点击提交视频下方出现评论内容与预期结果一致系统后台审核以后台管理员身份登录进入后台管理页面,查看视频发布内容列表,将是否审核值为‘否’的内容查看,并且将是否审核值改为‘是’,最后查看视频区视频区出现了审核通过的视频与预期结果一致6.1.5系统性能测试(1)系统总体性能统计和应用程序性能指标通过使用JMeter工具进行压力测试结果得出,在测试持续时间为3分钟之内,开启100个线程,可以看出系统总体请求次数达到63484次,错误率0,最大响应时间达到2436ms,最小响应时间达到2ms,第99百分比响应时间达到770ms,系统的TPS达到352.26,应用程序性能指标达到94%左右,以上指标总体地概括了系统性能。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第36页。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第36页。图6-1-5-1系统总体性能统计和应用程序性能指标图(2)响应时间总览在通过使用JMeter工具完成对系统的响应时间的测试的结果得到,在测试持续时间为3分钟之内,开启100个线程,对系统请求响应一共63484次,之后得出大约87.86%的响应时间出现在了500ms以内,大约11.85%的响应时间出现在了500ms-1500ms之间,大约0.02%的响应时间在1500ms,0%的请求响应错误,详细的响应时间总览图如下图所示:图6-1-5-2响应时间总览图基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第37页。(3)系统吞吐量基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第37页。通过使用JMeter工具进行系统吞吐量的压力测试结果得出,在测试持续时间为3分钟之内,开启100个线程,最大值在1分钟时达到332transactions/sec,最小值在3分钟后的164transactions/sec,3分钟内的TPS值为100,TPS图如下图所示:图6-1-5-3系统吞吐量6.2测试结果该测试实现了系统性能和功能上的测试。整个测试结果顺利,并没有出现多大的问题,并且测试结果和预期所要求的测试结果达到了一致,系统测试达到了预期目标。6.3本章小结该章讲述了系统测试运行的相关部分例如系统测试概述,测试目的,测试环境,测试功能模块和测试性能模块等相关概述,最后对测试的结果进行了简要总结。基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第38页。第七章结论基于SpringBoot的社交平台的设计与实现-毕业论文全文共40页,当前为第38页。本论文针对社交平台的实际项目需求,通过项目的需求分析,概要设计,详细设计和代码实现以及测试并运行等模块
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐厅礼仪类考试题及答案
- 新疆维吾尔自治区喀什地区莎车县2024-2025学年高一上学期1月期末考试物理试题(含答案)
- 【假期提升】五升六语文暑假作业(六)-人教部编版(含答案含解析)
- 琴行培训考试题及答案
- 2025年消防设施操作员之消防设备高级技能基础试题库和答案要点
- 筹建类面试题思路及答案
- 2023年辽宁省中考生物试卷(含答案)
- 2024广东省中考英语真题含答案
- 采购与售后分包合同(2篇)
- 行政岗干货知识培训课件
- 无人机在物流配送的优化方案
- 智慧物流方案设计与实施赛题答案
- 培训学习心得-读《教育的问题与挑战-思想的回应》有感
- 全面深化改革体会研讨发言
- 毕业设计(论文)-CK6140数控车床主传动系统设计
- 物理降温法操作评分标准
- 220kv变电站工程投标文件模板
- 初中物理作图题集萃附答案
- 钓鱼邮件专项安全意识随堂测试
- 2023年池州职业技术学院单招职业适应性测试题库及答案解析
- GB/T 6031-1998硫化橡胶或热塑性橡胶硬度的测定(10~100IRHD)
评论
0/150
提交评论