基于SpringBoot的社交平台的设计与实现-毕业论文_第1页
基于SpringBoot的社交平台的设计与实现-毕业论文_第2页
基于SpringBoot的社交平台的设计与实现-毕业论文_第3页
基于SpringBoot的社交平台的设计与实现-毕业论文_第4页
基于SpringBoot的社交平台的设计与实现-毕业论文_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、-文档均为 word 文档,下载后可直接编辑使用亦可打印-摘要社交平台体现了以用户为中心的理念,对广大社会交流沟通起着非常重要的作用。该平台主要包括用户内容、管理员审核两大模块。通过用户发 表内容到管理员审核再到其他用户浏览内容;用户资料管理到管理员审核; 用户推荐的三大主要过程解决了一些在实际中遇到的用户注册泛滥,用户 传播不良思想和发表内容违规等矛盾,真正做到了用户与用户之间健康交 流,文明交流的目标。关于社交平台的设计与实现的整个流程中,由社交 平台的确立系统目标开始,对系统进行总体需求分析、系统功能需求、系 统非功能需求还有业务流程分析,之后对系统进行概要设计和详细设计、 对系统功能实

2、现和系统测试运行。本文针对毕业设计的需求,应用 Spring Boot 框架开发社交平台,使用MySQL 数据库进行关系数据库管理,采用了 MD5 加密算法对程序进行加密,使用了通过 Spring Boot 其自身带有的容器 tomcat 对平台进行前后端之间的数据交互,将 MyBatis 作为 Spring Boot 的持久性框架,Maven 作为项目开发包管理工具。关键词:社交平台 MySQL SpringBoot MyBatis MavenAbstractSocial networking sites embody the idea of taking users as the core

3、 and play an important role in socialcommunication. The platformmainly includes two modules: user content and administrator audit. The content published by users is reviewedbyadministratorsandthenbrowsedbyotherusers.Userdata managementtoadministratorreview;Thethreemainprocessesofuser recommendation

4、have solved some contradictions encountered in practice, such as the proliferation of user registration, the dissemination of bad ideas and the violation of published content, and have really achieved the goals of healthy and civilized communication between users. In the whole process of designingan

5、d implementing the social platform, starting with the establishment of the system goal of the social platform, the overall requirement analysis, the system function requirement,thesystemnon-functionrequirementandthebusinessprocess analysis are carried out, and then the system is briefly designed and

6、 detailed design, the system function realization and the system test operation are carried out.According to the requirements of graduation design, this paper uses Spring Bootframeworkto develop a social platform, MySQL database to manage relational databases, MD5 encryption algorithm to encrypt pro

7、grams, tomcat, Spring Boots own server container, to exchange data between the front and back of the platform, MyBatis as persistence framework of Spring Boot, Maven as a project development package management tool.Key words: SNS MySQL SpringBoot MyBatis Maven目 录 HYPERLINK l _TOC_250030 第一章 绪论1 HYPE

8、RLINK l _TOC_250029 研究背景1 HYPERLINK l _TOC_250028 开发目的1写作意图1论文的主要内容2论文的组织结构2第二章 开发工具和技术简介3 HYPERLINK l _TOC_250027 开发工具简介3技术简介3 HYPERLINK l _TOC_250026 Spring Boot 简介3 HYPERLINK l _TOC_250025 Docker 简介3 HYPERLINK l _TOC_250024 MyBatis 简介4 HYPERLINK l _TOC_250023 第三章 系统分析5 HYPERLINK l _TOC_250022 系统需

9、求分析5 HYPERLINK l _TOC_250021 系统总体需求5 HYPERLINK l _TOC_250020 系统的功能需求5 HYPERLINK l _TOC_250019 系统的其他需求6 HYPERLINK l _TOC_250018 业务流程分析6 HYPERLINK l _TOC_250017 本章小结7 HYPERLINK l _TOC_250016 第四章 系统的概要设计8 HYPERLINK l _TOC_250015 系统逻辑架构8 HYPERLINK l _TOC_250014 系统功能模块划分8 HYPERLINK l _TOC_250013 系统的数据库设计

