国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案

這篇具有很好參考價(jià)值的文章主要介紹了基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Springboot多租戶博客網(wǎng)站的設(shè)計(jì)

摘?要

博客網(wǎng)站是當(dāng)今網(wǎng)絡(luò)的熱點(diǎn),博客技術(shù)的出現(xiàn)使得每個(gè)人可以零成本、零維護(hù)地創(chuàng)建自己的網(wǎng)絡(luò)媒體,Blog站點(diǎn)所形成的網(wǎng)狀結(jié)構(gòu)促成了不同于以往社區(qū)的Blog文化,Blog技術(shù)締造了“博客”文化。本文課題研究的“多租戶博客網(wǎng)站”,網(wǎng)站的主要功能模塊包括通知公告、新聞資訊、交流論壇、論壇分類、租戶管理,采取面對(duì)對(duì)象的開(kāi)發(fā)模式進(jìn)行軟件的開(kāi)發(fā)和硬體的架設(shè),能很好的滿足實(shí)際使用的需求,完善了對(duì)應(yīng)的軟體架設(shè)以及程序編碼的工作,采取MySQL作為后臺(tái)數(shù)據(jù)的主要存儲(chǔ)單元,采用Springboot框架、JSP技術(shù)、Ajax技術(shù)進(jìn)行業(yè)務(wù)系統(tǒng)的編碼及其開(kāi)發(fā),實(shí)現(xiàn)了本系統(tǒng)的全部功能。

關(guān)鍵詞:博客論壇;Springboot框架;MySQL數(shù)據(jù)庫(kù)

Abstract

Blog websites are a hot topic on the internet today. The emergence of blog technology allows everyone to create their own online media with zero cost and zero maintenance. The network structure formed by blog sites has contributed to a different blog culture from previous communities, and blog technology has created a "blog" culture. The main functional modules of the "multi tenant blog website" studied in this article include notification announcements, news and information, communication forums, forum classification, and tenant management. It adopts an object-oriented development model for software development and hardware installation, which can effectively meet the needs of practical use. It improves the corresponding software installation and program coding work, and adopts MySQL as the main storage unit for backend data, Adopting the Springboot framework, JSP technology, and Ajax technology for business system coding and development, all the functions of this system have been achieved。

Key words:Blog forum; Springboot framework; Mysql database

目 ?錄

第1章 緒論

1.1?研究背景與意義

1.2?研究方法

1.3?論文組成結(jié)構(gòu)

1.4?Springboot框架

2章 系統(tǒng)分析

2.1?可行性分析

2.2?功能需求分析

2.2.1?前臺(tái)用戶功能

2.2.2?后臺(tái)管理員功能

2.3?數(shù)據(jù)流程分析

3章 系統(tǒng)設(shè)計(jì)

3.1?系統(tǒng)架構(gòu)設(shè)計(jì)

3.2?系統(tǒng)總體設(shè)計(jì)

3.3?系統(tǒng)功能設(shè)計(jì)

3.4?數(shù)據(jù)庫(kù)設(shè)計(jì)

3.4.1?數(shù)據(jù)需求分析

3.4.2?數(shù)據(jù)庫(kù)表設(shè)計(jì)

4章 系統(tǒng)實(shí)現(xiàn)

4.1?數(shù)據(jù)庫(kù)訪問(wèn)層的實(shí)現(xiàn)

4.2?注冊(cè)模塊的實(shí)現(xiàn)

4.3?登錄模塊的實(shí)現(xiàn)

4.4?用戶資料修改模塊的實(shí)現(xiàn)

4.5?新聞資訊展示模塊的實(shí)現(xiàn)

4.6?評(píng)論模塊的實(shí)現(xiàn)

4.7?博客論壇管理模塊的實(shí)現(xiàn)

4.8?論壇分類管理模塊的實(shí)現(xiàn)

5章 系統(tǒng)測(cè)試

5.1?測(cè)試目的

5.2?功能測(cè)試

5.3?性能測(cè)試

6章 總結(jié)與展望

參考文獻(xiàn)

致謝

第1章緒論

1.1研究背景與意義

目前為止互聯(lián)網(wǎng)已經(jīng)成為推動(dòng)當(dāng)今世界經(jīng)濟(jì)發(fā)展和社會(huì)進(jìn)步的重要信息基礎(chǔ)設(shè)施,網(wǎng)絡(luò)通過(guò)它把各個(gè)點(diǎn)、面、體的信息聯(lián)系到一起,從而實(shí)現(xiàn)這些資源的共享。它是人們信息交流、使用的一個(gè)工具。作為工具,它一定會(huì)越來(lái)越好用,功能也會(huì)越來(lái)越多,內(nèi)容也會(huì)越來(lái)越豐富。因此網(wǎng)站建設(shè)在互聯(lián)網(wǎng)應(yīng)用上的地位顯而易見(jiàn),倍受人們的重視。為了樹(shù)立個(gè)人在網(wǎng)絡(luò)上的形象,博客作為一個(gè)新的生活方式和工作方式應(yīng)運(yùn)而生,博客網(wǎng)站可以成為個(gè)人推薦、展現(xiàn)自我的一個(gè)平臺(tái)。常見(jiàn)的博客網(wǎng)站都是單用戶的,這使得用戶在博客上缺少了與其他人之間的交流、互動(dòng)。而設(shè)計(jì)一個(gè)多租戶的博客網(wǎng)站可以讓每個(gè)用戶對(duì)其他人的博客進(jìn)行瀏覽,增加了博客用戶之間的交流性。

不同于只有博客用戶主人的博客網(wǎng)站,多租戶博客網(wǎng)站作為一個(gè)多用戶交流平臺(tái),它可讓不同的用戶進(jìn)行登錄,并管理自己的博客空間。這就要求在網(wǎng)站建設(shè)時(shí)考慮到不同用戶的不同需求,因此對(duì)數(shù)據(jù)庫(kù)的要求更嚴(yán)苛,網(wǎng)站的權(quán)限更嚴(yán)謹(jǐn)。由于網(wǎng)站開(kāi)發(fā)的高要求,成功考驗(yàn)了網(wǎng)站開(kāi)發(fā)者的知識(shí)與技術(shù)功底。多租戶博客網(wǎng)站上的每個(gè)用戶和其他人進(jìn)行互動(dòng),不僅可以增長(zhǎng)自己的知識(shí),還可以品味其他人的生活經(jīng)歷與見(jiàn)解,認(rèn)識(shí)各種有獨(dú)特吸引力的網(wǎng)友,對(duì)自己的生活履歷也是一種積累。不論是從事文學(xué)、藝術(shù)、設(shè)計(jì)還是軟、硬件開(kāi)發(fā),你都會(huì)有許多個(gè)人作品,我們需要將作品展示出來(lái),與他人交流、溝通才能不斷進(jìn)步。

1.2研究方法

首先,通過(guò)引擎搜索或者查閱相關(guān)文獻(xiàn)資料,了解了本系統(tǒng)開(kāi)發(fā)的背景以及設(shè)計(jì)系統(tǒng)的意義所在,收集用戶需求信息。其次,在開(kāi)發(fā)工具上,最終確定是基于Mysql數(shù)據(jù)庫(kù),在JavaSpringboot技術(shù)程序設(shè)計(jì)的基礎(chǔ)上實(shí)現(xiàn),設(shè)計(jì)出系統(tǒng)大致的功能模塊。主要從方便系統(tǒng)用戶和系統(tǒng)管理員的角度進(jìn)行分析,明確該系統(tǒng)應(yīng)該具有的功能。最終是測(cè)試系統(tǒng),通過(guò)用例測(cè)試發(fā)現(xiàn)存在的問(wèn)題并找到解決的方案。利用現(xiàn)有的開(kāi)發(fā)平臺(tái),結(jié)合自己所學(xué)的知識(shí),在老師的指導(dǎo)幫助下來(lái)完成該設(shè)計(jì),確保系統(tǒng)的可用性、實(shí)用性。

1.3論文組成結(jié)構(gòu)

根據(jù)市場(chǎng)調(diào)研得到的信息數(shù)據(jù),結(jié)合開(kāi)發(fā)被禁與意義,利用相關(guān)系統(tǒng)開(kāi)發(fā)和設(shè)計(jì)方法,最終設(shè)計(jì)出多租戶博客網(wǎng)站。

本文共有七章,如下所示。

第一章概述了多租戶博客網(wǎng)站的研究目的和意義;精煉地總結(jié)了國(guó)內(nèi)外在內(nèi)的領(lǐng)域研究情況和未來(lái)的研究趨勢(shì),最后給出了論文的組成結(jié)構(gòu)。

第二章簡(jiǎn)要概述了本文所用的開(kāi)發(fā)技術(shù)和工具。

第三章簡(jiǎn)要對(duì)系統(tǒng)各業(yè)務(wù)流程進(jìn)行需求分析、可行性分析。

