版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、-文檔均為 word 文檔,下載后可直接編輯使用亦可打印-摘要社交平臺體現(xiàn)了以用戶為中心的理念,對廣大社會交流溝通起著非常重要的作用。該平臺主要包括用戶內(nèi)容、管理員審核兩大模塊。通過用戶發(fā) 表內(nèi)容到管理員審核再到其他用戶瀏覽內(nèi)容;用戶資料管理到管理員審核; 用戶推薦的三大主要過程解決了一些在實際中遇到的用戶注冊泛濫,用戶 傳播不良思想和發(fā)表內(nèi)容違規(guī)等矛盾,真正做到了用戶與用戶之間健康交 流,文明交流的目標。關(guān)于社交平臺的設計與實現(xiàn)的整個流程中,由社交 平臺的確立系統(tǒng)目標開始,對系統(tǒng)進行總體需求分析、系統(tǒng)功能需求、系 統(tǒng)非功能需求還有業(yè)務流程分析,之后對系統(tǒng)進行概要設計和詳細設計、 對系統(tǒng)功能實
2、現(xiàn)和系統(tǒng)測試運行。本文針對畢業(yè)設計的需求,應用 Spring Boot 框架開發(fā)社交平臺,使用MySQL 數(shù)據(jù)庫進行關(guān)系數(shù)據(jù)庫管理,采用了 MD5 加密算法對程序進行加密,使用了通過 Spring Boot 其自身帶有的容器 tomcat 對平臺進行前后端之間的數(shù)據(jù)交互,將 MyBatis 作為 Spring Boot 的持久性框架,Maven 作為項目開發(fā)包管理工具。關(guān)鍵詞:社交平臺 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 開發(fā)目的1寫作意圖1論文的主要內(nèi)容2論文的組織結(jié)構(gòu)2第二章 開發(fā)工具和技術(shù)簡介3 HYPERLINK l _TOC_250027 開發(fā)工具簡介3技術(shù)簡介3 HYPERLINK l _TOC_250026 Spring Boot 簡介3 HYPERLINK l _TOC_250025 Docker 簡介3 HYPERLINK l _TOC_250024 MyBatis 簡介4 HYPERLINK l _TOC_250023 第三章 系統(tǒng)分析5 HYPERLINK l _TOC_250022 系統(tǒng)需
9、求分析5 HYPERLINK l _TOC_250021 系統(tǒng)總體需求5 HYPERLINK l _TOC_250020 系統(tǒng)的功能需求5 HYPERLINK l _TOC_250019 系統(tǒng)的其他需求6 HYPERLINK l _TOC_250018 業(yè)務流程分析6 HYPERLINK l _TOC_250017 本章小結(jié)7 HYPERLINK l _TOC_250016 第四章 系統(tǒng)的概要設計8 HYPERLINK l _TOC_250015 系統(tǒng)邏輯架構(gòu)8 HYPERLINK l _TOC_250014 系統(tǒng)功能模塊劃分8 HYPERLINK l _TOC_250013 系統(tǒng)的數(shù)據(jù)庫設計
10、9 HYPERLINK l _TOC_250012 本章小結(jié)14 HYPERLINK l _TOC_250011 第五章 系統(tǒng)詳細設計和實現(xiàn)15 HYPERLINK l _TOC_250010 登錄頁面15驗證碼代碼實現(xiàn)15 HYPERLINK l _TOC_250009 登錄頁面展示16 HYPERLINK l _TOC_250008 登錄頁面流程圖17登錄模塊代碼實現(xiàn)17用戶點贊評論和收藏20界面展示20點贊評論流程圖22用戶發(fā)布內(nèi)容23用戶內(nèi)容頁面展示23用戶發(fā)布內(nèi)容流程圖24推薦功能25推薦界面展示25系統(tǒng)后臺管理25后臺管理界面展示25內(nèi)容審核的代碼實現(xiàn)26其他設計27本章小結(jié)28
11、HYPERLINK l _TOC_250007 第六章 系統(tǒng)測試29 HYPERLINK l _TOC_250006 運行測試29 HYPERLINK l _TOC_250005 測試概述29 HYPERLINK l _TOC_250004 測試目的29 HYPERLINK l _TOC_250003 測試所需要的環(huán)境29 HYPERLINK l _TOC_250002 系統(tǒng)功能測試29系統(tǒng)性能測試30 HYPERLINK l _TOC_250001 測試結(jié)果32 HYPERLINK l _TOC_250000 本章小結(jié)32第七章 結(jié)論33參 考 文 獻34致 謝35第一章 緒論研究背景當今時
12、代科學技術(shù)不斷向前蓬勃發(fā)展,互聯(lián)網(wǎng)科技也在不斷的創(chuàng)新過程中逐漸發(fā)展,越來越多的計算機科技和互聯(lián)網(wǎng)產(chǎn)品隨之而來,現(xiàn)代網(wǎng)絡技術(shù)和網(wǎng)絡多媒體技術(shù)逐漸發(fā)達,社交平臺已經(jīng)成為當下互聯(lián)網(wǎng)網(wǎng)絡產(chǎn)品領(lǐng)域必不可少的一部分。社交平臺網(wǎng)絡代替了以前非常傳統(tǒng)的郵箱信件,撥打電話等社交方式,通過網(wǎng)絡的通信交流形成的平臺。網(wǎng)絡不僅僅使帶給人們一個廣闊的社交渠道,還幫助人們擁有可以創(chuàng)造自己形象的可能。在這么一個社交環(huán)境下,人們可以通過多種多樣的交流工具,或者多種多樣的社交帳號為自己提供多種多樣的交流方式和傳播方式,還可以通過完全不一樣的社交群體溝通交流,在各個不相同的地點傳播信息并且融入各種各樣的群體,吸收各種各樣的文化環(huán)
13、境。社交平臺的到來, 為人們提供多種多樣的便利,新型的購物型社交平臺帶來的購物便利,新型的媒體型社交平臺帶來的媒體便利和新型的實名制社交媒體帶來的信息便利。總而言之,現(xiàn)如今的社交平臺已經(jīng)成為了人與人之間強大的必要的特殊交流方式。開發(fā)目的如今是互聯(lián)網(wǎng)數(shù)據(jù)信息化時代,人們逐漸地改變了以往的社交模式,向大數(shù)據(jù)信息化時代變遷?,F(xiàn)在的用戶更多的需要個人的實名制和個人身份審核,越來越多的媒體趨向于短視頻,短文章的發(fā)布,越來越多的購物平臺需要以社交方式傳播,其原因是大數(shù)據(jù)網(wǎng)絡技術(shù)的信息化、數(shù)據(jù)化的過程。社交平臺是以社會化, 信息化,數(shù)據(jù)化的方便快捷有效的信息數(shù)據(jù)傳播和交流實現(xiàn)的網(wǎng)絡平臺,其允許用戶上傳信息,
14、評論交流,分享鏈接,即時溝通的平臺。具有以下好處:一是有助于人與人之間的信息技術(shù)交流,提高人們的知識水平和競爭水平;二是有助于人與人之間跨越地域與語言的實事傳播,擴充了人們的眼界;三是有助于人與人之間的經(jīng)驗交流不再僅僅是局限于抽象的文字交流,而是直接地通過照片和視頻的真實情況告訴人們這件事情或者分享這件事情的經(jīng)驗,以更有效地方式讓人們理解,快速地提高了人們的經(jīng)驗和能力開發(fā)作用現(xiàn)代社會,由于社交平臺的不斷發(fā)展壯大,越來越多的知名社交平臺出現(xiàn)了越來越臃腫的問題,也出現(xiàn)了其娛樂性越來越泛濫的問題,出現(xiàn)了大量的粉絲詆毀其他人的不文明現(xiàn)象。這使得本社交平臺的誕生意義越來越明顯,本項目的開發(fā)是為了解決實際
15、中出現(xiàn)的不文明現(xiàn)象越來越多的問題。那么如何解決這一大痛點,實際就是通過減輕平臺的娛樂性,向幫助人們學習提升的角度去實現(xiàn)并且加大后臺管理人員審核目標,對不良現(xiàn)象加以改進,從而達到實現(xiàn)這一問題的解決目標。論文主要內(nèi)容本論文使用了當下流行已久的 Java 編程語言,并且基于 Spring Boot 框架開發(fā)一個 B/S 結(jié)構(gòu)的社交平臺,主要工作有以下幾個方面:調(diào)查社交平臺的產(chǎn)生背景,分析開發(fā)此平臺的目的和意義。調(diào)查開發(fā)社交平臺所需要的技術(shù),進行技術(shù)的需求分析。分析此平臺的需求文檔之后,對比一些優(yōu)良的架構(gòu)和實現(xiàn),對系統(tǒng)描述出概要的設計。對社交平臺的詳細設計進行描述,其中包含有功能模塊和界面設計等等。對
16、社交平臺的實現(xiàn),測試和發(fā)布??偨Y(jié)論文,包括對社交平臺的技術(shù)總結(jié)和未來期望并簡要講述自己的成果。論文結(jié)構(gòu)簡介第 1 章介紹了社交平臺的研究背景,論文的內(nèi)容和結(jié)構(gòu),開發(fā)的目的和開發(fā)用處。第 2 章簡單的講述了社交平臺所需要使用的開發(fā)用具和技術(shù)。第 3 章介紹社交平臺的系統(tǒng)分析。第 4 章介紹社交平臺的概要設計。第 5 章的內(nèi)容是社交平臺的詳細設計與實現(xiàn)。第 6 章的主要內(nèi)容是社交平臺的測試運行。第 7 章是對社交平臺的結(jié)論。第 4 章到第 5 章是本論文的主要內(nèi)容第二章 開發(fā)工具與技術(shù)簡介開發(fā)工具簡介該項目開發(fā)環(huán)境為 JDK1.8,管理工程的軟件使用 Maven,前端主要使用 JSP, 由 MyB
17、atis 作為面向?qū)ο蟮?persistence framework,后端使用 Spring Boot,數(shù)據(jù)庫需要的軟件是 MySQL,開發(fā)工具使用 IDEA Intellij 2019.3.3 使開發(fā)效率更高。開發(fā)技術(shù)簡介Spring Boot 簡介該項目利用了 Spring Boot 框架做開發(fā)后端,Spring Boot 作為一個由 Java 語言來實現(xiàn)的框架,它可以很好的用來建立微服務的項目工程。開發(fā)這個框架的團隊叫 Pivotal Team,它是用來創(chuàng)建獨有的并且用來開發(fā)就緒的 Spring 工程應用。Spring Boot 能夠很好的幫助 Java 開發(fā)工程師開發(fā)一個不錯的應用平臺
18、,可以使工程師們建立一個獨有的、工廠級別的 Spring 應用工程,并且可以讓使用者直接運行程序。工程師可以在最小的配置文件里開始配置,這樣就不用在更加繁雜的 Spring 下進行完全的配置。Spring Boot 框架為工程師們提供了許多的幫助和優(yōu)化,例如:使 Spring 應用程序的代碼理解和業(yè)務開發(fā)更簡便,更加有效地提高工作效率,更加減少了項目開發(fā)的很多時間。Docker 簡介通過 Docker 部署 JDK1.8 和 MySQL5.7 等提供了項目的開發(fā)環(huán)境和數(shù)據(jù)庫環(huán)境,工程師和系統(tǒng)管理員能通過 Docker 容器更方便地搭建、啟動和上傳下載容器的應用。利用這個將容器內(nèi)的軟件搭建起來的
19、過程,可以把它叫做容器化,這個搭建應用程序的方式已經(jīng)是現(xiàn)代互聯(lián)網(wǎng)發(fā)展中非常常見的了,但是它們能使以前的常用的部署方式變得更加簡單便捷,以前浮躁地搭建環(huán)境的方式已經(jīng)不再是問題,容器化這一非常能夠抓住開發(fā)者們的痛點,這讓容器化在現(xiàn)代互聯(lián)網(wǎng)發(fā)展中越來越流行,正是因為容器化有以下眾多好的特性:弱耦合性:容器是高度獨立且封裝好的類型,這能在開發(fā)者獨立地升級或改變?nèi)萜鲿r毫不影響其他容器的運行。輕盈性:Docker 能通過主機系統(tǒng)很好地發(fā)揮主機系統(tǒng)的資源,這更能體現(xiàn)出容器化的強大。可變性:能讓非常繁雜的程序也可以進行部署。安全性:能夠不需要開發(fā)者手動地進行容器配置下,很好地限制和區(qū)分開容器的應用程序過程。便
20、攜性:容器可以在本地系統(tǒng)中建立好并且上傳到 Docker 官網(wǎng)上隨時便攜地下載到其他主機上。開放性:開發(fā)者能夠使容器副本開放式地添加和自動化部署。MyBatis 簡介MyBatis 是目前開發(fā)者社區(qū)中主流的持久化框架,自定義化數(shù)據(jù)庫存儲流程和數(shù)據(jù)庫映射是 Mybatis 的基本功能。它的優(yōu)點是能夠幾乎擺脫了開發(fā)者日常使用 jdbc 代碼過程中浮躁的手動參數(shù)配置和手動檢索問題。通過注釋或者通過*.xml 文件格式下編寫更加簡單易懂的 XML 格式的代碼解決了以上這一開發(fā)者的痛點。第三章 系統(tǒng)分析系統(tǒng)需求分析系統(tǒng)總體需求業(yè)務需求:全球約 24 億人經(jīng)常訪問網(wǎng)絡,人們的日常生活中逐漸被網(wǎng)絡生活給占用
21、,從而導致興趣圈逐漸縮小,對現(xiàn)實世界有很大的影響,社交成為很多人的難題。但和一些現(xiàn)實活動中的傳統(tǒng)活動比起來,現(xiàn)實中的活動和網(wǎng)絡上的活動結(jié)合起來會更加的方便快捷。社交平臺網(wǎng)站的最為普遍廣泛的用戶群是大學生,在大學生的觀點來看,社交平臺網(wǎng)站除了網(wǎng)絡日志等這些常用的基礎(chǔ)功能是遠遠不行的,還需要有用戶實際真正有需求的高級應用。因此開發(fā)者們要是想要開發(fā)與大學生群體有關(guān)聯(lián)的應用平臺,就必須熟悉認識到大學生這一群體他們真正想要的是什么,最為迫切需要的東西是什么,而不能僅僅看表面上功能很多界面很好就能一蹴而就的,經(jīng)過網(wǎng)絡調(diào)查發(fā)現(xiàn)得出,休閑娛樂相關(guān)的類型是大部分大學生一直以來生活上的需求,因此開發(fā)社交平臺不僅是
22、讓他們獲得自己的個人世界的需求,還要在實際生活上有所關(guān)聯(lián)。系統(tǒng)的功能需求通過對系統(tǒng)的需求分析了解到,該系統(tǒng)總共有 5 大模塊,2 種角色,根據(jù)系統(tǒng)五大模塊可以分為:內(nèi)容模塊:主要有文字的發(fā)表,視頻的發(fā)表,圖片的發(fā)表,消息通知, 點贊收藏評論等功能。主要是文字視頻和圖片的分離式發(fā)表,文字為一個區(qū)域, 視頻為一個區(qū)域,圖片為一個區(qū)域,更加體現(xiàn)出用戶更加喜歡哪個內(nèi)容類型的表現(xiàn)形式而不顯得內(nèi)容過于冗雜。好友模塊:主要有好友關(guān)注,好友信息等功能。推薦模塊:主要有用戶推薦,內(nèi)容推薦等功能。根據(jù)用戶的喜好和設置來進行推斷好友和內(nèi)容的推薦方式。用戶管理模塊:主要有賬號管理,手機綁定,個人資料,好友管理等功能。
23、主要是根據(jù)用戶自己的真實信息填充相應的真實資料情況。后臺管理模塊:上傳內(nèi)容審核,用戶信息管理,發(fā)表信息管理,點贊信息管理,用戶推薦管理,好友管理等。只要是對用戶的基本信息,權(quán)限,推薦信息,內(nèi)容發(fā)表信息進行相應的管理,不同用戶會有不同樣的角色成員,每個角色成員就對應了不同的角色權(quán)限。根據(jù)以上系統(tǒng)需求分析得出,可以將系統(tǒng)的相關(guān)角色和系統(tǒng)功能畫出如下系統(tǒng)功能用例圖,如下圖 3-1:圖 3-1 系統(tǒng)功能用例圖系統(tǒng)的其他需求系統(tǒng)吞吐量 TPS:TPS 每秒不小于 100。平均響應時間:規(guī)定有 100 個請求,那么請求平均花費時間應該在1000-2000ms 之內(nèi)。安全性:用戶在請求所有的輸入時,系統(tǒng)應該
24、將這些請求做安全性相關(guān)檢測,在出現(xiàn)安全漏洞和安全問題時必須要解決這些問題。數(shù)據(jù)可用性:為了能夠達到使用數(shù)據(jù)庫的存儲的目標,系統(tǒng)的所有有關(guān)數(shù)據(jù)應該兼容可用配置。業(yè)務流程分析由系統(tǒng)功能需求和調(diào)查得知系統(tǒng)的業(yè)務流程主要有三種流程,通過用戶發(fā)表內(nèi)容、管理員審核內(nèi)容、其他用戶收藏內(nèi)容,收藏成功或其他用戶點贊內(nèi)容,點贊成功或其他用戶評論用戶、管理員審核、評論成功三個過程。具體流程圖如圖3-2-1 所示圖 3-2-1 業(yè)務流程圖本章小結(jié)系統(tǒng)的業(yè)務流程分析與需求分析是該章主要內(nèi)容,在需求分析中主要介紹了開發(fā)此平臺的用戶痛點,本平臺應該實現(xiàn)的功能模塊以及本平臺在運行中應該滿足的非功能需求。還有本平臺最主要的業(yè)務
25、流程分析。第四章 系統(tǒng)的概要設計系統(tǒng)邏輯架構(gòu)基于 MVC 架構(gòu)的實現(xiàn)是本文邏輯架構(gòu)的基本思想,具體的架構(gòu)分層如下所示:用戶層:是平臺的主角,包括用戶和管理員。表現(xiàn)層:表現(xiàn)層主要使用了 JSP 技術(shù),用戶通過操作某一 JSP 來操作系統(tǒng),如 FrendsList.jsp,VideoLikes.jsp,Recommendation.jsp 等。服務層:該層是為系統(tǒng)提供中心模塊的服務內(nèi)容,如 Frends 服務, Recommendation 服務,Video 服務等服務接口類,經(jīng)過用戶在前端的頁面請求, 將請求放回給后臺處理結(jié)果,最后將結(jié)果返回給前端頁面。數(shù)據(jù)存儲層:在數(shù)據(jù)庫中,使用了 Mysql
26、 關(guān)系型數(shù)據(jù)庫進行存儲。為了緩存后臺產(chǎn)生的數(shù)據(jù),幫助提高系統(tǒng)性能,因而使用 Redis。系統(tǒng)的邏輯架構(gòu)圖如下圖 4-1-1 所示:圖 4-1-1 系統(tǒng)邏輯架構(gòu)圖系統(tǒng)功能模塊劃分本系統(tǒng)主要由 5 大模塊和其他子模塊,五大模塊分別是內(nèi)容模塊,好友模塊, 推薦模塊,用戶模塊,后臺管理員管理模塊。系統(tǒng)模塊及其子模塊如下:好友模塊:主要包括好友的管理(增加,刪除,查詢),好友資料的查看,好友內(nèi)容發(fā)布查看。推薦模塊:主要包括好友推薦的推薦原因,推薦時間,推薦用戶名稱。用戶模塊:主要包括用戶信息資料,我的好友查詢,修改個人資料, 修改密碼,我的收藏。內(nèi)容模塊:主要包括文字發(fā)表,視頻發(fā)表和圖片發(fā)表。管理系統(tǒng)模
27、塊:管理系統(tǒng)模塊是幫助后臺管理員更好地管理系統(tǒng)后臺的相關(guān)信息,能夠?qū)γ總€用戶角色對應的各種權(quán)限的管理,還有管理用戶發(fā)表內(nèi)容的審核,管理用戶評論內(nèi)容的審核,管理用戶注冊信息的審核等。通過以上信息可畫出系統(tǒng)功能模塊圖如下圖 4-2 所示:圖 4-2 系統(tǒng)功能模塊圖系統(tǒng)的數(shù)據(jù)庫設計實體 E-R 圖設計利用 E-R 圖對數(shù)據(jù)庫的相關(guān)信息進行設計,首先針對用戶為實體具有以下屬性:編號,用戶名,密碼,姓名,性別,出生年月,電話,郵箱,創(chuàng)建時間如下圖 4-3-1 所示圖 4-3-1 用戶實體E-R 圖針對好友,具有以下屬性:編號,用戶編號,姓名,性別,電話,添加人, 創(chuàng)建時間如下圖 4-3-1 所示圖 4-
28、3-2 好友實體E-R 圖把評論當做實體,針對評論為實體具有以下屬性:編號,評論內(nèi)容,評論人, 評論時間如下圖 4-3-3 所示圖 4-3-3 評論實體E-R 圖用戶收藏內(nèi)容的這一過程,可以把收藏夾當做實體,針對收藏夾具有以下屬性:編號,用戶名,標題,鏈接,創(chuàng)建時間如下圖 4-3-4 所示圖 4-3-4 收藏實體E-R 圖用戶發(fā)表文字內(nèi)容,把文字內(nèi)容當做實體,針對文字內(nèi)容具有以下屬性:編號,文字主題,文字內(nèi)容,發(fā)表人,點贊量,創(chuàng)建時間,是否審核如下圖 4-3-5 所示圖 4-3-5 文字內(nèi)容實體E-R 圖用戶發(fā)表圖片內(nèi)容,把圖片內(nèi)容當做實體,針對圖片內(nèi)容具有以下屬性:編號,圖片主題,圖片,發(fā)表
29、人,點贊量,創(chuàng)建時間,是否審核如下圖 4-3-6 所示圖 4-3-6 圖片內(nèi)容E-R 圖用戶發(fā)表視頻內(nèi)容,把視頻內(nèi)容當做實體,針對視頻內(nèi)容具有以下屬性:編號,視頻主題,視頻,發(fā)表人,點贊量,是否審核,創(chuàng)建時間如下圖4-3-7 所示圖 4-3-7 視頻內(nèi)容E-R 圖Users 用戶表如下表 4-3-1 所示:表 4-3-1用戶表字段名稱數(shù)據(jù)類型長度是否為解釋uidint10null否用戶編號namevarchar49否用戶名稱realnamevarchar50否真實姓名sexvarchar4否性別birthtimevarchar100否出生年月phonenumbervarchar45否電話add
30、timetimestamp50否創(chuàng)建日期Friends 好友表如下表 4-4-1 所示:表 4-4-1 好友表字段名稱數(shù)據(jù)類型長度是否為解釋nullfidint11否好友編號usersidint11否用戶編號namevarchar50否好友名稱realnamevarchar50否真實姓名sexvarchar4否性別concernedvarchar50否添加人phonenumbervarchar45否電話addtimetimestamp50否創(chuàng)建日期收藏列表 Collects 如下表 4-5-1:表 4-5-1 收藏列表字段名稱數(shù)據(jù)類型長度是否為解釋nullcolidint11否收藏編號user
31、sidint11否用戶編號urlvarchar255否鏈接titlevarchar100否標題addtimetimestamp50否創(chuàng)建日期評論表 Comments 如下表 4-6-1:表 4-6-1 評論表字段名稱數(shù)據(jù)類型長度是否為解釋comidint11null否評論編號commentatorvarchar50否評論人contentsvarchar255否內(nèi)容addtimetimestamp50否創(chuàng)建日期文字內(nèi)容表 Writtings 如下表 4-7-1:表 4-7-1 文字內(nèi)容表字段名稱數(shù)據(jù)類型長度是否為解釋nullwidint11否內(nèi)容編號titlevarchar50否標題conten
32、tsvarchar255否內(nèi)容likesint11否點贊量isverifyvarchar10否是否審核addtimetimestamp50否創(chuàng)建日期圖片內(nèi)容表 Pictures 如下表 4-8:表 4-8 圖片內(nèi)容表字段名稱數(shù)據(jù)類型長度是否為解釋nullpidint11否圖片編號titlevarchar50否標題contentsvarchar255否內(nèi)容likesint11否點贊量isverifyVarchar10否是否審核addtimetimestamp50否創(chuàng)建日期視頻內(nèi)容表 Videos 如下表 4-9-1:表 4-9-1 文字內(nèi)容表字段名稱數(shù)據(jù)類型長度是否為解釋vidint11null
33、否視頻編號titlevarchar50否標題contentsvarchar255否內(nèi)容likesint11否點贊量isverifyVarchar10否是否審核addtimetimestamp50否創(chuàng)建日期本章小結(jié)第四章講述了系統(tǒng)的概要設計,其包含系統(tǒng)功能模塊和邏輯架構(gòu)設計, 并對其相關(guān)模塊進行細節(jié)的劃分和主要的數(shù)據(jù)庫設計。第五章 系統(tǒng)詳細設計和實現(xiàn)登錄頁面驗證碼實現(xiàn)在登錄模塊上,是需要有驗證碼對用戶是否為人機進行檢驗的,通過BufferedImage ,Graphics 和 String 類很好地實現(xiàn)了隨機的驗證碼,將驗證碼圖片存在 img 中并且生成到頁面。驗證碼控制器核心代碼實現(xiàn):/* 驗
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);登錄頁面展示登錄頁面在網(wǎng)頁上方欄目對右邊的登錄圖標進行點擊后,登錄點擊頁面在首頁存在的原因是為了使頁面更加地為用戶提供方便的登錄方式,輸入注冊成功后的用戶信息即可進行輸入驗證碼,驗證碼審核成功后登錄即可成功登錄頁面流程圖圖 5-1-2-1 登錄操作圖該模塊的流程有:當鼠標點擊登錄圖標后,就會跳出登錄窗口,使用自己的用戶名和密碼輸入后選擇用戶權(quán)限,用戶權(quán)限默認為注冊用戶,輸入驗證碼驗證成功后跳出登錄成功提示窗口結(jié)束。登錄流程圖如下所示:登
38、錄模塊代碼實現(xiàn)圖 5-1-3-1 登錄流程圖由后臺驗證登錄頁面前臺頁面發(fā)送過來的用戶名,密碼,用戶權(quán)限,驗證碼的值,通過后臺的相關(guān)邏輯處理,返回給前臺頁面進行頁面跳轉(zhuǎn)操作, 主要代碼如下所示:/* 用戶登錄更新密碼控制器*/ 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);用戶點贊評論和收藏界面展示用戶點贊評論和收藏基本上是數(shù)據(jù)庫的增刪改查功能和判斷用戶是否登錄的情況,只以視頻點贊為例,用戶的點贊為一個控制器,在視頻點贊控制器中,用戶點擊點贊,前臺的點贊信息將會傳給后臺進行相應的邏輯處理, 視頻主的點贊列表將會出現(xiàn)一個用戶的點贊信息,并且視頻下方的點贊數(shù)增加點贊視頻的頁面展示:評論的展示如下圖所示:圖 5-2-1-1 視頻頁面圖 5-2-1-2 評論展示收藏功能展示,用戶點擊收藏,前臺頁面就會發(fā)送信息將后臺頁面的收藏視頻類進行相應的邏輯
47、處理,然后就會將該視頻收藏進用戶個人中心下的收藏頁面收藏夾頁面展示:點贊評論流程圖圖 5-2-1-3 收藏展示在點贊的流程中,用戶會在前臺頁面點擊點贊,點擊后前臺會發(fā)送信息到后臺頁面進行增加點贊數(shù)的邏輯操作,后臺將會把點贊數(shù)保存到數(shù)據(jù)庫。流程圖如下所示:圖 5-2-2-1 點贊流程圖圖 5-2-1-2評論流程圖用戶發(fā)布內(nèi)容用戶內(nèi)容頁面展示用戶在想要給自己發(fā)表一些話語內(nèi)容或者圖片分享內(nèi)容或者視頻內(nèi)容可以在個人中心發(fā)布個人的內(nèi)容。通過文字發(fā)表頁面填寫自己的文字標題名稱,文字內(nèi)容,文字是否推薦然后點擊提交即可,同樣用戶也可以刪除自己想要刪除的文字,在文字查詢區(qū)域找到自己想要刪除的內(nèi)容刪除即可。圖 5
48、-3-1-1 文字發(fā)表文字發(fā)布后一旦被管理員審核之后就會發(fā)布在文字內(nèi)容展示區(qū),視頻和圖片也是一樣的,視頻的信息填寫上傳文件之后就可以發(fā)布視頻,視頻上傳后,后臺管理員進行檢驗,通過后就會出現(xiàn)在視頻的內(nèi)容區(qū),視頻的內(nèi)容區(qū)如下圖所示:圖 5-3-1-2 視頻內(nèi)容展示區(qū)用戶發(fā)布內(nèi)容流程圖用戶發(fā)布內(nèi)容的流程最核心的部分就是內(nèi)容的審核階段,因為內(nèi)容的審核是社交平臺最核心的點,如果沒有內(nèi)容審核這一階段,那么內(nèi)容的發(fā)布就會很沒有規(guī)則,會使很多不健康不文明的內(nèi)容在社交平臺上出現(xiàn),這樣就會很大地影響用戶的使用體驗,嚴重者會影響到用戶身心的健康。所以內(nèi)容審核是很重要的流程。用戶發(fā)布的流程中是必須存在這一階段的,用戶
49、發(fā)布內(nèi)容的流程圖如下圖所示:圖 5-3-2-1內(nèi)容發(fā)布流程圖推薦功能推薦界面展示用戶發(fā)布自己的內(nèi)容之后,可以對自己的賬號進行推薦,并且可以填寫自己的推薦備注信息,用戶就會在推薦頁面進行顯示自己的用戶列表頁。其推薦圖展示如下圖所示圖 5-4-1-1推薦圖系統(tǒng)后臺管理后臺管理界面展示該頁面是由管理員賬號才能夠登錄的頁面,登錄時需要檢驗用戶權(quán)限是否為后臺管理員,如果是,則用戶名和密碼輸入正確并且驗證碼也輸入正確的時候,就允許進入后臺管理界面,后臺管理頁面是后臺管理員負責管理社交平臺后臺信息,用戶發(fā)布內(nèi)容的審核管理,用戶注冊的管理,用戶角色的管理。也可以通過后臺管理系統(tǒng)查看系統(tǒng)的基本信息, 管理員賬號
50、信息管理, 賬號密碼修改。文字,圖片和視頻內(nèi)容發(fā)表的管理和點贊信息的管理。對用戶推薦信息的管理,還有好友信息的查詢功能。后臺管理員最主要的就是審核用戶信息,審核內(nèi)容信息和查看系統(tǒng)信息三大作用。圖 5-6-2 后臺管理系統(tǒng)圖內(nèi)容審核的代碼實現(xiàn)/*設置是否審核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)+;當用戶對內(nèi)容進行發(fā)表的時候,內(nèi)容經(jīng)常會帶有是否審核的屬性,在沒有管理員審核的情況,用戶上傳內(nèi)容系統(tǒng)會自動把是否審核的這一屬性賦值為否,當管理員審核完畢后,發(fā)現(xiàn)該內(nèi)容沒
52、有任何問題,就把是否審核的屬性更新值為是。這就實現(xiàn)了管理員后臺審核的這一功能。其他設計文件上傳的設計實現(xiàn)用戶在頭像上傳,圖片和視頻上傳都必須要用到文件上傳功能,文件上傳使用了 UUID 和 File,把上傳上來的文件轉(zhuǎn)化,在傳入的虛擬路徑上獲取物理路經(jīng),然后將轉(zhuǎn)化好的文件名和路徑結(jié)合起來返回新的url 保存到數(shù)據(jù)庫中完成文件的上傳。/* 上傳控制器*/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;/*根據(jù)傳入的虛擬路徑獲取物理路徑*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;本章小結(jié)本章主要詳細描述了項目每一個功能模塊的詳細設計與實現(xiàn),針對每一個模塊的主要功能分別描述和展示了頁面的模塊和流程圖,一些功能將實現(xiàn)代碼也展現(xiàn)了出來。第六章 系統(tǒng)測試運行測試測試概述軟件測試能夠在系統(tǒng)模塊實現(xiàn)和需求結(jié)合起來達到檢測目的的一種實現(xiàn),它是在非常多的測試次數(shù)下,為了實現(xiàn)能夠證明系統(tǒng)是能夠運行的,系統(tǒng)的某個模塊是準確的,系統(tǒng)的整體實現(xiàn)是安全可靠的。測試目的測試是軟件開發(fā)中的一種活動。它是對軟件進行的調(diào)查,目的是
57、向涉及用戶提供關(guān)于軟件質(zhì)量的信息。軟件測試通常與驗證和確認一詞結(jié)合使用。什么是驗證,驗證就是檢查或測試項目(包括軟件)與相關(guān)規(guī)范的一致性和正確性, 就好像是在說:“我們做的工作對嗎?”。驗證是檢查指定的內(nèi)容是用戶實際需要的過程。軟件 測試只是一種驗證,它還使用諸如審查,分析,檢查和演練之類的技術(shù)。測試所需要的環(huán)境系統(tǒng)在不一樣的測試階段中會有不同的系統(tǒng)測試環(huán)境,現(xiàn)階段主要介紹上線前最主要,最焦點,涉及面最大的測試服務器系統(tǒng): Manjaro 18.01開發(fā)環(huán)境: JDK 1.8Web 服務器: Tomcat 8.0關(guān)系型數(shù)據(jù)庫: MySQL 5.7Key-Value 數(shù)據(jù)庫: Redis 3.2
58、網(wǎng)頁瀏覽器: IE7 以上版本, FireFox ,Chrome系統(tǒng)功能測試在結(jié)合開發(fā)和需求上將實現(xiàn)好的界面上進行測試數(shù)據(jù)。該社交系統(tǒng)的主 要功能模塊有:登錄功能,注冊功能,沒有登錄的攔截跳轉(zhuǎn)功能,評論功能, 收藏功能,點贊功能,文件上傳功能,文字視頻和圖片內(nèi)容的發(fā)布功能,關(guān) 注好友功能,系統(tǒng)后臺管理功能等功能測試表表 6-1-4 所示:測試功能操作表 6-1-4 功能測試表預期結(jié)果實際結(jié)果用戶注冊進入用戶頁面, 輸入合規(guī)的用戶名和密碼, 輸入正確的驗證碼用戶登錄點擊用戶登錄之后就會出現(xiàn)登錄窗口,在登錄窗口中出現(xiàn)注冊成功提示,進入首頁將會出現(xiàn)提示登錄成功窗口,進入首與預期結(jié)果一致與預期結(jié)果一致
59、輸入正確的用戶名密碼和頁能看到用戶的用登錄驗證碼戶信息文件上傳點擊頭像上傳,上傳圖片格圖片上傳成功,用與預期結(jié)果功能式有 jpg,png 格式的圖片戶資料出現(xiàn)頭像。一致文字發(fā)布輸入文字信息,點擊提交出現(xiàn)提交成功提示與預期結(jié)果一致視頻發(fā)布點擊視頻上傳,上傳 mp4, mkv 格式的視頻,輸入視頻出現(xiàn)提交成功提示與預期結(jié)果一致標題,點擊提交圖片發(fā)布點擊圖片上傳,上傳 png, jpg 格式的圖片,輸入圖片出現(xiàn)提交成功提示與預期結(jié)果一致標題,點擊提交關(guān)注好友進入好友推薦頁面, 點擊關(guān)好友列表出現(xiàn)了關(guān)與預期結(jié)果注,查看自己的好友列表注了的好友一致用戶點贊進入視頻區(qū),點擊視頻詳點贊量比之前的點與預期結(jié)果
60、情,點擊點贊贊量+1一致用戶收藏進入視頻區(qū),點擊視頻詳用戶收藏夾出現(xiàn)收與預期結(jié)果情,點擊收藏藏了的視頻內(nèi)容一致用戶評論進入視頻區(qū),點擊評論,輸視頻下方出現(xiàn)評論與預期結(jié)果入評論內(nèi)容,點擊提交內(nèi)容一致系統(tǒng)后臺以后臺管理員身份登錄進視頻區(qū)出現(xiàn)了審核與預期結(jié)果審核入后臺管理頁面, 查看視頻通過的視頻一致發(fā)布內(nèi)容列表, 將是否審核值為否的內(nèi)容查看,并且將是否審核值改為是,最后查看視頻區(qū)6.1.5系統(tǒng)性能測試系統(tǒng)總體性能統(tǒng)計和應用程序性能指標通過使用 JMeter 工具進行壓力測試結(jié)果得出,在測試持續(xù)時間為 3 分鐘之內(nèi),開啟 100 個線程,可以看出系統(tǒng)總體請求次數(shù)達到 63484 次,錯誤率0,最大響
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣告的制作和刊登行業(yè)相關(guān)項目經(jīng)營管理報告
- 廢水回用技術(shù)行業(yè)營銷策略方案
- 廣告設計行業(yè)相關(guān)項目經(jīng)營管理報告
- 蜂箱用木格子市場發(fā)展前景分析及供需格局研究預測報告
- 自行車剎車操縱閘把市場分析及投資價值研究報告
- 皮制長外衣商業(yè)機會挖掘與戰(zhàn)略布局策略研究報告
- 電打字機細分市場深度研究報告
- 為保護數(shù)據(jù)進行計算機安全威脅分析行業(yè)市場調(diào)研分析報告
- 廣告分發(fā)行業(yè)營銷策略方案
- 牙科用貴金屬合金市場發(fā)展前景分析及供需格局研究預測報告
- 【超星爾雅學習通】海上絲綢之路網(wǎng)課章節(jié)答案
- 煤礦安全知識競賽風險題(120道題)備課講稿
- GB/T 3811-1983起重機設計規(guī)范
- 全國高等醫(yī)學院校臨床教學基地評審評分標準
- 射線防護工程施工工法
- 抗菌藥物科普小常識
- 小學四年級下冊綜合實踐活動.二十四節(jié)氣-(37張)ppt
- 鼻通氣功能檢查
- MES技術(shù)及其應用-西門子MES剖析課件
- 搶救車藥品交接本
- 體育說課教學課件
評論
0/150
提交評論