10、9 HYPERLINK l _TOC_250012 本章小结14 HYPERLINK l _TOC_250011 第五章 系统详细设计和实现15 HYPERLINK l _TOC_250010 登录页面15验证码代码实现15 HYPERLINK l _TOC_250009 登录页面展示16 HYPERLINK l _TOC_250008 登录页面流程图17登录模块代码实现17用户点赞评论和收藏20界面展示20点赞评论流程图22用户发布内容23用户内容页面展示23用户发布内容流程图24推荐功能25推荐界面展示25系统后台管理25后台管理界面展示25内容审核的代码实现26其他设计27本章小结28

11、HYPERLINK l _TOC_250007 第六章 系统测试29 HYPERLINK l _TOC_250006 运行测试29 HYPERLINK l _TOC_250005 测试概述29 HYPERLINK l _TOC_250004 测试目的29 HYPERLINK l _TOC_250003 测试所需要的环境29 HYPERLINK l _TOC_250002 系统功能测试29系统性能测试30 HYPERLINK l _TOC_250001 测试结果32 HYPERLINK l _TOC_250000 本章小结32第七章 结论33参 考 文 献34致 谢35第一章 绪论研究背景当今时

12、代科学技术不断向前蓬勃发展,互联网科技也在不断的创新过程中逐渐发展,越来越多的计算机科技和互联网产品随之而来,现代网络技术和网络多媒体技术逐渐发达,社交平台已经成为当下互联网网络产品领域必不可少的一部分。社交平台网络代替了以前非常传统的邮箱信件,拨打电话等社交方式,通过网络的通信交流形成的平台。网络不仅仅使带给人们一个广阔的社交渠道,还帮助人们拥有可以创造自己形象的可能。在这么一个社交环境下,人们可以通过多种多样的交流工具,或者多种多样的社交帐号为自己提供多种多样的交流方式和传播方式,还可以通过完全不一样的社交群体沟通交流,在各个不相同的地点传播信息并且融入各种各样的群体,吸收各种各样的文化环

13、境。社交平台的到来, 为人们提供多种多样的便利,新型的购物型社交平台带来的购物便利,新型的媒体型社交平台带来的媒体便利和新型的实名制社交媒体带来的信息便利。总而言之,现如今的社交平台已经成为了人与人之间强大的必要的特殊交流方式。开发目的如今是互联网数据信息化时代,人们逐渐地改变了以往的社交模式,向大数据信息化时代变迁。现在的用户更多的需要个人的实名制和个人身份审核,越来越多的媒体趋向于短视频,短文章的发布,越来越多的购物平台需要以社交方式传播,其原因是大数据网络技术的信息化、数据化的过程。社交平台是以社会化, 信息化,数据化的方便快捷有效的信息数据传播和交流实现的网络平台,其允许用户上传信息,

14、评论交流,分享链接,即时沟通的平台。具有以下好处:一是有助于人与人之间的信息技术交流,提高人们的知识水平和竞争水平;二是有助于人与人之间跨越地域与语言的实事传播,扩充了人们的眼界;三是有助于人与人之间的经验交流不再仅仅是局限于抽象的文字交流,而是直接地通过照片和视频的真实情况告诉人们这件事情或者分享这件事情的经验,以更有效地方式让人们理解,快速地提高了人们的经验和能力开发作用现代社会,由于社交平台的不断发展壮大,越来越多的知名社交平台出现了越来越臃肿的问题,也出现了其娱乐性越来越泛滥的问题,出现了大量的粉丝诋毁其他人的不文明现象。这使得本社交平台的诞生意义越来越明显,本项目的开发是为了解决实际

15、中出现的不文明现象越来越多的问题。那么如何解决这一大痛点,实际就是通过减轻平台的娱乐性,向帮助人们学习提升的角度去实现并且加大后台管理人员审核目标,对不良现象加以改进,从而达到实现这一问题的解决目标。论文主要内容本论文使用了当下流行已久的 Java 编程语言,并且基于 Spring Boot 框架开发一个 B/S 结构的社交平台,主要工作有以下几个方面:调查社交平台的产生背景,分析开发此平台的目的和意义。调查开发社交平台所需要的技术,进行技术的需求分析。分析此平台的需求文档之后,对比一些优良的架构和实现,对系统描述出概要的设计。对社交平台的详细设计进行描述,其中包含有功能模块和界面设计等等。对