第四章對(duì)多租戶博客網(wǎng)站進(jìn)行設(shè)計(jì)。

第五章對(duì)多租戶博客網(wǎng)站進(jìn)行實(shí)現(xiàn),并貼出相關(guān)頁(yè)面截圖,語(yǔ)言描述出具體功能實(shí)現(xiàn)的操作方法。

第六章對(duì)多租戶博客網(wǎng)站采用測(cè)試用例的方式來(lái)對(duì)一些主要功能模塊測(cè)試,最后得出測(cè)試結(jié)果。

第七章總結(jié)全文并對(duì)未來(lái)的研究做出展望。

1.4Spring boot框架

Spring框架是Java平臺(tái)上的一種開(kāi)源應(yīng)用框架,提供具有控制反轉(zhuǎn)特性的容器。盡管Spring框架自身對(duì)編程模型沒(méi)有限制,但其在Java應(yīng)用中的頻繁使用讓它備受青睞,以至于后來(lái)讓它作為EJB(EnterpriseJavaBeans)模型的補(bǔ)充,甚至是替補(bǔ)。Spring框架為開(kāi)發(fā)提供了一系列的解決方案,比如利用控制反轉(zhuǎn)的核心特性,并通過(guò)依賴注入實(shí)現(xiàn)控制反轉(zhuǎn)來(lái)實(shí)現(xiàn)管理對(duì)象生命周期容器化,利用面向切面編程進(jìn)行聲明式的事務(wù)管理,整合多種持久化技術(shù)管理數(shù)據(jù)訪問(wèn),提供大量?jī)?yōu)秀的Web框架方便開(kāi)發(fā)等等。Spring框架具有控制反轉(zhuǎn)(IOC)特性,IOC旨在方便項(xiàng)目維護(hù)和測(cè)試,它提供了一種通過(guò)Java的反射機(jī)制對(duì)Java對(duì)象進(jìn)行統(tǒng)一的配置和管理的方法。Spring框架利用容器管理對(duì)象的生命周期,容器可以通過(guò)掃描XML文件或類上特定Java注解來(lái)配置對(duì)象,開(kāi)發(fā)者可以通過(guò)依賴查找或依賴注入來(lái)獲得對(duì)象。Spring框架具有面向切面編程(AOP)框架,SpringAOP框架基于代理模式,同時(shí)運(yùn)行時(shí)可配置;AOP框架主要針對(duì)模塊之間的交叉關(guān)注點(diǎn)進(jìn)行模塊化。Spring框架的AOP框架僅提供基本的AOP特性,雖無(wú)法與AspectJ框架相比,但通過(guò)與AspectJ的集成,也可以滿足基本需求。Spring框架下的事務(wù)管理、遠(yuǎn)程訪問(wèn)等功能均可以通過(guò)使用SpringAOP技術(shù)實(shí)現(xiàn)。Spring的事務(wù)管理框架為Java平臺(tái)帶來(lái)了一種抽象機(jī)制,使本地和全局事務(wù)以及嵌套事務(wù)能夠與保存點(diǎn)一起工作,并且?guī)缀蹩梢栽贘ava平臺(tái)的任何環(huán)境中工作。Spring集成多種事務(wù)模板,系統(tǒng)可以通過(guò)事務(wù)模板、XML或Java注解進(jìn)行事務(wù)配置,并且事務(wù)框架集成了消息傳遞和緩存等功能。Spring的數(shù)據(jù)訪問(wèn)框架解決了開(kāi)發(fā)人員在應(yīng)用程序中使用數(shù)據(jù)庫(kù)時(shí)遇到的常見(jiàn)困難。它不僅對(duì)Java:JDBC、iBATS/MyBATIs、Hibernate、Java數(shù)據(jù)對(duì)象(JDO)、ApacheOJB和ApacheCayne等所有流行的數(shù)據(jù)訪問(wèn)框架中提供支持,同時(shí)還可以與Spring的事務(wù)管理一起使用,為數(shù)據(jù)訪問(wèn)提供了靈活的抽象。Spring框架最初是沒(méi)有打算構(gòu)建一個(gè)自己的WebMVC框架,其開(kāi)發(fā)人員在開(kāi)發(fā)過(guò)程中認(rèn)為現(xiàn)有的StrutsWeb框架的呈現(xiàn)層和請(qǐng)求處理層之間以及請(qǐng)求處理層和模型之間的分離不夠,于是創(chuàng)建了SpringMVC。

第2章系統(tǒng)分析

2.1可行性分析

技術(shù)性方面,采用當(dāng)前主流的Springboot框架進(jìn)行系統(tǒng)主體框架的搭建,實(shí)現(xiàn)前臺(tái)頁(yè)面的設(shè)計(jì)與美觀調(diào)整,以上技術(shù),均由本人經(jīng)過(guò)系統(tǒng)學(xué)習(xí),并且都是在課程設(shè)計(jì)中實(shí)踐過(guò)的,可以使得開(kāi)發(fā)更加便捷和系統(tǒng)。從技術(shù)角度看,這個(gè)系統(tǒng)是完全可以實(shí)現(xiàn)的。

實(shí)用性方面,本次設(shè)計(jì)的主要任務(wù)是在多租戶博客網(wǎng)站內(nèi)發(fā)布論壇進(jìn)行交流等,符合當(dāng)前潮流的發(fā)展。從用戶角度出發(fā),同時(shí)也考慮系統(tǒng)運(yùn)營(yíng)成本,采用網(wǎng)絡(luò)上的便捷方式,實(shí)現(xiàn)線上業(yè)務(wù),使得業(yè)務(wù)流程更系統(tǒng),也更方便用戶的體驗(yàn),比較實(shí)用。

經(jīng)濟(jì)性方面,由于本課題中設(shè)計(jì)的多租戶博客網(wǎng)站的主要目的是為了能夠進(jìn)行多用戶博客論壇互相交流,也就是能夠可以直接投入使用的信息化軟件。系統(tǒng)的主要成本主要是集中在對(duì)使用數(shù)據(jù)后期繼續(xù)維護(hù)及其管理更新這個(gè)操作上。但是一旦系統(tǒng)投入到實(shí)際的運(yùn)行及使用之后就能夠很好的提高實(shí)際功能使用效率,同時(shí)也需要有效的保證使用者的信息方面的安全性,同時(shí)這個(gè)多租戶博客網(wǎng)站所帶來(lái)的實(shí)際應(yīng)用方面的價(jià)值是遠(yuǎn)遠(yuǎn)的超過(guò)了實(shí)際系統(tǒng)進(jìn)行開(kāi)發(fā)與維護(hù)方面的成本,因此,從經(jīng)濟(jì)上來(lái)說(shuō)開(kāi)發(fā)這個(gè)軟件是可行的。

2.2功能需求分析

多租戶博客網(wǎng)站的功能主要分為前臺(tái)用戶根據(jù)自己的需求進(jìn)行注冊(cè)登錄,瀏覽公告信息并進(jìn)行論壇交流。后臺(tái)系統(tǒng)管理員主要對(duì)論壇信息進(jìn)行審核,公告信息以及資訊信息進(jìn)行發(fā)布,對(duì)用戶信息進(jìn)行管理。

系統(tǒng)用例圖如下所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖3-1 系統(tǒng)用例圖

2.2.1前臺(tái)用戶功能

注冊(cè)賬號(hào):用戶填寫(xiě)個(gè)人信息,并驗(yàn)證手機(jī)號(hào)碼。

登錄:根據(jù)賬號(hào)密碼進(jìn)行登錄操作。

維護(hù)個(gè)人信息:用戶因個(gè)人信息的變更可以隨時(shí)修改自己注冊(cè)信息。

瀏覽公告信息:可以點(diǎn)擊“公告信息”進(jìn)行公告瀏覽。

博客路太難:用戶可以進(jìn)行博客論壇發(fā)布。

新聞資訊:用戶可以在線瀏覽系統(tǒng)發(fā)布的新聞資訊信息。

2.2.2后臺(tái)管理員功能

管理員功能如下:

修改密碼:管理員可以隨時(shí)修改自己進(jìn)入系統(tǒng)的登錄密碼,以保證系統(tǒng)的安全性。

博客論壇管理:對(duì)博客論壇信息進(jìn)行維護(hù)管理。

公告數(shù)據(jù)信息管理:發(fā)布、刪除相關(guān)的公告數(shù)據(jù)信息。

論壇分類管理:可以對(duì)論壇信息進(jìn)行分類管理。

用戶管理:可以查看注冊(cè)用戶的信息,并對(duì)其進(jìn)行管理。

新聞資訊管理:對(duì)新聞資訊信息進(jìn)行分類發(fā)布。

2.3數(shù)據(jù)流程分析

