基于SpringBoot博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于SpringBoot博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于SpringBoot博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于SpringBoot博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于SpringBoot博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于SpringBoot博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)DesignandimplementationofblogsystembasedonSpringBoot中文摘要互聯(lián)網(wǎng)隨著社會(huì)的進(jìn)步也漸漸得到普及,給人們帶來很多便利,可以提供更多的服務(wù),在互聯(lián)網(wǎng)還沒有發(fā)展起來之前,人們需要購買紙質(zhì)報(bào)紙或通過人際交往獲取信息?,F(xiàn)在隨著互聯(lián)網(wǎng)的發(fā)展,人們正在越來越多地方便我們的生活。有什么問題,除了通過以前的方式獲取信息外,人們還可以通過互聯(lián)網(wǎng)更快、更方便地獲取更多自己想要的信息,獲取信息是這樣,發(fā)表自己的想法也那么方便了。通過互聯(lián)網(wǎng)發(fā)布你的經(jīng)驗(yàn)或想法,可以讓更多的互聯(lián)網(wǎng)使用伙伴了解你的信息。因此,現(xiàn)在網(wǎng)絡(luò)幾乎已經(jīng)成為人們收集和表達(dá)信息、更及時(shí)地獲得意見和建議、通過交流更好地提高思維維度的一種方式。因此,個(gè)人博客的誕生為人們表達(dá)思想、記錄生活、討論知識(shí)的方方面面帶來了新的體驗(yàn)。本系統(tǒng)基于SpringBoot和MyBatis框架,在服務(wù)端,也即是B/S中的Service端,基于Java平臺(tái)的開源的應(yīng)用框架SpringBoot框架,簡(jiǎn)單化了Spring框架應(yīng)用構(gòu)建和開發(fā);優(yōu)秀持久層框架——MyBatis,不僅不需要依賴第三方關(guān)系而且只要簡(jiǎn)單增加配置即可使用,另外,為了使系統(tǒng)更加完整,安全性也不可忽視的一方面。本系統(tǒng)采用Shiro技術(shù),Shiro是一個(gè)Java安全框架,功能包括用戶登錄的身份認(rèn)證和用戶權(quán)限的管理、密碼加密等;作為博客系統(tǒng),搜索功能是必不可少的,該系統(tǒng)采用Java語言開發(fā)的Solr搜索引擎,以Lucene及其擴(kuò)展的全文搜索引擎為基礎(chǔ),配置更少即可快速使用。在Browns方面,本系統(tǒng)采用了比較流行的前端框架Bootstrap、layui、jQuery、Ajax等技術(shù)構(gòu)建頁面,使用戶在頁面上的視覺感受更加舒適,使用更加方便對(duì)用戶更加友好;開發(fā)工具IntelliJIDEA是采用JetBrains公司開發(fā)的開發(fā)工具。本系統(tǒng)主要由前臺(tái)顯示和后臺(tái)管理員管理兩部分組成。主要實(shí)現(xiàn)了博客的一些基本功能——前臺(tái)核心功能:查看文章、評(píng)論文章、留言和查詢等;后臺(tái)核心功能:添加文章、管理評(píng)論、角色管理、權(quán)限分配等。本文將展示如何使用上述技術(shù)設(shè)計(jì)和實(shí)現(xiàn)博客系統(tǒng)。關(guān)鍵詞:博客SpringBootMyBatisBootstraplayui

Abstract ThedevelopmentofInternetbringsconveniencetopeople.BeforetheInternethasnotdeveloped,peopleneedtobuypapernewspapersorobtaininformationthroughinterpersonalcommunication.Inadditiontopreviousmethodsofgettinginformation,nowtherearemoreconvenientwaystogetmoreinformationyouwantandexpresshowyouwanttotype.PublishingyourexperiencesorideasovertheInternetcanmakeyourinformationknowntomoreInternetusers.Therefore,thenetworkhasalmostbecomeawayforpeopletocollectandexpressinformation,getopinionsandsuggestionsmoretimely,andimprovethedimensionofthinkingthroughcommunication.Therefore,thebirthofpersonalbloghasbroughtnewexperienceforpeopletoexpresstheirthoughts,recordtheirlives,anddiscussallaspectsofknowledge.ThesystemisbuiltanddevelopedbySpringBoot,anopensourceapplicationframeworkdevelopedbyjavalanguage.Itisagoodpersistentlayerframeworkindependentofthird-partyrelationship.MyBatisisavailablewithasimpleconfiguration,andsecurityisanimportantaspecttomakeyoursystemmorecomplete.ThissystemusesShirotechnology,ShiroisaJavasecurityframework,whichincludesuserloginauthentication,userrightsmanagement,passwordencryption,etc.Asablogsystem,searchfunctionisessential.SolrsearchenginedevelopedinJavalanguageisbasedonLuceneanditsextendedfull-textsearchengine,andcanbeusedquicklywithlessconfiguration.Infront-enddevelopment,thesystemusesthepopularfront-endframeworkbootstrap,layui,jQuery,Ajaxandothertechnologiestobuildasimplepage,addingappropriatefront-endlibrarytomaketheinterfacemorecomfortableandfriendly.ThedevelopmenttoolIntelliJIDEAisadevelopmenttooldevelopedbyJetBrains.Foregroundandbackgroundmanagementisthesystemoftowparts.Itmainlyimplementssomebasicfunctionsoftheblog-foregroundcorefunctions:viewingarticles,commentingarticles,messagesandqueries;backgroundcorefunctions:addingarticles,managingcomments,rolemanagement,permissionassignment,etc.Keywords:BlogSpringBootMyBatisBootstraplayui廣東東軟學(xué)院本科畢業(yè)設(shè)計(jì)(論文)目錄1.緒論 .緒論本章闡述了本文的研究背景和意義,網(wǎng)絡(luò)快速發(fā)展下博客的發(fā)展現(xiàn)狀以及對(duì)未來發(fā)展的啟示。1.1研究背景與意義以往人們獲取信息可以從報(bào)紙、書、電視、電臺(tái)等途徑來獲取。值得一提的是隨著互聯(lián)網(wǎng)的發(fā)展,人們獲取信息的方式除了前面提到的方式外又增加了新方式。在互聯(lián)網(wǎng)上搜索相關(guān)信息和進(jìn)行話題交流已經(jīng)成為人們之間最便捷、最有效的交流方式。這就證明了一句話,秀才不出門,盡知天下事。隨著人們?cè)诰W(wǎng)絡(luò)上發(fā)表意見、引用他人意見,博客系統(tǒng)逐漸形成。博客系統(tǒng)不僅是一個(gè)很好的表達(dá)個(gè)人情感和自我發(fā)展個(gè)性的平臺(tái),也是一個(gè)很好的與不同想法的人交流的平臺(tái)。本文的研究意義是從軟件設(shè)計(jì)的角度出發(fā),從軟件需求分析到測(cè)試,詳細(xì)闡述了blog系統(tǒng)的開發(fā)過程,并在簡(jiǎn)要介紹基本技術(shù)的基礎(chǔ)上,將其應(yīng)用到系統(tǒng)中,注重用戶使用該系統(tǒng)獲得從操作到安全等方面,并在此基礎(chǔ)上設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)。1.2國內(nèi)外發(fā)展現(xiàn)狀近些年發(fā)展迅速的博客,很快的取代了早期的信息交流系統(tǒng),比如BBS、電子郵箱、ICQ等方式,博客影響著人們的不僅是便捷方面更是效率上的改進(jìn),帶給人們新穎的交流溝通方式,給人們之間傳遞信息帶來了巨大的方便,以下為博客系統(tǒng)在國內(nèi)外這些年來的發(fā)展?fàn)顩r。1.2.1國外發(fā)展的現(xiàn)狀國外也不例外并且已經(jīng)有很多成熟的案例,比如:世界上最流行的博客軟件之一——是一個(gè)開發(fā)源碼的軟件平臺(tái),通過平臺(tái)能夠達(dá)到提高對(duì)話質(zhì)量和范圍目標(biāo);再如Wix是一個(gè)創(chuàng)建網(wǎng)站的托管平臺(tái),就算不是軟件開發(fā)的使用者也可以快速的使用施放工具來創(chuàng)建網(wǎng)站,方便了想要擁有自己網(wǎng)站又沒有基礎(chǔ)的使用者。1.2.2國內(nèi)發(fā)展的現(xiàn)狀國內(nèi)最流行的互聯(lián)網(wǎng)概念是Blog。通過在博客中分享生活,人們可以通過閱讀博客這種方式來獲取各種精彩信息,擴(kuò)大了人們對(duì)對(duì)未來美好的追求和未來信息世界的期待,加速了人與人之間的溝通交流,影響著整個(gè)國內(nèi)互聯(lián)網(wǎng)的發(fā)展趨勢(shì)。1.2.3未來發(fā)展的啟示博客是個(gè)人網(wǎng)絡(luò)中熱門級(jí)應(yīng)用,它能使每個(gè)人都能成為互聯(lián)網(wǎng)上成為一個(gè)獨(dú)立且完整的主體。在未來發(fā)展中,博客將成為中心應(yīng)用,用來整合各種網(wǎng)絡(luò)應(yīng)用,除了email,甚至短信通知、應(yīng)用博客、協(xié)同辦公以及討論等應(yīng)用的整合;使用平臺(tái)上除了計(jì)算機(jī),還可以更便利的在手機(jī)上使用,亦可通過電視使用更能增加對(duì)視覺效果,各種終端在各地進(jìn)行,更能顯得更隨手隨時(shí)可得的信息。個(gè)人博客是整體形象基于個(gè)人應(yīng)用中心的網(wǎng)上個(gè)人發(fā)言人。