16、社交平台的实现,测试和发布。总结论文,包括对社交平台的技术总结和未来期望并简要讲述自己的成果。论文结构简介第 1 章介绍了社交平台的研究背景,论文的内容和结构,开发的目的和开发用处。第 2 章简单的讲述了社交平台所需要使用的开发用具和技术。第 3 章介绍社交平台的系统分析。第 4 章介绍社交平台的概要设计。第 5 章的内容是社交平台的详细设计与实现。第 6 章的主要内容是社交平台的测试运行。第 7 章是对社交平台的结论。第 4 章到第 5 章是本论文的主要内容第二章 开发工具与技术简介开发工具简介该项目开发环境为 JDK1.8,管理工程的软件使用 Maven,前端主要使用 JSP, 由 MyB

17、atis 作为面向对象的 persistence framework,后端使用 Spring Boot,数据库需要的软件是 MySQL,开发工具使用 IDEA Intellij 2019.3.3 使开发效率更高。开发技术简介Spring Boot 简介该项目利用了 Spring Boot 框架做开发后端,Spring Boot 作为一个由 Java 语言来实现的框架,它可以很好的用来建立微服务的项目工程。开发这个框架的团队叫 Pivotal Team,它是用来创建独有的并且用来开发就绪的 Spring 工程应用。Spring Boot 能够很好的帮助 Java 开发工程师开发一个不错的应用平台

18、,可以使工程师们建立一个独有的、工厂级别的 Spring 应用工程,并且可以让使用者直接运行程序。工程师可以在最小的配置文件里开始配置,这样就不用在更加繁杂的 Spring 下进行完全的配置。Spring Boot 框架为工程师们提供了许多的帮助和优化,例如:使 Spring 应用程序的代码理解和业务开发更简便,更加有效地提高工作效率,更加减少了项目开发的很多时间。Docker 简介通过 Docker 部署 JDK1.8 和 MySQL5.7 等提供了项目的开发环境和数据库环境,工程师和系统管理员能通过 Docker 容器更方便地搭建、启动和上传下载容器的应用。利用这个将容器内的软件搭建起来的

19、过程,可以把它叫做容器化,这个搭建应用程序的方式已经是现代互联网发展中非常常见的了,但是它们能使以前的常用的部署方式变得更加简单便捷,以前浮躁地搭建环境的方式已经不再是问题,容器化这一非常能够抓住开发者们的痛点,这让容器化在现代互联网发展中越来越流行,正是因为容器化有以下众多好的特性:弱耦合性:容器是高度独立且封装好的类型,这能在开发者独立地升级或改变容器时毫不影响其他容器的运行。轻盈性:Docker 能通过主机系统很好地发挥主机系统的资源,这更能体现出容器化的强大。可变性:能让非常繁杂的程序也可以进行部署。安全性:能够不需要开发者手动地进行容器配置下,很好地限制和区分开容器的应用程序过程。便

20、携性:容器可以在本地系统中建立好并且上传到 Docker 官网上随时便携地下载到其他主机上。开放性:开发者能够使容器副本开放式地添加和自动化部署。MyBatis 简介MyBatis 是目前开发者社区中主流的持久化框架,自定义化数据库存储流程和数据库映射是 Mybatis 的基本功能。它的优点是能够几乎摆脱了开发者日常使用 jdbc 代码过程中浮躁的手动参数配置和手动检索问题。通过注释或者通过*.xml 文件格式下编写更加简单易懂的 XML 格式的代码解决了以上这一开发者的痛点。第三章 系统分析系统需求分析系统总体需求业务需求:全球约 24 亿人经常访问网络,人们的日常生活中逐渐被网络生活给占用

21、,从而导致兴趣圈逐渐缩小,对现实世界有很大的影响,社交成为很多人的难题。但和一些现实活动中的传统活动比起来,现实中的活动和网络上的活动结合起来会更加的方便快捷。社交平台网站的最为普遍广泛的用户群是大学生,在大学生的观点来看,社交平台网站除了网络日志等这些常用的基础功能是远远不行的,还需要有用户实际真正有需求的高级应用。因此开发者们要是想要开发与大学生群体有关联的应用平台,就必须熟悉认识到大学生这一群体他们真正想要的是什么,最为迫切需要的东西是什么,而不能仅仅看表面上功能很多界面很好就能一蹴而就的,经过网络调查发现得出,休闲娱乐相关的类型是大部分大学生一直以来生活上的需求,因此开发社交平台不仅是