對(duì)系統(tǒng)的數(shù)據(jù)流進(jìn)行分析,系統(tǒng)的使用者分為二類,租戶,管理員。系統(tǒng)主要對(duì)界面信息傳送,登錄信息的驗(yàn)證,注冊(cè)信息的接收,用戶各種操作的響應(yīng)做處理。

系統(tǒng)頂層數(shù)據(jù)流圖如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖3-2 頂層數(shù)據(jù)流圖

要判斷用戶是是什么身份,是根據(jù)登錄的數(shù)據(jù)來(lái)判斷后,跳轉(zhuǎn)到對(duì)應(yīng)的功能界面。在系統(tǒng)的內(nèi)部用戶就可以對(duì)數(shù)據(jù)進(jìn)行操作,數(shù)據(jù)庫(kù)中心就可以接收到系統(tǒng)傳輸?shù)挠行?shù)據(jù)流來(lái)對(duì)數(shù)據(jù)sql語(yǔ)句進(jìn)行對(duì)應(yīng)操作。

系統(tǒng)底層數(shù)據(jù)流圖如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

?圖3-3 底層數(shù)據(jù)流圖

系統(tǒng)可以分為前臺(tái)和后臺(tái)兩部分,每一種操作后系統(tǒng)都返回操作結(jié)果。前臺(tái)和后臺(tái)的數(shù)據(jù)連接主要通過(guò)數(shù)據(jù)庫(kù),既分別對(duì)數(shù)據(jù)庫(kù)做不同的操作。

第3章系統(tǒng)設(shè)計(jì)

3.1系統(tǒng)架構(gòu)設(shè)計(jì)

本多租戶博客網(wǎng)站的架構(gòu)設(shè)計(jì)主要分為可以3層,主要有Web層,業(yè)務(wù)層,Model層。其中web層還包括View層和Controller層,Model層包括元數(shù)據(jù)擴(kuò)展層和數(shù)據(jù)訪問(wèn)層。

系統(tǒng)架構(gòu)如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖4-1 系統(tǒng)架構(gòu)

3.2系統(tǒng)總體設(shè)計(jì)

多租戶博客網(wǎng)站總體分為前臺(tái)用戶模塊和后臺(tái)管理員模塊。

兩個(gè)模塊表現(xiàn)上是分別獨(dú)立存在,但是訪問(wèn)的數(shù)據(jù)庫(kù)是一樣的。每一個(gè)模塊的功能都是根據(jù)先前完成的需求分析,并查閱相關(guān)資料后整理制作的。

綜上所述,系統(tǒng)功能結(jié)構(gòu)圖如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖4-2 系統(tǒng)功能結(jié)構(gòu)圖

3.3系統(tǒng)功能設(shè)計(jì)

登錄模塊:登錄模塊是進(jìn)入系統(tǒng)的入口,所有用戶必須登錄后才能訪問(wèn)系統(tǒng)。登錄需要輸入用戶名和密碼,如果多次嘗試登錄需要輸入驗(yàn)證碼。登錄時(shí)需要選擇用戶的角色,是一般用戶還是管理員登錄等。登錄成功后,會(huì)通過(guò)數(shù)據(jù)庫(kù)獲取用戶的權(quán)限,并跳轉(zhuǎn)至用戶的主頁(yè)面。

博客論壇模塊:論壇模塊促進(jìn)用戶對(duì)博文進(jìn)行點(diǎn)評(píng),查看某個(gè)博文已存在的論壇,發(fā)表論壇可以達(dá)到真實(shí)描述博文的效果。

公告數(shù)據(jù)模塊:可分為公告數(shù)據(jù)瀏覽、公告數(shù)據(jù)檢索、公告數(shù)據(jù)維護(hù)三個(gè)模塊,管理員對(duì)公告數(shù)據(jù)有維護(hù)的權(quán)限,發(fā)布新的公告數(shù)據(jù)、更新已有的公告數(shù)據(jù)等。

新聞資訊管理模塊:此模塊分為新聞資訊添加、修改和新聞資訊發(fā)布。新聞資訊由管理員進(jìn)行修改、添加、刪除操作。

3.4數(shù)據(jù)庫(kù)設(shè)計(jì)

3.4.1數(shù)據(jù)需求分析

從前面可以分析到數(shù)據(jù)庫(kù)中最重要的是博客論壇,新聞資訊,通知公告。分析可以得到如下數(shù)據(jù)描述:

租戶:用于記錄租戶的各種信息,包括用戶名、密碼、姓名、性別、地址、郵箱、聯(lián)系方式等數(shù)據(jù)項(xiàng)。

管理員:記錄管理員的登錄信息。包括用戶名,密碼,權(quán)限等數(shù)據(jù)項(xiàng)。

博客論壇:存儲(chǔ)博客論壇的內(nèi)容,包括標(biāo)題、標(biāo)簽、分類、內(nèi)容等數(shù)據(jù)項(xiàng)。

公告數(shù)據(jù):存儲(chǔ)平臺(tái)內(nèi)的公告數(shù)據(jù)內(nèi)容。包括標(biāo)題,公告數(shù)據(jù)內(nèi)容,時(shí)間等數(shù)據(jù)項(xiàng)。

新聞資訊:存儲(chǔ)網(wǎng)站內(nèi)的資訊數(shù)據(jù)內(nèi)容。標(biāo)題、類型等數(shù)據(jù)項(xiàng)。

3.4.2數(shù)據(jù)庫(kù)表設(shè)計(jì)

多租戶博客網(wǎng)站所擁有的數(shù)據(jù)表有以下:租戶信息表,論壇信息表,新聞資訊表,通知公告表。

3.5表article_type (文章分類)

編號(hào)

名稱

數(shù)據(jù)類型

長(zhǎng)度

小數(shù)位

允許空值

主鍵

默認(rèn)值

說(shuō)明

1

type_id

smallint

5

0

N

Y

分類ID:[0,10000]

2

display

smallint

5

0

N

N

100

顯示順序:[0,1000]決定分類顯示的先后順序

3

name

varchar

16

0

N

N

分類名稱:[2,16]

4

father_id

smallint

5

0

N

N

0

上級(jí)分類ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述該分類的作用

6

icon

text

65535

0

Y

N

分類圖標(biāo):

7

url

varchar

255

0

Y

N

外鏈地址:[0,255]如果該分類是跳轉(zhuǎn)到其他網(wǎng)站的情況下,就在該URL上設(shè)置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創(chuàng)建時(shí)間:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時(shí)間:

3.6表collect (收藏)

編號(hào)

名稱

數(shù)據(jù)類型

長(zhǎng)度

小數(shù)位

允許空值

主鍵

默認(rèn)值

說(shuō)明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

來(lái)源表:

4

source_field

varchar

255

0

Y

N

來(lái)源字段:

5

source_id

int

10

0

N

N

0

來(lái)源ID:

6

title

varchar

255

0

Y

N

標(biāo)題:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創(chuàng)建時(shí)間:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時(shí)間:

3.7表comment (評(píng)論)

編號(hào)

名稱

數(shù)據(jù)類型

長(zhǎng)度

小數(shù)位

允許空值

主鍵

默認(rèn)值

說(shuō)明

1

comment_id

int

10

0

N

Y

評(píng)論ID:

2

user_id

int

10

0

N

N

0

評(píng)論人ID:

3

reply_to_id

int

10

0

N

N

0

回復(fù)評(píng)論ID:空為0

4

content

longtext

2147483647

0

Y

N

內(nèi)容:

5

nickname

varchar

255

0

Y

N

昵稱:

6

avatar

varchar

255

0

Y

N

頭像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創(chuàng)建時(shí)間:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時(shí)間:

9

source_table

varchar

255

0

Y

N

來(lái)源表:

10

source_field

varchar

255

0

Y

N

來(lái)源字段:

11

source_id

int

10

0

N

N

0

來(lái)源ID:

3.8表forum (論壇)

編號(hào)

名稱

數(shù)據(jù)類型

長(zhǎng)度

小數(shù)位

允許空值

主鍵

默認(rèn)值

說(shuō)明

1

forum_id

mediumint

8

0

N

Y

論壇id

2

display

smallint

5

0

N

N

100

排序

3

user_id

mediumint

8

0

N

N

0

用戶ID

4

nickname

varchar

16

0

Y

N

昵稱:[0,16]

5

praise_len

int

10

0

Y

N

0

點(diǎn)贊數(shù)

6

hits

int

10

0

N

N

0

訪問(wèn)數(shù)

7

title

varchar

125

0

N

N

標(biāo)題

8

keywords

varchar

125

0

Y

N

關(guān)鍵詞

9

description

varchar

255

0

Y

N

描述

10

url

varchar

255

0

Y

N

來(lái)源地址

11

tag

varchar

255

0

Y

N

標(biāo)簽

12

img

text

65535

0

Y

N

封面圖

13

content

longtext

2147483647

0

Y