2.系統(tǒng)開發(fā)工具與相關(guān)技術(shù)開發(fā)項(xiàng)目中所使用的工具和相關(guān)技術(shù)在項(xiàng)目中使用細(xì)節(jié)將在本節(jié)詳細(xì)講解。2.1系統(tǒng)開發(fā)工具2.1.1IntelliJIDEA簡(jiǎn)稱IDEA,它比傳統(tǒng)的eclipse/MyEclipse更加方便和強(qiáng)大,自帶插件或者能查找插件直接下載使用,不用專門網(wǎng)上查找插件再去軟件中安裝,使用方便快捷。IDEA智能提示功能以及各種快捷鍵使減少編碼工作量和加快開發(fā)速度。2.1.2MySQL數(shù)據(jù)庫MySQL以其速度快、準(zhǔn)確性高、可用性強(qiáng)以及其開源等優(yōu)點(diǎn),并且下載包小引起了人們的廣泛關(guān)注。MySQL是管理內(nèi)容而不需要進(jìn)行事務(wù)處理的最佳選擇。2.1.3Maven項(xiàng)目管理工具通俗一點(diǎn)講Maven工具就是包管理工具,只需要在xml文件中增加項(xiàng)目需要的對(duì)應(yīng)包名稱以及版本,Maven就會(huì)從本地倉庫或者是網(wǎng)上找到對(duì)應(yīng)的包下載到本地倉庫即可使用,所以說使用Maven搭建簡(jiǎn)單的項(xiàng)目只需要兩三行即可運(yùn)行該項(xiàng)目。2.2系統(tǒng)后臺(tái)技術(shù)涉及到獲取用戶請(qǐng)求、請(qǐng)求數(shù)據(jù)的邏輯處理、數(shù)據(jù)庫操作處理以及操作安全問題。2.2.1SpringBoot框架技術(shù)SpringBoot框架最大特點(diǎn)就是控制反轉(zhuǎn)和面向切面編程。2.2.2MyBatis框架技術(shù)該框架最主要的作用就是操作數(shù)據(jù)庫,是一個(gè)持久層框架,可以使用自帶的操作語句或者開發(fā)者編寫sql語句對(duì)數(shù)據(jù)進(jìn)行操作。2.2.3Shiro框架技術(shù)本項(xiàng)目使用該框架主要是使用到該框架的用戶登錄操作進(jìn)行驗(yàn)證和權(quán)限管理這兩個(gè)功能,通過權(quán)限管理這個(gè)功能可以給用戶分配角色來控制用戶可操作行為。2.2.4Solr服務(wù)器技術(shù)本項(xiàng)目使用Solr是為了在前臺(tái)用戶輸入關(guān)鍵字而對(duì)文章進(jìn)行操作時(shí)使用,而Solr剛好是一個(gè)簡(jiǎn)單易上手的全文搜索工具,還能通過完整的功能管理界面來直觀的觀察服務(wù)器操作日志以及能通過管理界面來直接操作檢索工具,通過直接操作的方式來檢查自己在項(xiàng)目中是否查詢正確。2.2.5Docker通過Docker容器引擎,可以在服務(wù)器中直接通過這個(gè)容器引擎下載需要的軟件,無需在服務(wù)器中把下載包進(jìn)行安裝軟件。2.3系統(tǒng)前端技術(shù)設(shè)計(jì)到與用戶直接交互的操作,使用技術(shù)要給用戶帶來良好的體驗(yàn)。2.3.1jQuery技術(shù)jQuery最簡(jiǎn)潔的介紹就是JavaScript框架,封裝了常見的JavaScript功能,并且還能擴(kuò)展自己的JavaScript代碼,方便重用。有獨(dú)特的鏈?zhǔn)秸Z法,即可以減少重復(fù)代碼的書寫。擁有豐富的插件以及與主流瀏覽器兼容。實(shí)現(xiàn)了jQuery的宗旨writeless,domore.2.3.2Ajax技術(shù)Ajax通過提交請(qǐng)求刷新內(nèi)容部分信息,不僅減少了對(duì)服務(wù)器的請(qǐng)求信息,還很大程度提高了用戶體驗(yàn)。使用Ajax的另一個(gè)優(yōu)點(diǎn)就是不用依賴插件。2.3.3Bootstrap框架使用Bootstrap可以縮短搭建網(wǎng)站的時(shí)間,是因?yàn)楹胸S富的組件還附帶了多個(gè)jQuery插件,使用起來更加方便快捷??梢愿鶕?jù)自己的需要對(duì)CSS變量進(jìn)行定制代碼。2.3.4layui框架Layui根據(jù)web頁面的需求以模塊化的方式進(jìn)行加載所需模塊,內(nèi)部提供了很多的內(nèi)置模塊,它是一種網(wǎng)頁管理頁面的快速開發(fā)方案。2.3.5Thymeleaf模板引擎Thymeleaf的使用有利于前后端分離,與SpringBoot框架結(jié)合使用,可以通過簡(jiǎn)單的配置即可進(jìn)行信息傳遞。