22、让他们获得自己的个人世界的需求,还要在实际生活上有所关联。系统的功能需求通过对系统的需求分析了解到,该系统总共有 5 大模块,2 种角色,根据系统五大模块可以分为:内容模块:主要有文字的发表,视频的发表,图片的发表,消息通知, 点赞收藏评论等功能。主要是文字视频和图片的分离式发表,文字为一个区域, 视频为一个区域,图片为一个区域,更加体现出用户更加喜欢哪个内容类型的表现形式而不显得内容过于冗杂。好友模块:主要有好友关注,好友信息等功能。推荐模块:主要有用户推荐,内容推荐等功能。根据用户的喜好和设置来进行推断好友和内容的推荐方式。用户管理模块:主要有账号管理,手机绑定,个人资料,好友管理等功能。

23、主要是根据用户自己的真实信息填充相应的真实资料情况。后台管理模块:上传内容审核,用户信息管理,发表信息管理,点赞信息管理,用户推荐管理,好友管理等。只要是对用户的基本信息,权限,推荐信息,内容发表信息进行相应的管理,不同用户会有不同样的角色成员,每个角色成员就对应了不同的角色权限。根据以上系统需求分析得出,可以将系统的相关角色和系统功能画出如下系统功能用例图,如下图 3-1:图 3-1 系统功能用例图系统的其他需求系统吞吐量 TPS:TPS 每秒不小于 100。平均响应时间:规定有 100 个请求,那么请求平均花费时间应该在1000-2000ms 之内。安全性:用户在请求所有的输入时,系统应该

24、将这些请求做安全性相关检测,在出现安全漏洞和安全问题时必须要解决这些问题。数据可用性:为了能够达到使用数据库的存储的目标,系统的所有有关数据应该兼容可用配置。业务流程分析由系统功能需求和调查得知系统的业务流程主要有三种流程,通过用户发表内容、管理员审核内容、其他用户收藏内容,收藏成功或其他用户点赞内容,点赞成功或其他用户评论用户、管理员审核、评论成功三个过程。具体流程图如图3-2-1 所示图 3-2-1 业务流程图本章小结系统的业务流程分析与需求分析是该章主要内容,在需求分析中主要介绍了开发此平台的用户痛点,本平台应该实现的功能模块以及本平台在运行中应该满足的非功能需求。还有本平台最主要的业务

25、流程分析。第四章 系统的概要设计系统逻辑架构基于 MVC 架构的实现是本文逻辑架构的基本思想,具体的架构分层如下所示:用户层:是平台的主角,包括用户和管理员。表现层:表现层主要使用了 JSP 技术,用户通过操作某一 JSP 来操作系统,如 FrendsList.jsp,VideoLikes.jsp,Recommendation.jsp 等。服务层:该层是为系统提供中心模块的服务内容,如 Frends 服务, Recommendation 服务,Video 服务等服务接口类,经过用户在前端的页面请求, 将请求放回给后台处理结果,最后将结果返回给前端页面。数据存储层:在数据库中,使用了 Mysql

26、 关系型数据库进行存储。为了缓存后台产生的数据,帮助提高系统性能,因而使用 Redis。系统的逻辑架构图如下图 4-1-1 所示:图 4-1-1 系统逻辑架构图系统功能模块划分本系统主要由 5 大模块和其他子模块,五大模块分别是内容模块,好友模块, 推荐模块,用户模块,后台管理员管理模块。系统模块及其子模块如下:好友模块:主要包括好友的管理(增加,删除,查询),好友资料的查看,好友内容发布查看。推荐模块:主要包括好友推荐的推荐原因,推荐时间,推荐用户名称。用户模块:主要包括用户信息资料,我的好友查询,修改个人资料, 修改密码,我的收藏。内容模块:主要包括文字发表,视频发表和图片发表。管理系统模

27、块:管理系统模块是帮助后台管理员更好地管理系统后台的相关信息,能够对每个用户角色对应的各种权限的管理,还有管理用户发表内容的审核,管理用户评论内容的审核,管理用户注册信息的审核等。通过以上信息可画出系统功能模块图如下图 4-2 所示:图 4-2 系统功能模块图系统的数据库设计实体 E-R 图设计利用 E-R 图对数据库的相关信息进行设计,首先针对用户为实体具有以下属性:编号,用户名,密码,姓名,性别,出生年月,电话,邮箱,创建时间如下图 4-3-1 所示图 4-3-1 用户实体E-R 图针对好友,具有以下属性:编号,用户编号,姓名,性别,电话,添加人, 创建时间如下图 4-3-1 所示图 4-