N

正文

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創(chuàng)建時(shí)間:

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時(shí)間:

16

avatar

varchar

255

0

Y

N

發(fā)帖人頭像:

17

type

varchar

64

0

N

N

0

論壇分類:[0,1000]用來(lái)搜索指定類型的論壇帖

3.9表forum_type (論壇分類)

編號(hào)

名稱

數(shù)據(jù)類型

長(zhǎng)度

小數(shù)位

允許空值

主鍵

默認(rèn)值

說(shuō)明

1

type_id

smallint

5

0

N

Y

分類ID:[0,10000]

2

name

varchar

16

0

N

N

分類名稱:[2,16]

3

description

varchar

255

0

Y

N

描述:[0,255]描述該分類的作用

4

url

varchar

255

0

Y

N

外鏈地址:[0,255]如果該分類是跳轉(zhuǎn)到其他網(wǎng)站的情況下,就在該URL上設(shè)置

5

father_id

smallint

5

0

N

N

0

上級(jí)分類ID:[0,32767]

6

icon

varchar

255

0

Y

N

分類圖標(biāo):

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創(chuàng)建時(shí)間:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時(shí)間:

3.10表notice (公告)

編號(hào)

名稱

數(shù)據(jù)類型

長(zhǎng)度

小數(shù)位

允許空值

主鍵

默認(rèn)值

說(shuō)明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

標(biāo)題:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創(chuàng)建時(shí)間:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時(shí)間:

3.11表praise (點(diǎn)贊)

編號(hào)

名稱

數(shù)據(jù)類型

長(zhǎng)度

小數(shù)位

允許空值

主鍵

默認(rèn)值

說(shuō)明

1

praise_id

int

10

0

N

Y

點(diǎn)贊ID:

2

user_id

int

10

0

N

N

0

點(diǎn)贊人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創(chuàng)建時(shí)間:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時(shí)間:

5

source_table

varchar

255

0

Y

N

來(lái)源表:

6

source_field

varchar

255

0

Y

N

來(lái)源字段:

7

source_id

int

10

0

N

N

0

來(lái)源ID:

8

status

bit

1

0

N

N

1

點(diǎn)贊狀態(tài):1為點(diǎn)贊,0已取消

3.12表tenant_users (租戶用戶)

編號(hào)

名稱

數(shù)據(jù)類型

長(zhǎng)度

小數(shù)位

允許空值

主鍵

默認(rèn)值

說(shuō)明

1

tenant_users_id

int

10

0

N

Y

租戶用戶ID

2

user_name

varchar

64

0

Y

N

用戶姓名

3

user_gender

varchar

64

0

Y

N

用戶性別

4

examine_state

varchar

16

0

N

N

已通過(guò)

審核狀態(tài)

5

recommend

int

10

0

N

N

0

智能推薦

6

user_id

int

10

0

N

N

0

用戶ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創(chuàng)建時(shí)間

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時(shí)間

第4章系統(tǒng)實(shí)現(xiàn)

4.1數(shù)據(jù)庫(kù)訪問(wèn)層的實(shí)現(xiàn)

該系統(tǒng)是通過(guò)jdbc和MySQL達(dá)成連接的,新建一個(gè)jdbc.properties文件來(lái)填寫(xiě)與數(shù)據(jù)庫(kù)連接所需要的驅(qū)動(dòng)和參數(shù)。

jdbc.driverClass=com.MySQL.jdbc.Driver

jdbc.url=jdbc:MySQL://localhost:3306/tsi

jdbc.username=root

jdbc.password=123

第一個(gè)參數(shù)代表MySQL數(shù)據(jù)庫(kù)的驅(qū)動(dòng),第二個(gè)參數(shù)代表要連接的數(shù)據(jù)庫(kù),第三個(gè)和第四個(gè)參數(shù)代表數(shù)據(jù)庫(kù)連接名和密碼。

后臺(tái)與數(shù)據(jù)庫(kù)訪問(wèn)主要是通過(guò)HQL語(yǔ)句來(lái)進(jìn)行查詢的,查詢語(yǔ)句中的表名是表格的實(shí)體類名,在這種查詢語(yǔ)句中*是不允許使用的,除非適合聚合函數(shù)一起使用才可以。

4.2注冊(cè)模塊的實(shí)現(xiàn)

用戶在填寫(xiě)數(shù)據(jù)的時(shí)候必須與注冊(cè)頁(yè)面上的驗(yàn)證相匹配否則會(huì)注冊(cè)失敗,注冊(cè)頁(yè)面的表單驗(yàn)證是通過(guò)JavaScript進(jìn)行驗(yàn)證的,用戶名的長(zhǎng)度必須在6到18之間,郵箱必須帶有@符號(hào),密碼和密碼確認(rèn)必須相同,你輸入的密碼,系統(tǒng)會(huì)根據(jù)你輸入密碼的強(qiáng)度給出指定的值,電話號(hào)碼和身份證號(hào)碼必須要求輸入格式與生活相符合,當(dāng)你前臺(tái)驗(yàn)證通過(guò)的時(shí)候你點(diǎn)擊注冊(cè),表單會(huì)將你輸入的值通過(guò)name值傳遞給后臺(tái)并保存到數(shù)據(jù)庫(kù)中。

用戶注冊(cè)流程圖如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖5-1用戶注冊(cè)流程圖

用戶注冊(cè)界面如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖5-2用戶注冊(cè)界面

用戶注冊(cè)的關(guān)鍵代碼如下。

/**

?????* 注冊(cè)

?????* @param user

?????* @return

?????*/

????@PostMapping("register")

????public Map<String, Object> signUp(@RequestBody User user) {

????????// 查詢用戶

????????Map<String, String> query = new HashMap<>();

????????query.put("username",user.getUsername());

????????List list = service.select(query, new HashMap<>()).getResultList();

????????if (list.size()>0){

????????????return error(30000, "用戶已存在");

????????}

????????user.setUserId(null);

????????user.setPassword(service.encryption(user.getPassword()));

????????service.save(user);

????????return success(1);

}

/**

?????* 用戶ID:[0,8388607]用戶獲取其他與用戶相關(guān)的數(shù)據(jù)

?????*/

????@Id

????@GeneratedValue(strategy = GenerationType.IDENTITY)

????@Column(name = "user_id")

????private Integer userId;

????/**

?????* 賬戶狀態(tài):[0,10](1可用|2異常|3已凍結(jié)|4已注銷)

?????*/

????@Basic

????@Column(name = "state")

????private Integer state;

????/**

?????* 所在用戶組:[0,32767]決定用戶身份和權(quán)限

?????*/

????@Basic

????@Column(name = "user_group")

????private String userGroup;

????/**

?????* 上次登錄時(shí)間:

?????*/

????@Basic

????@Column(name = "login_time")

????private Timestamp loginTime;

????/**

?????* 手機(jī)號(hào)碼:[0,11]用戶的手機(jī)號(hào)碼,用于找回密碼時(shí)或登錄時(shí)

?????*/

????@Basic

????@Column(name = "phone")

????private String phone;

????/**

?????* 手機(jī)認(rèn)證:[0,1](0未認(rèn)證|1審核中|2已認(rèn)證)

?????*/

????@Basic

????@Column(name = "phone_state")

????private Integer phoneState;

????/**

?????* 用戶名:[0,16]用戶登錄時(shí)所用的賬戶名稱

?????*/

????@Basic

????@Column(name = "username")

????private String username;

????/**

?????* 昵稱:[0,16]

?????*/

????@Basic

????@Column(name = "nickname")

????private String nickname;

????/**

?????* 密碼:[0,32]用戶登錄所需的密碼,由6-16位數(shù)字或英文組成

?????*/

????@Basic

????@Column(name = "password")

????private String password;

????/**

?????* 郵箱:[0,64]用戶的郵箱,用于找回密碼時(shí)或登錄時(shí)

?????*/

????@Basic

????@Column(name = "email")

????private String email;

????/**

?????* 郵箱認(rèn)證:[0,1](0未認(rèn)證|1審核中|2已認(rèn)證)

?????*/

????@Basic

????@Column(name = "email_state")

????private Integer emailState;

????/**

?????* 頭像地址:[0,255]

?????*/

????@Basic

????@Column(name = "avatar")

????private String avatar;

????/**

?????* 創(chuàng)建時(shí)間:

?????*/

????@Basic

????@Column(name = "create_time")

????@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

????private Timestamp createTime;

????@Basic

????@Transient

????private String code;

}

4.3登錄模塊的實(shí)現(xiàn)