3.系統(tǒng)分析3.1系統(tǒng)功能分析概述如下圖3-1可知道到由游客前臺(tái)模塊和管理者后臺(tái)模塊兩部分組成的本系統(tǒng),其中游客前臺(tái)操作模塊面向的使用主要對(duì)象是普通用戶者即游客,其主要包括了游客臨時(shí)信息的儲(chǔ)存、組織展示、文章分類、文章搜索、文章展示、文章評(píng)論以及重點(diǎn)的文章瀏覽功能,其中文章評(píng)論不需要要求游客登陸注冊(cè),只需要留下郵箱聯(lián)系即可,如果是第一次輸入,會(huì)把信息存在瀏覽器的LocalStorage中,減少了重復(fù)操作,提高用戶使用好感。而管理者后臺(tái)模塊面向的使用對(duì)象主要是運(yùn)維者和管理者,這模塊主要功能包括了文章、用戶、評(píng)論、文章類型以及文章標(biāo)簽的管理五個(gè)子功能模塊。根據(jù)功能模塊圖給兩個(gè)功能模塊畫出了具體用例圖,如3-2所示的游客功能用例圖和如3-3所示的管理者功能用例圖。圖3-1博客系統(tǒng)功能模塊示意圖圖3-2游客功能用例圖圖3-3管理者功能用例圖3.2系統(tǒng)功能性需求分析從上述兩個(gè)模塊方面進(jìn)行詳細(xì)的分析,并描述其功能需求,從而明確系統(tǒng)的詳細(xì)功能需求,越明確的需求對(duì)后續(xù)的系統(tǒng)開發(fā)越好,即是為編碼鋪好道路。3.2.1系統(tǒng)游客功能性需求分析圖3-4博客系統(tǒng)游客功能概述圖圖3-5前臺(tái)首頁圖3-6熱門文章展示列表圖3-7推薦文章展示列表本系統(tǒng)中的游客功能需求的概述圖(圖3-4),如下進(jìn)行分析。(1)文章列表展示的系統(tǒng)前臺(tái)功能本系統(tǒng)游客操作的最基本功能,在打開本系統(tǒng)前臺(tái)首頁(圖3-5),則為文章的展示頁面,通過首頁展示10條信息,由下拉獲取更多的文章。首頁除了可以查看最新發(fā)布的文章展示以外,還有右邊兩個(gè)欄是用來展示熱門文章(圖3-6)和推薦文章(圖3-7)的,熱門文章是由文章的評(píng)論熱度來評(píng)選出來的,推薦文章則是由管理員操作推薦出來的,這樣能更加吸引用戶的眼球,可以通過這兩個(gè)欄目,讓使用者有選擇性閱讀。該功能具有三項(xiàng)子功能,分別是通過文章分類來根據(jù)文章進(jìn)行分類并展示功能、通過關(guān)鍵字搜索出的文章列表進(jìn)行展示功能、通過文章標(biāo)簽搜索得到的文章列表展示功能。其中文章分類功能和文章標(biāo)簽搜索功能都使通過點(diǎn)擊來查詢文章,分類和標(biāo)簽皆是由管理者定義好的。以下對(duì)其三項(xiàng)子功能進(jìn)行詳細(xì)的闡述和說明。文章分類功能:每一篇文章都有屬于自己的類型,通過文章分類可以快速分類出該分類下的文章頁面,通過文章分類功能能找到屬于這一類的文章,以便系統(tǒng)的閱讀文章。文章關(guān)鍵字搜索功能:通過搜索關(guān)鍵字來搜索出相關(guān)文章,其中這些關(guān)鍵字會(huì)在文章的標(biāo)題、描述或者文章內(nèi)容中找到相關(guān)的信息則會(huì)返回該文章,表示該文章有包括關(guān)鍵字的內(nèi)容??梢酝ㄟ^這個(gè)功能快速的找到自己想要看的文章。文章標(biāo)簽搜索功能:每篇文章都有屬于自己的標(biāo)簽,一個(gè)甚至多個(gè),通過標(biāo)簽分類可以快速的找到有關(guān)該標(biāo)簽的文章,更適合與找到相關(guān)標(biāo)簽的文章。圖3-8文章詳情展示功能頁(2)文章詳情展示功能(圖3-8)該功能為課題博客系統(tǒng)的基礎(chǔ)功能,在游客點(diǎn)擊文章展示頁中的任意一篇文章的時(shí)候會(huì)跳轉(zhuǎn)到該文章的詳情展示頁,在文章展示頁中只有顯示文章的標(biāo)題和描述以及發(fā)表時(shí)間,通過這個(gè)功能能盡情地閱讀全文。該功能具有三項(xiàng)子功能,分別為瀏覽評(píng)論功能、發(fā)表評(píng)論功能和打賞文章功能。其中瀏覽評(píng)論功能和發(fā)表評(píng)論功能只在該文章在可評(píng)論狀態(tài)下才會(huì)開放的功能,以下對(duì)其三項(xiàng)子功能進(jìn)行詳細(xì)的闡述和說明。瀏覽評(píng)論功能:游客可以查看該文章的評(píng)論列表,通過評(píng)論列表游客可以更進(jìn)一步的了解到該文章給不同人帶來不一樣的體驗(yàn),以及能從評(píng)論中找到更多有關(guān)這篇文章的相似問題并能與其進(jìn)行溝通。評(píng)論文章功能:游客可以對(duì)開發(fā)評(píng)論的文章進(jìn)行評(píng)論,通過閱讀文章的所感所疑對(duì)文章進(jìn)行提問,以及可以找到有同樣疑問的閱讀者,并進(jìn)行討論;要發(fā)表評(píng)論,首先本系統(tǒng)不用用戶登錄注冊(cè),只需要用戶在評(píng)論的時(shí)候,添加昵稱跟郵箱,如果有個(gè)人鏈接的也可以填寫,只有填寫了這些信息,管理員回復(fù)了評(píng)論,才能更快的通過郵箱接收到管理員回復(fù)的評(píng)論。如果不是第一次填寫,系統(tǒng)會(huì)把填寫的信息通過LocalStorage儲(chǔ)存在瀏覽器中,以便下次快速評(píng)論使用。打賞文章功能:該功能是游客對(duì)該文章給予物質(zhì)上的肯定,由游客自愿打賞,如果游客覺得這篇文章不錯(cuò),可以通過掃描二維碼進(jìn)行隨意的打賞。(3)留言功能該功能主要針對(duì)游客在使用本系統(tǒng)的時(shí)候有任何的問題,可以通過留言來告知管理員,通過這個(gè)功能能更好的收集群眾的建議和意見,對(duì)本系統(tǒng)能改進(jìn)起到很大的作用。(4)博主信息展示功能該功能主要存放一些博主的個(gè)人信息以及撰寫這博客的意義,使游客更好的了解該博客。3.3.2系統(tǒng)管理者功能概述圖3-9管理者功能概述圖圖3-10管理者登錄頁圖3-11文章管理頁圖3-12用戶管理頁圖3-13角色管理頁圖3-14標(biāo)簽管理頁圖3-15文章分類管理頁本系統(tǒng)管理者功能需求概述圖(圖3-9),下面進(jìn)行分析。(1)登錄后臺(tái)管理界面功能(圖3-10)只有管理員才能進(jìn)入后臺(tái)管理頁面,即必須通過登錄這個(gè)功能才能獲取訪問權(quán)限。登錄成功進(jìn)入后臺(tái)管理系統(tǒng),由此來獲得全部的系統(tǒng)功能以及由該用戶的角色來獲得用戶的權(quán)限。只有當(dāng)用戶處于在線狀態(tài)以及擁有對(duì)應(yīng)的權(quán)限時(shí),才能對(duì)有權(quán)限的功能進(jìn)行操作,否則無法操作功能。登錄后臺(tái)管理功能是必須的,如果用戶沒有通過驗(yàn)證都可以進(jìn)行操作數(shù)據(jù)的話,會(huì)完全亂了后臺(tái)的管理。(2)文章管理功能(圖3-11)管理前臺(tái)文章的必要功能,該功能只在管理員在線狀態(tài)而且擁有權(quán)限的前提下才能操作,該功能包括四項(xiàng)子功能,接下來進(jìn)行分析。文章新增功能:該功能可以為系統(tǒng)新增文章,文章可以是存草稿和發(fā)布狀態(tài),可以開啟評(píng)論和關(guān)閉評(píng)論狀態(tài),可以設(shè)為推薦文章,推薦文章只有在發(fā)布的前提下才會(huì)顯示給游客。文章查詢功能:通過標(biāo)題關(guān)鍵字來搜索,亦可通過文章的發(fā)布狀態(tài)或者文章的推薦狀態(tài)來搜索文章,方便管理者查看文章信息。文章編輯功能:如果文章內(nèi)容需要修改,不需要?jiǎng)h除了再添加該文章的麻煩操作,直接修改信息即可。文章刪除功能:處理不需維護(hù)或不合理文章,為了不讓普通管理員誤刪,刪除文章這種重要的操作,需要由管理員級(jí)別高者操作。(3)用戶管理功能(圖3-12)該功能只限于有管理用戶權(quán)限的管理員才能操作,該功能具有四項(xiàng)子功能,分別為用戶新增功能、用戶查詢功能、用戶修改功能和賦予角色功能,該四項(xiàng)功能只在管理員在線狀態(tài)為以及擁有權(quán)限時(shí)才會(huì)開放,下面進(jìn)行分析。新增用戶功能:是有新增新管理員權(quán)限的管理者才能操作,給予新用戶管理員賬號(hào),使新用戶后臺(tái)操作可操作的數(shù)據(jù)。查詢用戶功能:通過名稱關(guān)鍵字查詢用戶。修改用戶功能:可以通過該操作對(duì)用戶信息進(jìn)行修改。角色賦予功能:可以通過賦予角色來使得該用戶擁有權(quán)限來操作后臺(tái)管理內(nèi)容,否則就算擁有了賬號(hào),登錄了后臺(tái)管理頁面,也無法進(jìn)行操作。(4)角色管理功能(圖3-13)該功能具有三項(xiàng)子功能,分別為角色新增功能、角色權(quán)限功能以及角色修改功能,三項(xiàng)子功能的操作都必須在管理員在線而且擁有權(quán)限的前提下才能操作,下面進(jìn)行分析。角色新增功能:該功能為角色管理的子功能之一,該功能可以為系統(tǒng)新增角色。分配不同的權(quán)限,并把者角色給予不用身份的用戶,這樣的好處是能鑒別出哪個(gè)用戶擁有什么角色而決定該用戶擁有什么權(quán)限。角色權(quán)限功能:該功能為角色管理的子功能之一,該功能為系統(tǒng)中管理員賦予角色時(shí),角色所擁有的權(quán)限。角色修改功能:該功能為角色管理的子功能之一,該功能可以為系統(tǒng)角色進(jìn)行修改,修改角色的基本信息以及修改角色擁有的權(quán)限。(5)標(biāo)簽管理功能(圖3-14)該功能具有三項(xiàng)子功能,分別為標(biāo)簽新增功能、標(biāo)簽刪除功能以及標(biāo)簽編輯功能,三項(xiàng)子功能的操作都必須在管理員在線而且擁有權(quán)限的前提下才能操作,下面進(jìn)行分析。標(biāo)簽新增功能:該功能可以為文章新增加標(biāo)簽選項(xiàng)。標(biāo)簽刪除功能:該功能可以刪除標(biāo)簽,刪除標(biāo)簽的前提是不能被文章所引用,如果執(zhí)意要?jiǎng)h除,則會(huì)把引用該標(biāo)簽的文章對(duì)應(yīng)的標(biāo)簽去除掉。標(biāo)簽編輯功能:該功能可以為標(biāo)簽進(jìn)行修改。(6)分類管理功能(圖3-15)分類功能是提供文章選擇類型時(shí)候的數(shù)據(jù)。該功能具有三項(xiàng)子功能,分別為分類新增功能、分類刪除功能以及分類編輯功能,三項(xiàng)子功能的操作都必須在管理員在線而且擁有權(quán)限的前提下才能操作,下面進(jìn)行分析。分類新增功能:該功能可以為文章新增加分類選項(xiàng)。分類刪除功能:該功能可以刪除分類,刪除分類的前提是不能被文章所引用,如果有該類型的文章則不能被刪除。分類編輯功能:該功能可以為分類進(jìn)行修改。3.3系統(tǒng)可行性分析3.3.1編寫目的寫博客系統(tǒng)肯定有很多大大小小的問題,本小節(jié)的編寫就是對(duì)項(xiàng)目問題進(jìn)行研究,確定最有效的解決問題的方法。3.3.2技術(shù)可行性分析科技的快速發(fā)展,如今的web開發(fā)技術(shù)已經(jīng)是相當(dāng)成熟了,開發(fā)本博客系統(tǒng)也使用了當(dāng)下流行的框架,擁有API和各種插件,方便開發(fā)者快速開發(fā)系統(tǒng)。如今網(wǎng)絡(luò)發(fā)達(dá),又有成熟的論壇網(wǎng)站提供查詢資料,所以在技術(shù)方面可行。3.3.3經(jīng)濟(jì)可行性分析開發(fā)者擁有開發(fā)工具,需要買學(xué)生機(jī)進(jìn)行部署,經(jīng)濟(jì)方面可行。3.3.4設(shè)備可行性在設(shè)備window10上進(jìn)行開發(fā),通過部署到服務(wù)器CentOS7.364位上,如今的設(shè)備提供能夠支持很多高效功能,在設(shè)備上可行。