28、3-2 好友实体E-R 图把评论当做实体,针对评论为实体具有以下属性:编号,评论内容,评论人, 评论时间如下图 4-3-3 所示图 4-3-3 评论实体E-R 图用户收藏内容的这一过程,可以把收藏夹当做实体,针对收藏夹具有以下属性:编号,用户名,标题,链接,创建时间如下图 4-3-4 所示图 4-3-4 收藏实体E-R 图用户发表文字内容,把文字内容当做实体,针对文字内容具有以下属性:编号,文字主题,文字内容,发表人,点赞量,创建时间,是否审核如下图 4-3-5 所示图 4-3-5 文字内容实体E-R 图用户发表图片内容,把图片内容当做实体,针对图片内容具有以下属性:编号,图片主题,图片,发表

29、人,点赞量,创建时间,是否审核如下图 4-3-6 所示图 4-3-6 图片内容E-R 图用户发表视频内容,把视频内容当做实体,针对视频内容具有以下属性:编号,视频主题,视频,发表人,点赞量,是否审核,创建时间如下图4-3-7 所示图 4-3-7 视频内容E-R 图Users 用户表如下表 4-3-1 所示:表 4-3-1用户表字段名称数据类型长度是否为解释uidint10null否用户编号namevarchar49否用户名称realnamevarchar50否真实姓名sexvarchar4否性别birthtimevarchar100否出生年月phonenumbervarchar45否电话add

30、timetimestamp50否创建日期Friends 好友表如下表 4-4-1 所示:表 4-4-1 好友表字段名称数据类型长度是否为解释nullfidint11否好友编号usersidint11否用户编号namevarchar50否好友名称realnamevarchar50否真实姓名sexvarchar4否性别concernedvarchar50否添加人phonenumbervarchar45否电话addtimetimestamp50否创建日期收藏列表 Collects 如下表 4-5-1:表 4-5-1 收藏列表字段名称数据类型长度是否为解释nullcolidint11否收藏编号user

31、sidint11否用户编号urlvarchar255否链接titlevarchar100否标题addtimetimestamp50否创建日期评论表 Comments 如下表 4-6-1:表 4-6-1 评论表字段名称数据类型长度是否为解释comidint11null否评论编号commentatorvarchar50否评论人contentsvarchar255否内容addtimetimestamp50否创建日期文字内容表 Writtings 如下表 4-7-1:表 4-7-1 文字内容表字段名称数据类型长度是否为解释nullwidint11否内容编号titlevarchar50否标题conten

32、tsvarchar255否内容likesint11否点赞量isverifyvarchar10否是否审核addtimetimestamp50否创建日期图片内容表 Pictures 如下表 4-8:表 4-8 图片内容表字段名称数据类型长度是否为解释nullpidint11否图片编号titlevarchar50否标题contentsvarchar255否内容likesint11否点赞量isverifyVarchar10否是否审核addtimetimestamp50否创建日期视频内容表 Videos 如下表 4-9-1:表 4-9-1 文字内容表字段名称数据类型长度是否为解释vidint11null

33、否视频编号titlevarchar50否标题contentsvarchar255否内容likesint11否点赞量isverifyVarchar10否是否审核addtimetimestamp50否创建日期本章小结第四章讲述了系统的概要设计,其包含系统功能模块和逻辑架构设计, 并对其相关模块进行细节的划分和主要的数据库设计。第五章 系统详细设计和实现登录页面验证码实现在登录模块上,是需要有验证码对用户是否为人机进行检验的,通过BufferedImage ,Graphics 和 String 类很好地实现了随机的验证码,将验证码图片存在 img 中并且生成到页面。验证码控制器核心代码实现:/* 验

34、证码控制器*/ Controllerpublic class CaptchaController extends BaseController /* 输出验证码图片,并记录 session “random” 里等待登录时写入*/ RequestMapping(/captcha) public String Index()response.setContentType(image/jpeg); response.setHeader(Pragma,No-cache); response.setHeader(Cache-Control,no-cache); response.setDateHeade