主要由兩部分組成,登錄前的登錄界面以及登錄后的用戶功能界面。登錄界面,要求用戶輸入用戶名和密碼,當(dāng)用戶名和密碼其中一個(gè)輸入為空時(shí),給出提示“用戶名,密碼不能為空”。獲取用戶名和密碼后到數(shù)據(jù)庫(kù)中查找,如果用戶名存在,以及對(duì)應(yīng)的密碼正確,則登錄成功,否則登錄失敗。登錄失敗后給出提示,并把焦點(diǎn)停在文本框中。登錄成功后將該次會(huì)話的全局變量username設(shè)置為用戶名。登錄成功后進(jìn)入會(huì)員的功能模塊,主要有會(huì)員基本信息修改,已經(jīng)發(fā)布博文信息管理,發(fā)布信息,和退出功能。退出功能是清除全局變量username的值,并跳回到首頁(yè)。

登錄流程圖如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖5-3登錄流程圖

用戶登錄界面如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖5-4用戶登錄界面

用戶登錄的關(guān)鍵代碼如下。

/**

?????* 登錄

?????* @param data

?????* @param httpServletRequest

?????* @return

?????*/

????@PostMapping("login")

????public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

????????log.info("[執(zhí)行登錄接口]");

????????String username = data.get("username");

????????String email = data.get("email");

????????String phone = data.get("phone");

????????String password = data.get("password");

????????List resultList = null;

????????Map<String, String> map = new HashMap<>();

????????if(username != null && "".equals(username) == false){

????????????map.put("username", username);

????????????resultList = service.select(map, new HashMap<>()).getResultList();

????????}

????????else if(email != null && "".equals(email) == false){

????????????map.put("email", email);

????????????resultList = service.select(map, new HashMap<>()).getResultList();

????????}

????????else if(phone != null && "".equals(phone) == false){

????????????map.put("phone", phone);

????????????resultList = service.select(map, new HashMap<>()).getResultList();

????????}else{

????????????return error(30000, "賬號(hào)或密碼不能為空");

????????}

????????if (resultList == null || password == null) {

????????????return error(30000, "賬號(hào)或密碼不能為空");

????????}

????????//判斷是否有這個(gè)用戶

????????if (resultList.size()<=0){

????????????return error(30000,"用戶不存在");

????????}

????????User byUsername = (User) resultList.get(0);

????????Map<String, String> groupMap = new HashMap<>();

????????groupMap.put("name",byUsername.getUserGroup());

????????List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

????????if (groupList.size()<1){

????????????return error(30000,"用戶組不存在");

????????}

????????UserGroup userGroup = (UserGroup) groupList.get(0);

????????//查詢用戶審核狀態(tài)

????????if (!StringUtils.isEmpty(userGroup.getSourceTable())){

????????????String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

????????????String res = String.valueOf(service.runCountSql(sql).getSingleResult());

????????????if (res==null){

????????????????return error(30000,"用戶不存在");

????????????}

????????????if (!res.equals("已通過(guò)")){

????????????????return error(30000,"該用戶審核未通過(guò)");

????????????}

????????}

????????//查詢用戶狀態(tài)

????????if (byUsername.getState()!=1){

????????????return error(30000,"用戶非可用狀態(tài),不能登錄");

????????}

????????String md5password = service.encryption(password);

????????if (byUsername.getPassword().equals(md5password)) {

????????????// 存儲(chǔ)Token到數(shù)據(jù)庫(kù)

????????????AccessToken accessToken = new AccessToken();

????????????accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

????????????accessToken.setUser_id(byUsername.getUserId());

????????????tokenService.save(accessToken);

????????????// 返回用戶信息

????????????JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

????????????user.put("token", accessToken.getToken());

????????????JSONObject ret = new JSONObject();

????????????ret.put("obj",user);

????????????return success(ret);

????????} else {

????????????return error(30000, "賬號(hào)或密碼不正確");

????????}

}

4.4用戶資料修改模塊的實(shí)現(xiàn)

用戶登錄/注冊(cè)成功之后可以修改自己的基本信息。修改頁(yè)面的表單中每一個(gè)input的name值都要與實(shí)體類中的參數(shù)相匹配,在用戶點(diǎn)擊修改頁(yè)面的時(shí)候,如果改后用戶名與數(shù)據(jù)庫(kù)里面重復(fù)了,頁(yè)面會(huì)提示該用戶名已經(jīng)存在了,否則通過(guò)Id來(lái)查詢用戶,并將用戶的信息修改為表單提交的數(shù)據(jù)。

4.5新聞資訊展示模塊的實(shí)現(xiàn)

新聞資訊展示界面如下圖所示。

圖5-5新聞資訊展示界面

新聞資訊管理界面如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖5-6新聞資訊管理界面

4.6評(píng)論模塊的實(shí)現(xiàn)

用戶對(duì)博文內(nèi)容進(jìn)行評(píng)論。將頁(yè)面session中的用戶賬號(hào)userId和評(píng)論框內(nèi)容傳入控制層pinglunAction,調(diào)用addpinglun方法,通過(guò)pinglunDAOImp向數(shù)據(jù)庫(kù)評(píng)論插入,將結(jié)果返回lyb.jsp界面。

評(píng)論界面如下所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖5-7評(píng)論界面

4.7博客論壇管理模塊的實(shí)現(xiàn)

此頁(yè)面的關(guān)鍵是編寫(xiě)博客論壇,包括標(biāo)題,名稱,內(nèi)容等。單擊提交按鈕以完成信息的添加。如果未寫(xiě)入完整的博客論壇,例如,如果未寫(xiě)入博客論壇標(biāo)題,系統(tǒng)將給出相應(yīng)的錯(cuò)誤提示,并且無(wú)法成功輸入。數(shù)據(jù)以概念的形式以onsubmit =“return checkForm()”的形式寫(xiě)入以進(jìn)行檢查,checkForm()函數(shù)是一種用于寫(xiě)入數(shù)據(jù)的不同類型的校對(duì)方法,是不是為空也是經(jīng)過(guò)form表單中的οnsubmit=”return checkForm()來(lái)檢查。

管理員點(diǎn)擊左側(cè)菜單“博客論壇管理”,頁(yè)面跳轉(zhuǎn)到博客論壇管理外觀,調(diào)用后臺(tái)博客論壇查詢所有博客論壇。并將信息密封到數(shù)據(jù)集合List,綁定到請(qǐng)求對(duì)象,然后頁(yè)面跳轉(zhuǎn)到相應(yīng)的jsp,顯示出博客論壇,單擊刪除按鈕完成博客論壇的刪除。

博客論壇管理流程圖如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖5-8博客論壇管理流程圖

博客論壇添加界面如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖5-9博客論壇添加界面

博客論壇管理界面如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖5-10博客論壇管理界面

博客論壇管理的關(guān)鍵代碼如下。

?@PostMapping("/add")

????@Transactional

????public Map<String, Object> add(HttpServletRequest request) throws IOException {

????????service.insert(service.readBody(request.getReader()));

????????return success(1);

????}

????@Transactional

????public Map<String, Object> addMap(Map<String,Object> map){

????????service.insert(map);

????????return success(1);

}

????public Map<String,Object> readBody(BufferedReader reader){

????????BufferedReader br = null;

????????StringBuilder sb = new StringBuilder("");

????????try{

????????????br = reader;

????????????String str;

????????????while ((str = br.readLine()) != null){

????????????????sb.append(str);

????????????}

????????????br.close();

????????????String json = sb.toString();

????????????return JSONObject.parseObject(json, Map.class);

????????}catch (IOException e){

????????????e.printStackTrace();

????????}finally{

????????????if (null != br){

????????????????try{

????????????????????br.close();

????????????????}catch (IOException e){

????????????????????e.printStackTrace();

????????????????}

????????????}

????????}

????????return null;

}

????public void insert(Map<String,Object> body){

????????StringBuffer sql = new StringBuffer("INSERT INTO ");

????????sql.append("`").append(table).append("`").append(" (");

????????for (Map.Entry<String,Object> entry:body.entrySet()){

????????????sql.append("`"+humpToLine(entry.getKey())+"`").append(",");

????????}

????????sql.deleteCharAt(sql.length()-1);

????????sql.append(") VALUES (");

????????for (Map.Entry<String,Object> entry:body.entrySet()){

????????????Object value = entry.getValue();

????????????if (value instanceof String){

????????????????sql.append("'").append(entry.getValue()).append("'").append(",");

????????????}else {

????????????????sql.append(entry.getValue()).append(",");

????????????}

????????}

????????sql.deleteCharAt(sql.length() - 1);

????????sql.append(")");

????????log.info("[{}] - 插入操作:{}",table,sql);

????????Query query = runCountSql(sql.toString());

????????query.executeUpdate();

????}

4.8論壇分類管理模塊的實(shí)現(xiàn)

管理員負(fù)責(zé)發(fā)布論壇分類版塊,用戶可以在線發(fā)布帖子。管理員對(duì)論壇類型進(jìn)行維護(hù)管理。

論壇分類添加界面如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖5-11論壇分類添加界面

論壇分類管理界面如下圖所示。