4.系統(tǒng)設(shè)計(jì)本章結(jié)合前面兩章節(jié)系統(tǒng)開發(fā)工具與相關(guān)技術(shù)的介紹和系統(tǒng)分析的內(nèi)容,對(duì)博客系統(tǒng)設(shè)計(jì)主題結(jié)構(gòu)和明確的設(shè)計(jì)要點(diǎn)。并對(duì)相關(guān)設(shè)計(jì)要點(diǎn)進(jìn)行了詳細(xì)的介紹和說明,闡明了系統(tǒng)架構(gòu)的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn),使開發(fā)過程更加清晰,使系統(tǒng)更具擴(kuò)展性和可維護(hù)性,減少后期維護(hù)量。4.1系統(tǒng)體系架構(gòu)設(shè)計(jì)概述圖4-1博客系統(tǒng)體系架構(gòu)圖連接互聯(lián)網(wǎng)的用戶通過瀏覽器就能訪問此系統(tǒng)。另外,本系統(tǒng)屬于B/S結(jié)構(gòu)的網(wǎng)站,采用SpringBoot和MyBatis框架進(jìn)行數(shù)據(jù)邏輯處理,使前后分離的工作協(xié)調(diào),這使得體系結(jié)構(gòu)的業(yè)務(wù)邏輯更加清晰,同時(shí)也減少了業(yè)務(wù)代碼的耦合,圖4-1為系統(tǒng)體系架構(gòu)示意圖。如架構(gòu)圖可以看出本系統(tǒng)是一個(gè)基于MVC模式的系統(tǒng),接下來介紹這三層的主要作用。(1)表現(xiàn)層:亦稱視圖層,即是MVC中的View層,此層的功能為將信息顯示給用戶。由CSS、HTML和JavaScript腳本文件組成,以響應(yīng)successfulresponse.JSObjectprofile),并通過Thymeleaf模板引擎以及JS庫jQuery將JSON消息中封裝的數(shù)據(jù)呈現(xiàn)出頁面并顯示在瀏覽器中,完成頁面內(nèi)容的本地更新,向用戶呈現(xiàn)動(dòng)態(tài)效果。使用Ajax發(fā)送請(qǐng)求可以減少服務(wù)器請(qǐng)求來加快部分?jǐn)?shù)據(jù)的加載,增強(qiáng)用戶使用好感。(2)服務(wù)控制層:亦稱為Controller層,屬于MVC中的C層。服務(wù)控制層的主要任務(wù)是響應(yīng)和處理表示層發(fā)送的相關(guān)服務(wù)業(yè)務(wù)請(qǐng)求。業(yè)務(wù)邏輯處理將處理結(jié)果封裝為JSON消息,并將JSON消息響應(yīng)返回到表示層進(jìn)行處理,如果服務(wù)業(yè)務(wù)請(qǐng)求涉及到數(shù)據(jù)庫的訪問操作,則需要進(jìn)行邏輯處理對(duì)應(yīng)的操作,再轉(zhuǎn)發(fā)到數(shù)據(jù)持久層進(jìn)行處理,返回的處理結(jié)果留給該層的業(yè)務(wù)邏輯代碼繼續(xù)處理,該層的后臺(tái)邏輯代碼使用SpringBoot框架通過注解配置攔截和處理相關(guān)的服務(wù)請(qǐng)求。(3)數(shù)據(jù)持久層:該層相當(dāng)于MVC中的M層,該層使用MyBatis框架配置相應(yīng)的代碼,通過SpringBoot的啟動(dòng)類配置掃描映射器文件,可以自定義SQL語句或者使用框架自帶的語句,然后框架自動(dòng)將數(shù)據(jù)模型映射到程序開發(fā)中的對(duì)象,與數(shù)據(jù)庫發(fā)生交互操作。4.2系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)概述 實(shí)現(xiàn)網(wǎng)站系統(tǒng)項(xiàng)目都離不開數(shù)據(jù)庫設(shè)計(jì)這一個(gè)重要設(shè)計(jì)步驟。通過設(shè)計(jì)表的字段,設(shè)計(jì)表與表之間的關(guān)系,在本系統(tǒng)中表與表中的關(guān)聯(lián)關(guān)系沒有明確的用外鍵引用關(guān)系,在服務(wù)層的邏輯處理來處理表與表的關(guān)系,減少表與表之間的處理邏輯,能提高處理性能。設(shè)計(jì)表要根據(jù)功能和實(shí)際情況設(shè)計(jì),而且數(shù)據(jù)存儲(chǔ)安全性也要在考慮范圍,將這兩個(gè)要素結(jié)合起來設(shè)計(jì)數(shù)據(jù)庫,保證了數(shù)據(jù)庫盡可能接近功能需求,減少了不必要的操作,提高了數(shù)據(jù)庫的訪問和操作效率。系統(tǒng)實(shí)體關(guān)系(ER)圖(圖4-2),用來明確的顯示各個(gè)實(shí)體之間的映射關(guān)系,清晰的ER圖有利于邏輯處理好各實(shí)體之間的關(guān)系,給編碼邏輯帶來便利,亦可以一眼就可以明白實(shí)體之間的關(guān)系。實(shí)體主要包括用戶、文章、資源、角色、標(biāo)簽、文章類型、文章評(píng)論和留言。實(shí)體之間的一對(duì)多或多對(duì)多關(guān)系表使用第三個(gè)實(shí)體來記錄關(guān)聯(lián)。實(shí)體之間的關(guān)系也反映在實(shí)體-關(guān)系圖中。圖4-2博客系統(tǒng)實(shí)體關(guān)系E-R圖實(shí)體關(guān)系圖中的每個(gè)實(shí)體都對(duì)應(yīng)了數(shù)據(jù)庫中的某一張表,亦可能實(shí)體的數(shù)量會(huì)多于表的數(shù)量,因?yàn)樵诰幋a中可能要建立某個(gè)需要響應(yīng)的實(shí)體亦或者是幾個(gè)表之間挑選出字段來顯示的實(shí)體。下面是本系統(tǒng)重要表對(duì)應(yīng)表字段的介紹。(1)角色表:用來儲(chǔ)存后臺(tái)管理者要用到的角色信息,通過管理者表中的外鍵fk_role_id來找對(duì)應(yīng)的角色信息,亦是角色資源關(guān)聯(lián)表中通過role_id去查找該角色對(duì)應(yīng)的資源列表,其中表結(jié)構(gòu)如表4-1所示。表4-1角色表role字段名數(shù)據(jù)類型是否主鍵是否為空字段說明role_idvarchar(19)是否角色主鍵role_namevarchar(50)否否角色名稱(2)文章表:對(duì)應(yīng)文章實(shí)體類,用于儲(chǔ)存管理者發(fā)布的文章,文章是本系統(tǒng)的基礎(chǔ)功能,所以該表亦是必不可少的,文章表除了基礎(chǔ)字段還包括了發(fā)表者和修改者兩個(gè)字段,兩個(gè)字段都是外鍵關(guān)聯(lián)用戶表,用來記錄是哪個(gè)管理者對(duì)文章進(jìn)行的操作,主要有其中表結(jié)構(gòu)如表4-2所示。表4-2文章表article字段名數(shù)據(jù)類型是否主鍵是否為空字段說明article_idvarchar(19)是否文章主鍵titlevarchar(255)否否文章標(biāo)題cover_imagevarchar(255)否是封面圖片路徑contenttext否否文章內(nèi)容topint(1)否是文章是否推薦0不推,1推薦statusvarchar(2)否否狀態(tài),0草稿,1發(fā)布descriptionvarchar(255)否否文章簡(jiǎn)述commentchar(2)否否是否開啟評(píng)論,0關(guān)閉,1開啟create_timetimestamp否否創(chuàng)建時(shí)間create_user_idint(11)否否創(chuàng)建者,外鍵,關(guān)聯(lián)用戶表update_timetimestamp否否修改時(shí)間update_user_idint(11)否否修改者,外鍵,關(guān)聯(lián)用戶表type_idvarchar(19)否否文章類型,外鍵,關(guān)聯(lián)文章類型(type)表(3)資源表:對(duì)應(yīng)資源實(shí)體類,此表除了記錄資源信息以外,主要功能是通過用戶的角色id去角色資源表中找到resource_id列表,再通過該列表去本資源表中找到對(duì)應(yīng)的資源信息,表結(jié)構(gòu)如表4-3所示。表4-3資源表resource字段名數(shù)據(jù)類型是否主鍵是否為空字段說明resource_idvarchar(19)是否資源主鍵resource_namevarchar(50)否否資源名稱resource_urlvarchar(50)否否資源路徑resource_typeint(2)否否資源類型,1是列表,2是按鈕resource_parent_idvarchar(19)否否資源的父節(jié)點(diǎn)idresource_sortint(11)否否資源排序(4)文章類型表:對(duì)應(yīng)文章類型實(shí)體類,用于文章表中的類型type_id作為外鍵所關(guān)聯(lián)的表,通過關(guān)聯(lián)獲取問斬類型信息,其中表結(jié)構(gòu)如表4-4所示。表4-4文章類型表type字段名數(shù)據(jù)類型是否主鍵是否為空字段說明idvarchar(19)是否文章類型主鍵type_namevarchar(50)否否文章類型名稱type_descriptionvarchar(255)否否文章類型簡(jiǎn)述statuschar(2)否否狀態(tài),0正常,1不可用create_timetimestamp否否創(chuàng)建時(shí)間create_user_idint(11)否否創(chuàng)建者,外鍵,關(guān)聯(lián)用戶表update_timetimestamp否否修改時(shí)間update_user_idint(11)否否修改者,外鍵,關(guān)聯(lián)用戶表(5)標(biāo)簽表:對(duì)應(yīng)標(biāo)簽實(shí)體類,儲(chǔ)存標(biāo)簽信息,該信息作用于文章,其中表結(jié)構(gòu)如表4-5所示。表4-5標(biāo)簽表tag字段名數(shù)據(jù)類型是否主鍵是否為空字段說明tag_idvarchar(19)是否標(biāo)簽主鍵tag_namevarchar(50)否否標(biāo)簽名稱descriptionvarchar(255)否否標(biāo)簽簡(jiǎn)述statuschar(2)否否狀態(tài),0正常,1禁用create_timetimestamp否否創(chuàng)建時(shí)間create_user_idint(11)否否創(chuàng)建者,外鍵,關(guān)聯(lián)用戶表update_timetimestamp否否修改時(shí)間update_user_idint(11)否否修改者,外鍵,關(guān)聯(lián)用戶表(6)評(píng)論表:對(duì)應(yīng)評(píng)論實(shí)體類,用于儲(chǔ)存用戶對(duì)文章的一級(jí)評(píng)論信息,通過外鍵fk_article_id來獲取整個(gè)文章的一級(jí)評(píng)論。其中表結(jié)構(gòu)如表4-6所示。表4-6評(píng)價(jià)表comment字段名數(shù)據(jù)類型是否主鍵是否為空字段說明comment_idvarchar(19)是否評(píng)論主鍵user_namevarchar(50)否否評(píng)論者姓名emailvarchar(100)否否評(píng)論者郵箱urlvarchar(100)否是評(píng)論者自己網(wǎng)站路徑statuschar(2)否否狀態(tài),0正常,1私密,2禁止顯示contentvarchar(200)否否評(píng)論內(nèi)容del_flagchar(2)否否刪除標(biāo)志,0正常,2刪除create_timetimestamp否否創(chuàng)建時(shí)間update_timetimestamp否否修改時(shí)間fk_article_idvarchar(19)否否文章id,外鍵,關(guān)聯(lián)文章表(7)評(píng)論回復(fù)表:對(duì)應(yīng)回復(fù)評(píng)論實(shí)體類,用于儲(chǔ)存文章中評(píng)論的回復(fù)的信息,即二級(jí)以上的評(píng)論信息,可通過fk_comment_id外鍵關(guān)聯(lián)評(píng)論表來獲取一級(jí)評(píng)論下的所有回復(fù)評(píng)論,其中表結(jié)構(gòu)如表4-7所示。表4-7評(píng)論回復(fù)表reply_comment字段名數(shù)據(jù)類型是否主鍵是否為空字段說明reply_idvarchar(19)是否回復(fù)評(píng)論主鍵pidvarchar(19)否否回復(fù)的是哪條評(píng)論信息的iduser_namevarchar(50)否否評(píng)論者名稱emailvarchar(100)否否評(píng)論者郵箱urlvarchar(100)否是評(píng)論者網(wǎng)站地址statuschar(2)否否狀態(tài),0表示正常,2表示禁止顯示contentvarchar(200)否否評(píng)論內(nèi)容del_flagint(1)否否正常(0),刪除(2)create_timetimestamp否否創(chuàng)建時(shí)間update_timetimestamp否否修改時(shí)間fk_comment_idvarchar(19)否否主回復(fù)的id,外鍵,關(guān)聯(lián)評(píng)論表(8)用戶表:對(duì)應(yīng)用戶實(shí)體類,用于儲(chǔ)存用戶信息,是其他表中具有update_by、create_by字段的外鍵所對(duì)應(yīng)的信息,其中表結(jié)構(gòu)如表4-8所示。表4-8用戶表字段名數(shù)據(jù)類型是否主鍵是否為空字段說明user_idint(11)是否主鍵user_namevarchar(50)否否用戶名稱emailvarchar(100)否否用戶郵箱passwordvarchar(50)否否用戶密碼del_flagchar(2)否否正常(0),禁用(1),刪除(2)create_timetimestamp否否創(chuàng)建時(shí)間create_byvarchar(11)否否創(chuàng)建者update_timetimestamp否否修改時(shí)間update_byint(11)否否修改者fk_role_idvarchar(19)否否角色id,外鍵,關(guān)聯(lián)角色表(9)角色資源關(guān)聯(lián)表:表結(jié)構(gòu)如表4-9所示,本表是關(guān)聯(lián)角色表跟資源表的抽象表,解決角色與資源關(guān)系的一對(duì)多。表4-9角色資源關(guān)聯(lián)表字段名數(shù)據(jù)類型是否主鍵是否為空字段說明role_idvarchar(19)否否外鍵,關(guān)聯(lián)角色表主鍵idresource_idvarchar(19)否否外鍵,關(guān)聯(lián)資源表主鍵id(10)文章標(biāo)簽關(guān)聯(lián)表:表結(jié)構(gòu)如表4-10所示,該表跟上表角色資源關(guān)聯(lián)表有相似之處,都是為了解決文章表與標(biāo)簽表的復(fù)雜的對(duì)應(yīng)關(guān)系,該表是解決多對(duì)多的抽象表。表4-10文章標(biāo)簽關(guān)聯(lián)表字段名數(shù)據(jù)類型是否主鍵是否為空字段說明article_idvarchar(19)否否外鍵,關(guān)聯(lián)文章表主鍵idtag_idvarchar(19)否否外鍵,關(guān)聯(lián)標(biāo)簽表主鍵id