35、r(Expires, 0);int width=61, height=21;BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);Graphics g = image.getGraphics(); Random random = new Random(); g.setColor(getRandColor(199,249); g.fillRect(0, 0, width, height);g.setFont(new Font(Times New Roman,Font.PLAIN,17)

36、; g.setColor(getRandColor(159,199);for (int i=0;i155;i+)int x = random.nextInt(width); int y = random.nextInt(height); int xl = random.nextInt(12); int yl = random.nextInt(12); g.drawLine(x,y,x+xl,y+yl);String sRand=;for (int i=0;i255) fc=255;if(bc255) bc=255;int r=fc+random.nextInt(bc-fc); int g=fc

37、+random.nextInt(bc-fc); int b=fc+random.nextInt(bc-fc); return new Color(r,g,b);登录页面展示登录页面在网页上方栏目对右边的登录图标进行点击后,登录点击页面在首页存在的原因是为了使页面更加地为用户提供方便的登录方式,输入注册成功后的用户信息即可进行输入验证码,验证码审核成功后登录即可成功登录页面流程图图 5-1-2-1 登录操作图该模块的流程有:当鼠标点击登录图标后,就会跳出登录窗口,使用自己的用户名和密码输入后选择用户权限,用户权限默认为注册用户,输入验证码验证成功后跳出登录成功提示窗口结束。登录流程图如下所示:登

38、录模块代码实现图 5-1-3-1 登录流程图由后台验证登录页面前台页面发送过来的用户名,密码,用户权限,验证码的值,通过后台的相关逻辑处理,返回给前台页面进行页面跳转操作, 主要代码如下所示:/* 用户登录更新密码控制器*/ Controllerpublic class UserController extends BaseControllerResourceprivate AdminService adminService; Resourceprivate ZhuceyonghuService zhuceyonghuService;/*验证登录用户param isAdminparam use

39、rnameparam pwdparam cxreturn*/protected String authLoginUser(boolean isAdmin,String username , String pwd,String cx)if(username = null | .equals(username) ) return showError( 账号不允许为空 );if(pwd = null | .equals(pwd) )return showError( 密码不允许为空 );if(cx = null)return showError( 请选中登录类型 );String random =

40、(String) request.getSession().getAttribute(random); String pagerandom = request.getParameter(pagerandom) = null ? :request.getParameter(pagerandom);if(request.getParameter(a)!=null & !pagerandom.equals(random) return showError( 验证码不正确 );if (cx.equals(管理员) Admin user = adminService.login(username , p

41、wd);if(user = null)return showError(用户名或密码错误);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.equ

42、als(注册用户) Zhuceyonghu user = zhuceyonghuService.login(username , pwd); if(user = null)return showError(请求失败,用户名与密码错误);session.setAttribute(id , user.getId();session.setAttribute(username , user.getYonghuming(); session.setAttribute(cx , cx); session.setAttribute(login , cx);session.setAttribute(yong

43、huming,user.getYonghuming();user.getXingming();user.getChushengnianyue();user.getYouxiang(); user.getTouxiang();session.setAttribute(mima, user.getMima(); session.setAttribute(xingming,session.setAttribute(xingbie, user.getXingbie(); session.setAttribute(chushengnianyue,session.setAttribute(dianhua,

44、 user.getDianhua(); session.setAttribute(youxiang,session.setAttribute(touxiang,String referer = request.getParameter(referer); if(referer = null)if(isAdmin)referer = ./main.do;elsereferer = ./;return showSuccess(登录成功 , referer);/*验证登录页面return*/ RequestMapping(/authLogin) public String authLogin()St

45、ring username = Request.get(username); String pwd= Request.get(pwd);String cx = Request.get(cx);return authLoginUser(false , username,pwd,cx);/*验证后台登录return*/ RequestMapping(/authAdminLogin) public String authAdminLogin()String username = Request.get(username); String pwd= Request.get(pwd);String cx

46、 = Request.get(cx);return authLoginUser(true , username,pwd,cx);用户点赞评论和收藏界面展示用户点赞评论和收藏基本上是数据库的增删改查功能和判断用户是否登录的情况,只以视频点赞为例,用户的点赞为一个控制器,在视频点赞控制器中,用户点击点赞,前台的点赞信息将会传给后台进行相应的逻辑处理, 视频主的点赞列表将会出现一个用户的点赞信息,并且视频下方的点赞数增加点赞视频的页面展示:评论的展示如下图所示:图 5-2-1-1 视频页面图 5-2-1-2 评论展示收藏功能展示,用户点击收藏,前台页面就会发送信息将后台页面的收藏视频类进行相应的逻辑

47、处理,然后就会将该视频收藏进用户个人中心下的收藏页面收藏夹页面展示:点赞评论流程图图 5-2-1-3 收藏展示在点赞的流程中,用户会在前台页面点击点赞,点击后前台会发送信息到后台页面进行增加点赞数的逻辑操作,后台将会把点赞数保存到数据库。流程图如下所示:图 5-2-2-1 点赞流程图图 5-2-1-2评论流程图用户发布内容用户内容页面展示用户在想要给自己发表一些话语内容或者图片分享内容或者视频内容可以在个人中心发布个人的内容。通过文字发表页面填写自己的文字标题名称,文字内容,文字是否推荐然后点击提交即可,同样用户也可以删除自己想要删除的文字,在文字查询区域找到自己想要删除的内容删除即可。图 5

48、-3-1-1 文字发表文字发布后一旦被管理员审核之后就会发布在文字内容展示区,视频和图片也是一样的,视频的信息填写上传文件之后就可以发布视频,视频上传后,后台管理员进行检验,通过后就会出现在视频的内容区,视频的内容区如下图所示:图 5-3-1-2 视频内容展示区用户发布内容流程图用户发布内容的流程最核心的部分就是内容的审核阶段,因为内容的审核是社交平台最核心的点,如果没有内容审核这一阶段,那么内容的发布就会很没有规则,会使很多不健康不文明的内容在社交平台上出现,这样就会很大地影响用户的使用体验,严重者会影响到用户身心的健康。所以内容审核是很重要的流程。用户发布的流程中是必须存在这一阶段的,用户

49、发布内容的流程图如下图所示:图 5-3-2-1内容发布流程图推荐功能推荐界面展示用户发布自己的内容之后,可以对自己的账号进行推荐,并且可以填写自己的推荐备注信息,用户就会在推荐页面进行显示自己的用户列表页。其推荐图展示如下图所示图 5-4-1-1推荐图系统后台管理后台管理界面展示该页面是由管理员账号才能够登录的页面,登录时需要检验用户权限是否为后台管理员,如果是,则用户名和密码输入正确并且验证码也输入正确的时候,就允许进入后台管理界面,后台管理页面是后台管理员负责管理社交平台后台信息,用户发布内容的审核管理,用户注册的管理,用户角色的管理。也可以通过后台管理系统查看系统的基本信息, 管理员账号

50、信息管理, 账号密码修改。文字,图片和视频内容发表的管理和点赞信息的管理。对用户推荐信息的管理,还有好友信息的查询功能。后台管理员最主要的就是审核用户信息,审核内容信息和查看系统信息三大作用。图 5-6-2 后台管理系统图内容审核的代码实现/*设置是否审核return*/ RequestMapping(/sh) ResponseBodypublic String sh()String yuan=request.getParameter(yuan); String id=request.getParameter(id);String tablename=request.getParameter(

51、tablename); String sql=;if(yuan.equals(是)sql=update +tablename+ set issh=否 where id=+id;elsesql=update +tablename+ set issh=是 where id=+id;new CommDAO().commOper(sql);return location.href=+request.getHeader(Referer)+;当用户对内容进行发表的时候,内容经常会带有是否审核的属性,在没有管理员审核的情况,用户上传内容系统会自动把是否审核的这一属性赋值为否,当管理员审核完毕后,发现该内容没

52、有任何问题,就把是否审核的属性更新值为是。这就实现了管理员后台审核的这一功能。其他设计文件上传的设计实现用户在头像上传,图片和视频上传都必须要用到文件上传功能,文件上传使用了 UUID 和 File,把上传上来的文件转化,在传入的虚拟路径上获取物理路经,然后将转化好的文件名和路径结合起来返回新的url 保存到数据库中完成文件的上传。/* 上传控制器*/Controllerpublic class UploadController extends BaseController/*上传文件param fujianreturnthrows Exception*/RequestMapping(valu

53、e = /upload_re)public String Upload(MultipartFile fujian) throws ExceptionString fileName = fujian.getOriginalFilename();String suffixName = fileName.substring(fileName.lastIndexOf(.); fileName = UUID.randomUUID()+suffixName;String filePath = getFolder(upload);tryFile file = new File(getPhysicalPath

54、(filePath)+/+fileName); fujian.transferTo(file); request.setAttribute(url,filePath+/+fileName);return upload;catch (Exception e)return showError(e.getMessage();private String getFolder(String path) SimpleDateFormat formater = new SimpleDateFormat(yyyyMMdd); path += / + formater.format(new Date();Fil

55、e dir = new File(this.getPhysicalPath(path);if (!dir.exists() try dir.mkdirs(); catch (Exception e) return ;return path;/*根据传入的虚拟路径获取物理路径*param pathreturn*/private String getPhysicalPath(String path) String servletPath = this.request.getServletPath();String realPath = this.request.getSession().getSe

56、rvletContext().getRealPath(servletPath);return new File(realPath).getParent() +/ +path;本章小结本章主要详细描述了项目每一个功能模块的详细设计与实现,针对每一个模块的主要功能分别描述和展示了页面的模块和流程图,一些功能将实现代码也展现了出来。第六章 系统测试运行测试测试概述软件测试能够在系统模块实现和需求结合起来达到检测目的的一种实现,它是在非常多的测试次数下,为了实现能够证明系统是能够运行的,系统的某个模块是准确的,系统的整体实现是安全可靠的。测试目的测试是软件开发中的一种活动。它是对软件进行的调查,目的是

57、向涉及用户提供关于软件质量的信息。软件测试通常与验证和确认一词结合使用。什么是验证,验证就是检查或测试项目(包括软件)与相关规范的一致性和正确性, 就好像是在说:“我们做的工作对吗?”。验证是检查指定的内容是用户实际需要的过程。软件 测试只是一种验证,它还使用诸如审查,分析,检查和演练之类的技术。测试所需要的环境系统在不一样的测试阶段中会有不同的系统测试环境,现阶段主要介绍上线前最主要,最焦点,涉及面最大的测试服务器系统: Manjaro 18.01开发环境: JDK 1.8Web 服务器: Tomcat 8.0关系型数据库: MySQL 5.7Key-Value 数据库: Redis 3.2

58、网页浏览器: IE7 以上版本, FireFox ,Chrome系统功能测试在结合开发和需求上将实现好的界面上进行测试数据。该社交系统的主 要功能模块有:登录功能,注册功能,没有登录的拦截跳转功能,评论功能, 收藏功能,点赞功能,文件上传功能,文字视频和图片内容的发布功能,关 注好友功能,系统后台管理功能等功能测试表表 6-1-4 所示:测试功能操作表 6-1-4 功能测试表预期结果实际结果用户注册进入用户页面, 输入合规的用户名和密码, 输入正确的验证码用户登录点击用户登录之后就会出现登录窗口,在登录窗口中出现注册成功提示,进入首页将会出现提示登录成功窗口,进入首与预期结果一致与预期结果一致

59、输入正确的用户名密码和页能看到用户的用登录验证码户信息文件上传点击头像上传,上传图片格图片上传成功,用与预期结果功能式有 jpg,png 格式的图片户资料出现头像。一致文字发布输入文字信息,点击提交出现提交成功提示与预期结果一致视频发布点击视频上传,上传 mp4, mkv 格式的视频,输入视频出现提交成功提示与预期结果一致标题,点击提交图片发布点击图片上传,上传 png, jpg 格式的图片,输入图片出现提交成功提示与预期结果一致标题,点击提交关注好友进入好友推荐页面, 点击关好友列表出现了关与预期结果注,查看自己的好友列表注了的好友一致用户点赞进入视频区,点击视频详点赞量比之前的点与预期结果

60、情,点击点赞赞量+1一致用户收藏进入视频区,点击视频详用户收藏夹出现收与预期结果情,点击收藏藏了的视频内容一致用户评论进入视频区,点击评论,输视频下方出现评论与预期结果入评论内容,点击提交内容一致系统后台以后台管理员身份登录进视频区出现了审核与预期结果审核入后台管理页面, 查看视频通过的视频一致发布内容列表, 将是否审核值为否的内容查看,并且将是否审核值改为是,最后查看视频区6.1.5系统性能测试系统总体性能统计和应用程序性能指标通过使用 JMeter 工具进行压力测试结果得出,在测试持续时间为 3 分钟之内,开启 100 个线程,可以看出系统总体请求次数达到 63484 次,错误率0,最大响

温馨提示

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

评论

0/150

提交评论