基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案,java,spring boot,spring cloud,php,python,爬蟲(chóng),mysql

圖5-12論壇分類管理界面

論壇分類關(guān)鍵代碼如下。

@RequestMapping(value = {"/avg_group", "/avg"})

public Map<String, Object> avg(HttpServletRequest request) {

????????Query count = service.avg(service.readQuery(request), service.readConfig(request));

????????return success(count.getResultList());

}

第5章系統(tǒng)測(cè)試

5.1測(cè)試目的

對(duì)任何系統(tǒng)而言,測(cè)試都是必不可少的環(huán)節(jié),測(cè)試可以發(fā)現(xiàn)系統(tǒng)存在的很多問(wèn)題,所有的軟件上線之前,都應(yīng)該進(jìn)行充足的測(cè)試之后才能保證上線后不會(huì)Bug頻發(fā),或者是功能不滿足需求等問(wèn)題的發(fā)生。下面分別從單元測(cè)試,功能測(cè)試和用例測(cè)試來(lái)對(duì)系統(tǒng)進(jìn)行測(cè)試以保證系統(tǒng)的穩(wěn)定性和可靠性。

5.2功能測(cè)試

下表是系統(tǒng)登錄功能測(cè)試用例,檢測(cè)了用戶名和密碼的不同的輸入情況,觀察系統(tǒng)的響應(yīng)情況。得出該功能達(dá)到了設(shè)計(jì)目標(biāo)。

表6-1 系統(tǒng)登錄功能測(cè)試用例

功能描述

用于系統(tǒng)登錄

測(cè)試目的

檢測(cè)登錄時(shí)的合法性檢查

測(cè)試數(shù)據(jù)以及操作

預(yù)期結(jié)果

實(shí)際結(jié)果

輸入的用戶名和密碼帶有非法字符

提示用戶名或者密碼錯(cuò)誤

與預(yù)期結(jié)果一致

輸入的用戶名或者密碼為空

提示用戶名或者密碼錯(cuò)誤

與預(yù)期結(jié)果一致

輸入的用戶名和密碼不存在

提示用戶名或者密碼錯(cuò)誤

與預(yù)期結(jié)果一致

輸入正確的用戶名和密碼

登錄成功

與預(yù)期結(jié)果一致

下表是注冊(cè)功能測(cè)試用例,檢測(cè)了各種數(shù)據(jù)的輸入情況,觀察系統(tǒng)的響應(yīng)情況。得出該功能達(dá)到了設(shè)計(jì)目標(biāo)。

表6-2 注冊(cè)功能測(cè)試用例

功能描述

用于用戶注冊(cè)

測(cè)試目的

檢測(cè)用戶注冊(cè)時(shí)的合法性檢查

測(cè)試數(shù)據(jù)以及操作

預(yù)期結(jié)果

實(shí)際結(jié)果

輸入的手機(jī)號(hào)不合法

提示請(qǐng)輸入正確的手機(jī)號(hào)碼

與預(yù)期結(jié)果一致

輸入的字段為空

提示必填項(xiàng)不能為空

與預(yù)期結(jié)果一致

輸入的密碼少于6位

提示密碼必須為6-12位

與預(yù)期結(jié)果一致

輸入的密碼大于12位

提示密碼必須為6-12位

與預(yù)期結(jié)果一致

下表是博客論壇管理功能的測(cè)試用例,檢測(cè)了博客論壇管理中對(duì)博客論壇信息的增加,刪除,修改,查詢操作是否成功運(yùn)行。觀察系統(tǒng)的響應(yīng)情況,得出該功能也達(dá)到了設(shè)計(jì)目標(biāo),系統(tǒng)運(yùn)行正確。

前置條件;用戶登錄系統(tǒng)。

表6-3 博客論壇管理的測(cè)試用例

功能描述

用于博客論壇管理

測(cè)試目的

檢測(cè)博客論壇管理時(shí)的各種操作的運(yùn)行情況

測(cè)試數(shù)據(jù)以及操作

預(yù)期結(jié)果

實(shí)際結(jié)果

點(diǎn)擊添加博客論壇,必填項(xiàng)合法輸入,點(diǎn)擊保存

提示添加成功

與預(yù)期結(jié)果一致

點(diǎn)擊添加博客論壇,必填項(xiàng)輸入不合法,點(diǎn)擊保存

提示必填項(xiàng)不能為空

與預(yù)期結(jié)果一致

點(diǎn)擊修改博客論壇,必填項(xiàng)修改為空,點(diǎn)擊保存

提示必填項(xiàng)不能為空

與預(yù)期結(jié)果一致

點(diǎn)擊修改博客論壇,必填項(xiàng)輸入不合法,點(diǎn)擊保存

提示必填項(xiàng)不能為空

與預(yù)期結(jié)果一致

點(diǎn)擊刪除博客論壇,選擇博客論壇刪除

提示刪除成功

與預(yù)期結(jié)果一致

點(diǎn)擊搜索博客論壇,輸入存在的博客論壇名

查找出博客論壇

與預(yù)期結(jié)果一致

點(diǎn)擊搜索博客論壇,輸入不存在的博客論壇名

不顯示博客論壇

與預(yù)期結(jié)果一致

下表是論壇分類功能的測(cè)試用例,檢測(cè)了論壇分類中對(duì)論壇分類的增加,刪除,修改,查詢操作是否成功運(yùn)行。觀察系統(tǒng)的響應(yīng)情況,得出該功能也達(dá)到了設(shè)計(jì)目標(biāo),系統(tǒng)運(yùn)行正確。

前置條件;用戶登錄系統(tǒng)。

表6-3 論壇分類的測(cè)試用例

功能描述

用于論壇分類

測(cè)試目的

檢測(cè)論壇分類時(shí)的各種操作的運(yùn)行情況

測(cè)試數(shù)據(jù)以及操作

預(yù)期結(jié)果

實(shí)際結(jié)果

點(diǎn)擊添加論壇分類,必填項(xiàng)合法輸入,點(diǎn)擊保存

提示添加成功

與預(yù)期結(jié)果一致

點(diǎn)擊添加論壇分類,必填項(xiàng)輸入不合法,點(diǎn)擊保存

提示必填項(xiàng)不能為空

與預(yù)期結(jié)果一致

點(diǎn)擊修改論壇分類,必填項(xiàng)修改為空,點(diǎn)擊保存

提示必填項(xiàng)不能為空

與預(yù)期結(jié)果一致

點(diǎn)擊修改論壇分類,必填項(xiàng)輸入不合法,點(diǎn)擊保存

提示必填項(xiàng)不能為空

與預(yù)期結(jié)果一致

點(diǎn)擊刪除論壇分類,選擇論壇分類刪除

提示刪除成功

與預(yù)期結(jié)果一致

點(diǎn)擊搜索論壇分類,輸入存在的論壇分類名

查找出論壇分類

與預(yù)期結(jié)果一致

點(diǎn)擊搜索論壇分類,輸入不存在的論壇分類名

不顯示論壇分類

與預(yù)期結(jié)果一致

5.3性能測(cè)試

使用阿里云PTS(Performance Testing Service)性能測(cè)試服務(wù)對(duì)線上系統(tǒng)進(jìn)行壓力測(cè)試。線上服務(wù)器環(huán)境為:1核心CPU,1G內(nèi)存,1Mbps公網(wǎng)帶寬,Centos7.0操作系統(tǒng)。

壓測(cè)過(guò)程中使用了2臺(tái)并發(fā)機(jī)器,每臺(tái)機(jī)器20個(gè)用戶并發(fā),對(duì)系統(tǒng)主頁(yè),登錄,數(shù)據(jù)查詢和數(shù)據(jù)維護(hù)等模塊進(jìn)行并發(fā)訪問(wèn),測(cè)試結(jié)果是有40個(gè)用戶并發(fā)時(shí),數(shù)據(jù)管理相關(guān)頁(yè)面的響應(yīng)時(shí)間甚至達(dá)到了7s,通過(guò)查看服務(wù)器出網(wǎng)流量發(fā)現(xiàn)已經(jīng)達(dá)到1381kb/s,可以看出服務(wù)器的帶寬已經(jīng)達(dá)到峰值,如果系統(tǒng)使用5Mbps的帶寬,系統(tǒng)的響應(yīng)時(shí)間和TPS將會(huì)大大增加。在整個(gè)測(cè)試的過(guò)程中,CPU的使用率占用僅8%,也提現(xiàn)出帶寬瓶頸對(duì)系統(tǒng)的影響非常嚴(yán)重。

第6章總結(jié)與展望