5.系統(tǒng)實(shí)現(xiàn)本章結(jié)合第三章和第四章的內(nèi)容,應(yīng)用軟件工程理論,實(shí)現(xiàn)了系統(tǒng)在實(shí)際開發(fā)中的功能需求,在功能模塊方面主要有系統(tǒng)游客和系統(tǒng)管理員的功能模塊。這兩個(gè)模塊集成在同一個(gè)體系結(jié)構(gòu)中。5.1系統(tǒng)游客功能模塊實(shí)現(xiàn)系統(tǒng)的表現(xiàn)層亦可簡(jiǎn)單理解為用戶所看到所操作的頁面,前端的系統(tǒng)界面使用bootstrap前端框架進(jìn)行快速搭建,以及使用一些動(dòng)畫庫(animate.css)或者是其他庫來美化頁面。其中系統(tǒng)游客功能模塊表現(xiàn)層說明如下:index.html:系統(tǒng)前臺(tái)首頁,此頁面主要是將文章列表進(jìn)行展示,訪問用戶都可以訪問。searchPage.html:文章搜索頁,將文章的關(guān)鍵字搜索內(nèi)容和文章分類以及標(biāo)簽分類所得的列表進(jìn)行展示。articleReadPage.html:文章詳情頁,將文章的詳細(xì)內(nèi)容和評(píng)論內(nèi)容展示。myNav.html:這個(gè)頁面是用來定義引用代碼塊,防止重復(fù)定義塊,其中定義的引用塊有頭部導(dǎo)航、右側(cè)熱門文章和推薦文章以及最近評(píng)論、博客基本信息、標(biāo)簽云。side.html:這個(gè)頁面是用來定義引用代碼塊,防止重復(fù)定義塊,其中定義的引用塊左側(cè)文章分類模塊,以及回到頂部按鈕塊。message.html:游客留言頁面,提供游客作為留下足跡式的存在。以上頁面除了上述提到的技術(shù)對(duì)頁面美化,為了提高用戶體驗(yàn)最重要的是動(dòng)態(tài)的效果數(shù)據(jù)的改變而不刷新整張網(wǎng)頁,這就可以Thymeleaf模板引擎技術(shù)來實(shí)現(xiàn)或者通過jQuery或者JavaScript對(duì)節(jié)點(diǎn)進(jìn)行操作從而動(dòng)態(tài)修改節(jié)點(diǎn)內(nèi)容實(shí)現(xiàn)頁面局部刷新,提高用戶體驗(yàn)實(shí)現(xiàn)用戶需求。系統(tǒng)的服務(wù)控制層是基于SpringBoot和MyBatis框架實(shí)現(xiàn)的,可分為bean層、Service層和Controller層。三層中的核心層是Controller層,主要對(duì)視圖進(jìn)行解析,控制過濾處理請(qǐng)求的截獲。接下來從Bean層、Service層以及Controller層對(duì)游客功能模塊進(jìn)行分析:(1)Bean層:Article:文章類,對(duì)應(yīng)文章表,查詢出的文章映射到此類中。ArticleTags:文章標(biāo)簽類,用于保存文章與標(biāo)簽信息。Comment:文章評(píng)論類,用于保存文章評(píng)論信息。CommentReply:文章回復(fù)評(píng)論類,用于保存回復(fù)評(píng)論的評(píng)論信息。FromCommentBean:提交評(píng)論內(nèi)容映射類,用于保存只需要的評(píng)論內(nèi)容信息。Tags:標(biāo)簽類,用于保存標(biāo)簽信息。Type:文章類型類,用于保存文章類型信息。(2)Service層:ArticleService:文章Service類,定義了對(duì)文章的操作。ArticleTagsService:文章標(biāo)簽關(guān)系Service類,定義了對(duì)文章標(biāo)簽的操作。CommentService:文章評(píng)論Service類,定義了對(duì)文章評(píng)論的操作。CommentReplyService:回復(fù)文章評(píng)論Service類,定義了對(duì)回復(fù)文章評(píng)論操作。SolrService:搜索引擎使用的Service類,定義了搜索的操作。TagsService:標(biāo)簽Service類,定義了對(duì)標(biāo)簽的操作。TypeService:文章類型Service類,定義了對(duì)文章類型的操作。圖5-1郵箱通知代碼圖5-2文章搜索核心代碼(3)Controller層:ArticleController:接收前端對(duì)文章的請(qǐng)求以及設(shè)計(jì)到數(shù)據(jù)庫操作的轉(zhuǎn)發(fā)操作到Service層進(jìn)行邏輯操作,返回字符串或者是響應(yīng)數(shù)據(jù)給請(qǐng)求者。CommentController:文章評(píng)論Controller類,控制與文章評(píng)論相關(guān)操作邏輯并響應(yīng)請(qǐng)求返回JSON數(shù)據(jù)報(bào)文或字符串,其中有評(píng)論郵箱通知功能(圖5-1)。IndexController:接收游客前臺(tái)的數(shù)據(jù)訪問請(qǐng)求。SolrController:為文章的搜索請(qǐng)求進(jìn)行相應(yīng)的類,本系統(tǒng)使用了solr全文搜索引擎,所以另外弄了一個(gè)控制類,并沒有與文章控制類進(jìn)行統(tǒng)一操作(圖5-2)。TagsController:用于處理標(biāo)簽的請(qǐng)求操作并且數(shù)據(jù)進(jìn)行響應(yīng)。TypeController:處理文章類型的請(qǐng)求操作并且數(shù)據(jù)進(jìn)行響應(yīng)。還有與Bean層相關(guān)的Dao層,系統(tǒng)游客功能模塊涉及的主要實(shí)現(xiàn)類有:ArticleMapper:文章Dao類,用于操作article表。ArticleTagsMapper:文章標(biāo)簽Dao類,用于操作article_tags表。CommentMapper:文章評(píng)論Dao類,用于操作comment表。CommentReplyMapper:文章評(píng)論Dao類,用于操作comment_reply表。TagsMapper:標(biāo)簽Dao類,用于操作tags表。TypeMapper:標(biāo)簽Dao類,用于操作type表。以上是主要實(shí)現(xiàn)類在游客功能模塊中,通過這種明顯的分工分層,很大程度上提高了代碼的重用性,一定程度上降低了代碼的關(guān)聯(lián)性。5.2系統(tǒng)管理者功能模塊實(shí)現(xiàn)上一節(jié)中講述了有關(guān)游客前臺(tái)的功能模塊,接下來講述關(guān)于管理者有關(guān)的表現(xiàn)層的功能模塊:index.html:與前臺(tái)首頁區(qū)別不在同一個(gè)文件夾,后臺(tái)管理首頁用來顯示一些該網(wǎng)站最新的信息,比如文章信息,評(píng)論以及留言等信息。login.html:后臺(tái)管理員登陸頁面。main.html:后臺(tái)首頁工作臺(tái)頁面。noAuth.html:訪問未授權(quán)頁面。articlePage.html:查看的文章列表頁面。articleAdd.html:添加文章管理頁面。articleEdit.html:修改文章管理頁面。allCommentPage.html:文章評(píng)論管理頁面。rolePage.html:角色管理頁面。tagsPage.html:標(biāo)簽管理頁面。typePage.html:文章類型管理頁面。userPage.html:查看用戶列表界面。userAdd.html:管理用戶添加頁面。userEdit.html:后臺(tái)用戶修改信息頁面。系統(tǒng)的功能模塊中,除了與前臺(tái)游客使用到相同的文章模塊、標(biāo)簽?zāi)K、以及文章模塊以外,系統(tǒng)管理者功能模塊還有:(1)Bean層:Resource:資源類,用于保存資源信息。Role:角色類,用于保存角色信息。RoleResource:角色資源關(guān)系類。SysUser:管理員類,用于保存管理員信息。圖5-3資源列表和已選標(biāo)志(2)Service層:ResourceService:資源Service類,定義了對(duì)資源的操作。RoleService:對(duì)角色的邏輯操作在本類中。RoleResourceService:本類主要是對(duì)角色添加權(quán)限和修改權(quán)限時(shí)的邏輯操作。SendMailService:發(fā)送郵箱Service類,定義了管理員回復(fù)評(píng)論時(shí)發(fā)送郵箱通知操作。SysUserService:管理員用戶Service類,定義了對(duì)管理員用戶的操作。(3)Controller層:ResourceController:對(duì)資源管理發(fā)送請(qǐng)求的控制層,通過處理再進(jìn)行數(shù)據(jù)的返回給請(qǐng)求者,若需要邏輯處理則調(diào)用對(duì)應(yīng)的ResouceService類進(jìn)行處理。RoleController:角色主要是對(duì)增刪改查的請(qǐng)求進(jìn)行數(shù)據(jù)返回。SysUserController:管理員的增刪改查操作并且進(jìn)行數(shù)據(jù)返回。在Dao層中,除了與游客模塊所用到的實(shí)現(xiàn)類以外,系統(tǒng)管理者功能模塊還多增了幾個(gè)類,如下:ResourceMapper:資源Dao類,用于操作resource表,通過資源的關(guān)聯(lián)自身表獲取已選和未選的內(nèi)容(圖5-3)。RoleMapper:角色Dao類,用于操作role表。RoleReSourceMapper:角色資源關(guān)系Dao類,用于操作role_resource表。SysUserMapper:管理員Dao類,用于操作sys_user。