此時(shí)項(xiàng)目已經(jīng)完成,即使實(shí)施的時(shí)間不是很長(zhǎng),但是這個(gè)過(guò)程中需要準(zhǔn)備很長(zhǎng)的一段時(shí)間去對(duì)系統(tǒng)設(shè)計(jì)開(kāi)發(fā)所實(shí)際到的技術(shù)進(jìn)行學(xué)習(xí)。在學(xué)習(xí)的過(guò)程中,我逐漸認(rèn)識(shí)得到了我自身存在的一些不足。對(duì)于一些控制是必要的應(yīng)用技能,能夠理解,整個(gè)過(guò)程中僅僅是一個(gè)掌握了常用的性能和控制方法,我覺(jué)得挺容易的。從該系統(tǒng)中,系統(tǒng)的分析和設(shè)計(jì)的調(diào)查數(shù)據(jù),并且已經(jīng)經(jīng)歷了幾個(gè)月,并努力幾個(gè)月,該系統(tǒng)已經(jīng)完成。很顯然,該系統(tǒng)仍有很多不成熟,在系統(tǒng)設(shè)計(jì)過(guò)程中有許多技術(shù)缺陷存在。在設(shè)計(jì)的過(guò)程中也涉及到了很多自己無(wú)法解決的問(wèn)題,主要通過(guò)找專業(yè)的網(wǎng)站和論壇來(lái)解決這些問(wèn)題,對(duì)于圓滿完成我的畢業(yè)設(shè)計(jì),他們也貢獻(xiàn)了很大一部分力量。系統(tǒng)的開(kāi)發(fā)環(huán)境和配置都是可以自行安裝的,系統(tǒng)使用Springboot開(kāi)發(fā)框架,使用比較成熟的Mysql數(shù)據(jù)庫(kù)進(jìn)行對(duì)系統(tǒng)前臺(tái)及后臺(tái)的數(shù)據(jù)交互,根據(jù)技術(shù)語(yǔ)言對(duì)數(shù)據(jù)庫(kù),結(jié)合需求進(jìn)行修改維護(hù),可以使得系統(tǒng)運(yùn)行更具有穩(wěn)定性和安全性,從而完成實(shí)現(xiàn)系統(tǒng)的開(kāi)發(fā)。

系統(tǒng)投入運(yùn)行時(shí),各功能均運(yùn)行正常。系統(tǒng)的每個(gè)界面的操作符合常規(guī)邏輯,對(duì)使用者來(lái)說(shuō)操作簡(jiǎn)單,界面友好。整個(gè)系統(tǒng)的各個(gè)功能設(shè)計(jì)合理,體現(xiàn)了人性化。

多租戶博客網(wǎng)站的主要特點(diǎn)有:

(1)簡(jiǎn)單大方,易于操作的 Web 頁(yè)面;

(2)利用 Ajax 技術(shù)使頁(yè)面進(jìn)行無(wú)刷新更新;

(3)有良好的安全性和可擴(kuò)展性,增強(qiáng)了系統(tǒng)的可靠性,使系統(tǒng)保持持久的生命力。

由于時(shí)間限制和本人能力條件有限,該系統(tǒng)還存在一些不足,今后也會(huì)出現(xiàn)許多新的開(kāi)發(fā)技術(shù),未來(lái)還可以對(duì)系統(tǒng)做出如下改進(jìn):

(1)優(yōu)化系統(tǒng)頁(yè)面,使頁(yè)面更加美觀且方便操作;

(2)優(yōu)化搜索功能,提供多條件選擇查詢搜索;

(3)優(yōu)化資訊推薦功能,提高資訊推薦的精準(zhǔn)度;

(5)進(jìn)一步提高系統(tǒng)的安全性,使系統(tǒng)更加健壯;

(6)優(yōu)化數(shù)據(jù)和代碼,提升軟件效率,方便系統(tǒng)維護(hù)和擴(kuò)展。

參考文獻(xiàn)

[1]盧云霞.淺談多租戶博客網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[J].內(nèi)蒙古科技與經(jīng)濟(jì),2021(17):78-79+81.

[2]唐榜. 基于Node.js的Web服務(wù)端框架研究與實(shí)現(xiàn)[D].西南科技大學(xué),2021.

[3]鐘怡旸,郭昱君.基于Springboot的博客管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代信息科技,2021,5(07):18-20+24.

[4]李雅楠. 基于Node.js的協(xié)同可視化工具的設(shè)計(jì)與實(shí)現(xiàn)[D].北方民族大學(xué),2020.

[5]一種基于LoadVars與XML結(jié)合的Flash博客網(wǎng)站設(shè)計(jì)[J].科技創(chuàng)新與品牌,2019(10):77-78.

[6]劉慶芳,劉桂賢.基于ASP.NET的多租戶博客網(wǎng)站的實(shí)現(xiàn)[J].無(wú)線互聯(lián)科技,2019(02):37-38+47.

[7]李浩. 基于評(píng)論的博客搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)[D].重慶大學(xué),2019.

[8]王穎,司占軍,郭宗偉.基于WEB2.0技術(shù)的網(wǎng)站博客系統(tǒng)的設(shè)計(jì)與制作[J].電腦知識(shí)與技術(shù),2019,12(02):61-62+71.

[9]鄭萌萌. 基于新媒體的社會(huì)主義核心價(jià)值觀傳播研究[D].蘇州大學(xué),2019.

[10]劉霞.國(guó)內(nèi)外自媒體的比較分析——以博客為例[J].新聞傳播,2019(14):26-27.

[11]方興東,張笑容.媒體融合戰(zhàn)略下的博客發(fā)展路徑[J].傳媒評(píng)論,2018(03):76-79.

[12]饒徐.一個(gè)基于WEB的多租戶博客網(wǎng)站設(shè)計(jì)[J].科技廣場(chǎng),2018(06):35-37.

[13]陳淑芳.讓網(wǎng)絡(luò)成為我們飛翔的翅膀[J].河北教育(綜合版),2018(09):46.

[14]孫朝云,張羽.基于B/S結(jié)構(gòu)博客論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).計(jì)算機(jī)應(yīng)用與軟件,2018,29(3):183-186.

[15]李海海.基于Spring框架的博客論壇系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).湖南大學(xué),2018.

[16]MartinM,LamMS.AutomaticGenerationofXSSandSQLInjectionAttackswithGoal-directedModelCheckingUsenixSecuritySymposium,July28-August1,2008,SanJose,Ca,Usa.2018:31-44.

[17]BeckK,GammaE.Test-infected:programmerslovewritingtestsMoreJavagems.CambridgeUniversityPress,2018:357-376.

[18]GuptaP,GovilMC.SpringWebMVCFrameworkforrapidopensourceJ2EEapplicationdevelopment:acasestudy.InternationalJournalofEngineeringScience&Technology,2018,2(6).

[18]BruceRich;TheoderJ.Shrader;AthonyJ.Nadalin,JavaandInternet[J].IntelligentInformation Management.,2018,(10):210-230

[19]ElizabethAWilliamson,DavidKHarrison,MikeJordan.Informationsystemsdevelopmentwithinsupplychainmanagement[J].InternationalJournalofInformationManagement,2018,(5):25-32.

[20]MattBishop.Trendsinacademicresearch:vulnerabilitiesanalysisandintrusiondetection[J]. Computers&Security,2018,(7)56-78.

致謝

本次設(shè)計(jì)歷時(shí)3個(gè)月。在這個(gè)畢業(yè)設(shè)計(jì)中,它離不開(kāi)指導(dǎo)教師的指導(dǎo),使事情基本順利。指導(dǎo)老師無(wú)論是在畢業(yè)設(shè)計(jì)歷經(jīng)中,還是在論文做完中都給了了我特別大的助益。另1個(gè)方面,教師認(rèn)真負(fù)責(zé)的工作姿態(tài),謹(jǐn)慎的教學(xué)精神厚重的理論水準(zhǔn)都使我獲益匪淺。他勤懇謹(jǐn)慎的教學(xué)育人學(xué)習(xí)姿態(tài)也給我留下了特別特別深的感覺(jué)。我從老師那里學(xué)到了很多東西。在理論和實(shí)踐中,我的技能得到了特別大的提高。在此,特向教師表示由衷的感激。

經(jīng)過(guò)對(duì)該畢業(yè)設(shè)計(jì)的全部研究和開(kāi)發(fā),我的系統(tǒng)研發(fā)經(jīng)歷了從需求分析到實(shí)現(xiàn)詳細(xì)功能,再到最終測(cè)試和維護(hù)的特殊進(jìn)展。讓我對(duì)系統(tǒng)研發(fā)有了更深層次的認(rèn)識(shí)。如今我的動(dòng)手本領(lǐng)單獨(dú)處理疑惑的本領(lǐng)也獲取到了特別大的演練學(xué)習(xí)增多,這是這次畢業(yè)設(shè)計(jì)最好的收獲。

最后,在整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程中,我周圍的同學(xué)和朋友給了我很多意見(jiàn),所以我很快就確認(rèn)了系統(tǒng)的商業(yè)思想。在次,我由衷的向他們表示感激。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-782097.html

免費(fèi)領(lǐng)取項(xiàng)目源碼,請(qǐng)關(guān)注?點(diǎn)贊收藏并私信博主,謝謝-

到了這里,關(guān)于基于springboot的多租戶博客網(wǎng)站--80600(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ASP.NET Core Web API下基于Keycloak的多租戶用戶授權(quán)的實(shí)現(xiàn)

    ASP.NET Core Web API下基于Keycloak的多租戶用戶授權(quán)的實(shí)現(xiàn)

    在上文《Keycloak中授權(quán)的實(shí)現(xiàn)》中,以一個(gè)實(shí)際案例介紹了Keycloak中用戶授權(quán)的設(shè)置方法?,F(xiàn)在回顧一下這個(gè)案例: 服務(wù)供應(yīng)商(Service Provider)發(fā)布/WeatherForecast API供外部訪問(wèn) 在企業(yè)應(yīng)用(Client)里有三個(gè)用戶:super,daxnet,nobody 在企業(yè)應(yīng)用里有兩個(gè)用戶組:administrators,u

    2024年04月22日
    瀏覽(39)
  • 基于移動(dòng)端/SpringBoot的團(tuán)購(gòu)網(wǎng)站+26449(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案

    基于移動(dòng)端/SpringBoot的團(tuán)購(gòu)網(wǎng)站+26449(免費(fèi)領(lǐng)源碼)可做計(jì)算機(jī)畢業(yè)設(shè)計(jì)JAVA、PHP、爬蟲(chóng)、APP、小程序、C#、C++、python、數(shù)據(jù)可視化、大數(shù)據(jù)、全套文案

    目 ?錄 摘要 1 緒論 1.1 選題背景 1.2 選題目的及意義 1.3 springboot框架介紹 2 ? 基于移動(dòng)端的團(tuán)購(gòu)網(wǎng)站 系統(tǒng)分析 2.1 可行性分析 2.2 系統(tǒng)流程分析 2.2.1 數(shù)據(jù)流程 3.3.2 業(yè)務(wù)流程 2.3 系統(tǒng)功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系統(tǒng)用例分析 2.5 本章小結(jié) 3 基于移動(dòng)端的團(tuán)購(gòu)

    2024年01月24日
    瀏覽(23)
  • 個(gè)人博客系統(tǒng)|基于Springboot的個(gè)人博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(源碼+數(shù)據(jù)庫(kù)+文檔)

    個(gè)人博客系統(tǒng)|基于Springboot的個(gè)人博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(源碼+數(shù)據(jù)庫(kù)+文檔)

    個(gè)人博客系統(tǒng)目錄 目錄 基于Springboot的個(gè)人博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 一、前言 二、系統(tǒng)功能設(shè)計(jì) ?三、系統(tǒng)實(shí)現(xiàn) 1、管理員功能實(shí)現(xiàn) (1)用戶管理 (2)文章分類管理 (3)公告信息管理 (4)博主信息管理 2、博主功能實(shí)現(xiàn) (1)博主文章管理 3、用戶功能實(shí)現(xiàn) (1)博主文章信

    2024年04月13日
    瀏覽(31)
  • 10分鐘搭建一個(gè)免費(fèi)個(gè)人博客網(wǎng)站

    10分鐘搭建一個(gè)免費(fèi)個(gè)人博客網(wǎng)站

    準(zhǔn)備工作 有Gitee賬號(hào) 有安裝git 會(huì) markdown 編寫(xiě)文檔 Node.js 版本 = 8.6 博客采用VuePress搭建,Gitee部署,接下來(lái),5步搞定。 1.創(chuàng)建項(xiàng)目 創(chuàng)建項(xiàng)目目錄,并初始化項(xiàng)目,安裝VuePress 2. 創(chuàng)建目錄結(jié)構(gòu) 3.完成基礎(chǔ)配置 配置主題,定義自己的導(dǎo)航欄 配置首頁(yè) 在 myblog/package.json 中添加一些

    2024年02月09日
    瀏覽(96)
  • Hexo+GithubPages免費(fèi)搭建個(gè)人博客網(wǎng)站

    Hexo+GithubPages免費(fèi)搭建個(gè)人博客網(wǎng)站

    一、前言 二、Github配置 新建同名倉(cāng)庫(kù) 配置Pages 三、安裝Hexo 四、配置hexo-deployer-git 五、訪問(wèn) 六、發(fā)布文章 七、安裝主題 我之前開(kāi)了好幾年的云服務(wù)器了,實(shí)際上使用場(chǎng)景并不是很多,感覺(jué)有點(diǎn)浪費(fèi)。前兩個(gè)月都給關(guān)掉了,現(xiàn)在呢琢磨著弄一個(gè)免費(fèi)的云服務(wù)搭建個(gè)人博客。

    2024年02月13日
    瀏覽(38)
  • 基于springboot博客論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(源碼+文檔LW+數(shù)據(jù)庫(kù)+報(bào)告)

    基于springboot博客論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(源碼+文檔LW+數(shù)據(jù)庫(kù)+報(bào)告)

    HBLOG 是一個(gè)博客論壇網(wǎng)站,分為游客端和管理員端。游客端主要有注冊(cè)登錄,查看文章,發(fā)表撰寫(xiě)文章,管理自己的文章,評(píng)論文章等功能;而管理員端主要有登錄,查看近期數(shù)據(jù),查看日志,類別管理,用戶、鏈接、文章增刪查改的功能。 主要針對(duì)博客論壇的管理員對(duì)論壇

    2024年02月13日
    瀏覽(25)
  • 基于springboot留守兒童愛(ài)心網(wǎng)站源碼和論文

    基于springboot留守兒童愛(ài)心網(wǎng)站源碼和論文

    隨著 留守兒童愛(ài)心管理 的不斷發(fā)展, 留守兒童愛(ài)心網(wǎng)站 在現(xiàn)實(shí)生活中的使用和普及, 留守兒童愛(ài)心 管理成為近年內(nèi)出現(xiàn)的一個(gè)熱門(mén)話題,并且能夠成為大眾廣為認(rèn)可和接受的行為和選擇。 設(shè)計(jì)留守兒童愛(ài)心網(wǎng)站的目的就是借助計(jì)算機(jī)讓復(fù)雜的管理操作變簡(jiǎn)單,變高效。

    2024年01月25日
    瀏覽(13)
  • 免費(fèi)搭建個(gè)人博客:零成本實(shí)現(xiàn)網(wǎng)站發(fā)布,無(wú)需域名和服務(wù)器

    免費(fèi)搭建個(gè)人博客:零成本實(shí)現(xiàn)網(wǎng)站發(fā)布,無(wú)需域名和服務(wù)器

    估計(jì)每個(gè)開(kāi)發(fā)者想擁有屬于自己的個(gè)性化博客網(wǎng)站,但卻擔(dān)心域名和服務(wù)器費(fèi)用 還有那些頭痛的服務(wù)器費(fèi)配置,現(xiàn)在我們可以可以在幾分鐘內(nèi)擁有的博客網(wǎng)站,并且無(wú)需支付任何域名和服務(wù)器費(fèi)用 本文推薦的建站方案核心就是:hugo ?Hugo,一個(gè)快速、簡(jiǎn)單且功能強(qiáng)大的靜態(tài)網(wǎng)站生

    2024年04月26日
    瀏覽(30)
  • 對(duì)象存儲(chǔ)的多租戶實(shí)現(xiàn)思路

    SaaS軟件下的租戶如要存儲(chǔ)圖片、視頻、office文檔等文件,這些文件的存儲(chǔ)及訪問(wèn)都需要支付不小的費(fèi)用,有必要對(duì)租戶作出限制,實(shí)現(xiàn)按使用量付費(fèi)。 本文提出一種方案,該方案基于現(xiàn)有各廠商的對(duì)象存儲(chǔ),可以實(shí)現(xiàn)對(duì)象存儲(chǔ)的多租戶模式。對(duì)租戶的限制包括存儲(chǔ)空間和流

    2024年02月04日
    瀏覽(18)
  • SpringBoot 博客網(wǎng)站

    SpringBoot 博客網(wǎng)站

    SpringBoot 博客網(wǎng)站 系統(tǒng)功能 登錄注冊(cè) 博客列表展示 搜索 分類 個(gè)人中心 文章分類管理 我的文章管理 發(fā)布文章 開(kāi)發(fā)環(huán)境和技術(shù) 開(kāi)發(fā)語(yǔ)言:Java 使用框架: SpringBoot + jpa + H2 Spring Boot是一個(gè)用于構(gòu)建Java應(yīng)用程序的開(kāi)源框架,它是Spring框架的一個(gè)擴(kuò)展,旨在簡(jiǎn)化和加速Spring應(yīng)用程

    2024年02月10日
    瀏覽(15)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包