6.系統(tǒng)測(cè)試為了檢查系統(tǒng)是否符合系統(tǒng)規(guī)范,并在測(cè)試過程中發(fā)現(xiàn)系統(tǒng)分析和設(shè)計(jì)錯(cuò)誤,所有網(wǎng)站項(xiàng)目都離不開系統(tǒng)測(cè)試步驟,這也是提高系統(tǒng)整體質(zhì)量,從而提高系統(tǒng)可靠性和安全性的關(guān)鍵一步。6.1系統(tǒng)功能性測(cè)試使用黑盒測(cè)試,并設(shè)計(jì)了本系統(tǒng)相應(yīng)的測(cè)試用例,包括系統(tǒng)游客前端模塊和管理員后端模塊,下文按照前端和后端稱這兩個(gè)模塊,總共14個(gè)模塊。接下來的表是各模塊功能測(cè)試用例測(cè)試過程和結(jié)果。表6-1系統(tǒng)前端首頁測(cè)試用例用例編號(hào)用例名稱測(cè)試過程實(shí)際結(jié)果測(cè)試結(jié)論T001訪問首頁1、進(jìn)入系統(tǒng)首頁面文章列表正確顯示,而且分頁訪問正常。首頁的樣式排版顯示是否正確,顯示內(nèi)容是否顯示完全。通過表6-2系統(tǒng)前端文章搜索測(cè)試用例用例編號(hào)用例名稱測(cè)試過程實(shí)際結(jié)果測(cè)試結(jié)論T002文章關(guān)鍵字搜索1、進(jìn)入系統(tǒng)首頁面2、填寫在搜索框中輸入關(guān)鍵字3、點(diǎn)擊提交按鈕正確搜索出相關(guān)數(shù)據(jù)并顯示,數(shù)據(jù)過多能正確分頁,分頁能正確訪問。通過表6-3系統(tǒng)前端文章分類測(cè)試用例用例編號(hào)用例名稱測(cè)試過程實(shí)際結(jié)果測(cè)試結(jié)論T003文章類型分類1、進(jìn)入系統(tǒng)首頁面2、點(diǎn)擊文章類型正確按照文章類型進(jìn)行分類,并可正常顯示列表,數(shù)據(jù)過多能正確分頁,分頁能正確訪問。通過T004文章標(biāo)簽分類1、進(jìn)入系統(tǒng)首頁面2、點(diǎn)擊標(biāo)簽列表正確按照文章標(biāo)簽進(jìn)行分類,并可正常顯示列表,數(shù)據(jù)過多能正確分頁,分頁能正確訪問。通過表6-4系統(tǒng)前端文章閱讀測(cè)試用例用例編號(hào)用例名稱測(cè)試過程實(shí)際結(jié)果測(cè)試結(jié)論T005文章詳細(xì)閱讀1、進(jìn)入系統(tǒng)首頁面2、點(diǎn)擊文章列表中的文章能否跳轉(zhuǎn)到文章閱讀頁面,跳轉(zhuǎn)后文章的詳細(xì)內(nèi)容是否是對(duì)應(yīng)點(diǎn)擊的文章,文章顯示是否正常。通過表6-5系統(tǒng)前端文章評(píng)論測(cè)試用例用例編號(hào)用例名稱測(cè)試過程實(shí)際結(jié)果測(cè)試結(jié)論T006文章評(píng)論1、進(jìn)入系統(tǒng)首頁面2、點(diǎn)擊某個(gè)文章進(jìn)入閱讀頁面3、對(duì)文章進(jìn)行評(píng)論或者是回復(fù)若該文章是開啟評(píng)論操作,則可以在文章閱讀末尾有評(píng)論功能,否則無法評(píng)論。評(píng)論時(shí)要填寫游客的簡(jiǎn)單信息(郵箱以及昵稱)。通過表6-6系統(tǒng)前端博主信息展示測(cè)試用例用例編號(hào)用例名稱測(cè)試過程實(shí)際結(jié)果測(cè)試結(jié)論T007關(guān)于我信息展示1、進(jìn)入系統(tǒng)首頁面2、點(diǎn)擊進(jìn)入關(guān)于我頁面正常顯示頁面內(nèi)容。通過表6-7系統(tǒng)前端快速通道測(cè)試用例用例編號(hào)用例名稱測(cè)試過程實(shí)際結(jié)果測(cè)試結(jié)論T008文章推薦、推薦文章、最新評(píng)論列表1、進(jìn)入系統(tǒng)首頁面在頁面的右側(cè)正常顯示熱門文章、最新評(píng)論列表、管理員推薦文章,點(diǎn)擊能快速的跳轉(zhuǎn)到對(duì)應(yīng)的文章。通過表6-8系統(tǒng)管理者登錄測(cè)試用例用例編號(hào)用例名稱測(cè)試過程實(shí)際結(jié)果測(cè)試結(jié)論T009管理者登錄1、進(jìn)入管理者登錄頁面2、填寫登錄信息3、提交信息正確的管理者賬號(hào)信息可以正常登錄并跳轉(zhuǎn)到后端首頁,登錄失敗則阻止跳轉(zhuǎn)并且有錯(cuò)誤信息提示。通過表6-9系統(tǒng)用戶管理測(cè)試用例用例編號(hào)用例名稱測(cè)試過程實(shí)際結(jié)果測(cè)試結(jié)論T010用戶新增1、進(jìn)入用戶管理頁面2、點(diǎn)擊新增用戶按鈕3、填寫用戶信息4、點(diǎn)擊提交信息未登錄狀態(tài)不能訪問該頁面,未授權(quán)狀態(tài)下亦不能訪問操作該頁面。登錄狀態(tài)以及有權(quán)限時(shí)正確的用戶信息可正常新增。通過T011用戶查詢1、進(jìn)入用戶管理頁面2、填寫用戶關(guān)鍵字3、點(diǎn)擊查詢按鈕正常展示搜索出的信息。通過T012用戶修改1、進(jìn)入用戶管理頁面2、點(diǎn)擊用戶修改按鈕3、填寫更改的用戶信息4、點(diǎn)擊提交信息正確的用戶信息可正常更改,授權(quán)用戶可以修改其他用戶的信息。通過T013用戶授權(quán)1、進(jìn)入用戶管理頁面2、點(diǎn)擊角色下拉框3、選擇需要修改的角色授權(quán)的用戶可以進(jìn)行該操作,未授權(quán)用戶無法操作。通過表6-10系統(tǒng)角色管理測(cè)試用例用例編號(hào)用例名稱測(cè)試過程實(shí)際結(jié)果測(cè)試結(jié)論T014角色查詢1、進(jìn)入角色管理頁面2、填寫角色關(guān)鍵字3、點(diǎn)擊查詢按鈕未登錄狀態(tài)不能訪問該頁面,未授權(quán)時(shí)不能訪問該頁面,登錄狀態(tài)且管理員有權(quán)限時(shí)正常展示角色信息通過T015角色新增1、進(jìn)入角色管理頁面2、點(diǎn)擊新增角色按鈕3、填寫角色信息4、點(diǎn)擊提交信息未登錄狀態(tài)、未授權(quán)狀態(tài)下不能操作該頁面。登錄狀態(tài)以及有權(quán)限時(shí)正確的角色信息。通過T016角色賦權(quán)限1、進(jìn)入角色管理頁面2、點(diǎn)擊角色權(quán)限按鈕3、勾選屬于該角色的權(quán)限4、點(diǎn)擊提交信息未登錄狀態(tài)、未授權(quán)狀態(tài)下不能操作該頁面。登錄狀態(tài)以及有權(quán)限時(shí)勾選權(quán)限可正常賦權(quán)。通過表6-11系統(tǒng)文章管理測(cè)試用例用例編號(hào)用例名稱測(cè)試過程實(shí)際結(jié)果測(cè)試結(jié)論T017文章查詢1、進(jìn)入文章管理頁面2、填寫文章標(biāo)題關(guān)鍵字3、點(diǎn)擊查詢按鈕未登錄、未授權(quán)狀態(tài)不能訪問該頁面,登錄狀態(tài)時(shí)正確展示文章列表。通過T018文章新增1、進(jìn)入文章管理頁面2、點(diǎn)擊新增文章按鈕3、填寫文章信息4、點(diǎn)擊提交信息添加文章操作需要有相應(yīng)的權(quán)限才能夠操作,有對(duì)應(yīng)權(quán)限則可新增正常文章信息。通過T019文章編輯1、進(jìn)入文章管理頁面2、點(diǎn)擊文章編輯按鈕3、填寫更改的文章信息4、點(diǎn)擊提交信息需要授權(quán)管理者才能操作文章編輯并修改文章正確信息。通過T020文章刪除1、進(jìn)入文章管理頁面2、點(diǎn)擊刪除文章按鈕需要授權(quán)管理者才能操作刪除并文章正常刪除通過表6-12系統(tǒng)評(píng)論管理測(cè)試用例用例編號(hào)用例名稱測(cè)試過程實(shí)際結(jié)果測(cè)試結(jié)論T021評(píng)論管理1、進(jìn)入評(píng)論管理頁面未登錄、未授權(quán)狀態(tài)不能訪問該頁面,登錄狀態(tài)時(shí)正確展示評(píng)論列表。通過T022評(píng)論回復(fù)1、進(jìn)入評(píng)論管理頁面2、點(diǎn)擊評(píng)論詳情按鈕通過點(diǎn)擊詳情跳轉(zhuǎn)到評(píng)論的對(duì)應(yīng)文章,并且下拉到對(duì)應(yīng)的評(píng)論列表,進(jìn)行查看全回復(fù)并進(jìn)行回復(fù),管理員回復(fù)會(huì)通過郵箱發(fā)送給評(píng)論者告知回復(fù)信息。通過T023評(píng)論狀態(tài)修改1、進(jìn)入評(píng)論管理頁面2、點(diǎn)擊評(píng)論顯示按鈕修改狀態(tài)按鈕決定評(píng)論是否可以顯示給其他游客看。通過表6-13系統(tǒng)標(biāo)簽管理測(cè)試用例用例編號(hào)用例名稱測(cè)試過程實(shí)際結(jié)果測(cè)試結(jié)論T024標(biāo)簽查詢1、進(jìn)入標(biāo)簽管理頁面2、填寫標(biāo)簽關(guān)鍵字3、點(diǎn)擊查詢按鈕未登錄、未授權(quán)狀態(tài)不能訪問該頁面,登錄狀態(tài)時(shí)正確展示標(biāo)簽列表。通過T025標(biāo)簽新增

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論