日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

基于SSM框架的BS微博系统的设计与实现

發(fā)布時間:2023/12/10 windows 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于SSM框架的BS微博系统的设计与实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
源碼及論文下載: http://www.byamd.xyz/tag/java/

第一章 緒 論

時至今日,網(wǎng)絡(luò)對于現(xiàn)代人來說,早已成為人類科技發(fā)展進步的橋梁,而通過網(wǎng)絡(luò)衍生出的一系列產(chǎn)品也不斷的沖擊著人們的日常生活,截至2016年年底,我國網(wǎng)名數(shù)量達到7億,有超多一半多人在使用網(wǎng)絡(luò),而它天涯咫尺的作用,不但消除了人與人地域上的距離,更是拉近了心靈的距離,溝通與互動變的異常頻繁與重要。

隨著互聯(lián)網(wǎng)新時代的來臨,微博借著互聯(lián)網(wǎng)的橋梁,逐漸進入網(wǎng)名的視野中,沒有博客的長篇大論,也不需要嚴謹?shù)倪壿媽哟?#xff0c;這使得網(wǎng)絡(luò)中一大批的原創(chuàng)文章被生產(chǎn)發(fā)掘,短短幾句話便可以在網(wǎng)絡(luò)中激起千層浪,普通人也可能在一夜之間成為擁有數(shù)千萬粉絲的“網(wǎng)紅”。微博的便捷、原創(chuàng)、和草根性使它成為中國網(wǎng)民茶余飯后的網(wǎng)上生活。

早在2006年3月,Obvious推出了Twitter服務(wù),這個世界上最早同時也是最著名的微博系統(tǒng),而在那是,微博也僅僅只是為了給好友發(fā)送手機短信,在中國,飯否網(wǎng)的上線標志中國微博的開端,之后騰訊滔滔、嘰歪、嘀咕等微博的開荒者終究也都沒能站在最后。

2010年,我國的微博得到迅速發(fā)展,這一年,無論微博的用戶還是影響力都達到前所未有的高度,以新浪門戶為首的騰訊、新浪、搜狐等微博展現(xiàn)出全新的活力。到了2013年6月,中國微博用戶規(guī)模高達3.31億人,在微博中流動的信息有超過2億多條。

2010年11月,新浪微博推出群組功能,這個功能不但可以與好友實時聯(lián)系,又可以隨時發(fā)布最新信息,2012年添加新功能“悄悄關(guān)注”,在用戶關(guān)注后不通知被關(guān)注用戶,也不顯示給被關(guān)注用戶,2013年,微博推出包括iPhone和Android的移動客戶端,新增“密友”功能,同年10月份新浪微博“粉絲服務(wù)平臺”上線,粉絲服務(wù)平臺幫助認證用戶為訂閱自己的用戶提供精彩內(nèi)容和互動服務(wù),自此微博由“營銷”向“營銷+服務(wù)”轉(zhuǎn)型!而新浪微博依舊延續(xù)這自己的名人效應(yīng),一個普通賬號,在沒有粉絲關(guān)注的情況下,發(fā)布的微博卻很難被他人看到,如果需要在微博中求助,沒有“名人大V”的幫助,很難被別人所注意到。想要在微博中尋求幫助,就需要微博提供更多的服務(wù)。而本系統(tǒng)通過使用積分懸賞功能使得用戶可以通過積分懸賞自己的問題,來讓更多的用戶回答自己的問題,得到更多人的幫助。

第二章 相關(guān)技術(shù)介紹

2.1 架構(gòu)概述

B/S架構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式):是一種通過將瀏覽器作為客戶端的網(wǎng)絡(luò)結(jié)構(gòu)模式,利用已經(jīng)逐步成熟的web瀏覽器技術(shù),結(jié)合瀏覽器的多種功能,使用瀏覽器來作為早先C/S(Client/Serve)架構(gòu)下復(fù)雜的客戶端,使用C/S架構(gòu)使得用戶的客戶端得到統(tǒng)一,將軟件系統(tǒng)的核心功能集中在服務(wù)器端,系統(tǒng)的升級和維護更加簡單,開發(fā)人員只需要管理服務(wù)器就可以做到對如軟件系統(tǒng)的更新和維護,B/S架構(gòu)所帶來的眾多優(yōu)點使得它成為將來信息化發(fā)展的主流方向。

**MVC模式:**即模型(Model),視圖(View),控制器(Controller)是一種軟件開發(fā)的設(shè)計模式,Model主要負責(zé)分離出來的業(yè)務(wù)邏輯的數(shù)據(jù)交互,View主要負責(zé)數(shù)據(jù)的提交和展示,Controller主要負責(zé)獲取請求和請求的轉(zhuǎn)發(fā)。

**SSM框架(SpringMVC+Spring+Mybatis):**由這三個開源框架組成的web項目的框架,是標準的MVC模式,spring MVC負責(zé)請求的轉(zhuǎn)發(fā)和視圖管理,spring實現(xiàn)業(yè)務(wù)對象管理和事務(wù)控制,mybatis作為持久化引擎,相對于早先流行的SSH(Struts+Spring+Hibernate)框架來說,SSM作為輕量級框架更適合開發(fā)中小型項目。

2.2 關(guān)鍵技術(shù)簡介

前端技術(shù)

  • **JSP(Java Server Pages):**嵌入了java代碼的html頁面,本質(zhì)是一個servlet,它實現(xiàn)了在htmld的語法中擴展java代碼,使用<% %>格式。
  • **JavaScript:**是一種弱類型的腳本語言,由ECMAScript描述JavaScript的基本對象和語法,文檔對象模型(DOM),瀏覽器對象模型(BOM)三部分組成。
  • **Ajax(Asynchronous Javascript And XML):**異步的JavaScript和XML,實現(xiàn)前后臺之間的異步交互,在不需要重新加載整個頁面的前提下對頁面上的部分內(nèi)容做局部刷新。

后臺技術(shù)

**java:**一種面向?qū)ο蟮木幊陶Z言,主要特性包括有

  • 簡單性:拋棄了C++中復(fù)雜的語法和指針多繼承等特征,開發(fā)人員不需要關(guān)注底層優(yōu)化,只需要關(guān)注業(yè)務(wù)邏輯就行
  • 面向?qū)ο笮?#xff0c;對程序員而言,只需要注意對應(yīng)的數(shù)據(jù)和處理數(shù)據(jù)的方法,不用嚴格按照過程的方式來編寫代碼,因為java語言是面對對象的,因此也擁有面向?qū)ο蟮娜筇卣?#xff0c;繼承、封裝和多態(tài)
  • 跨平臺性,java語言的跨平臺性也就是JVM(java虛擬機)的跨平臺性。Java文件編譯后不會直接生成機器直接運行的二進制文件,而是編譯成class文件,JVM會將編譯的class文件根據(jù)不同操作系統(tǒng)下的JVM來生成對應(yīng)系統(tǒng)的二進制文件,只需要編譯一次,就可以在不同的平臺上運行

**SpringMVC:**是Spring框架提供的一個模塊,通過實現(xiàn)MVC模式來地將數(shù)據(jù)、業(yè)務(wù)與展示進行分離,簡化了Web開發(fā)。和其他MVC框架一樣都是請求驅(qū)動,控制轉(zhuǎn)發(fā),它的核心Servlet是DispatcherServlet,即前端控制器,用來分發(fā)請求到控制器,它和Spring框架完全整合。這也使得SpringMVC成為目前非常流行的MVC框架。

**Spring:**一款輕量級java開發(fā)框架,Spring框架有著分層的體系結(jié)構(gòu),因此可以使用Spring中 獨立的任意部分。而它的架構(gòu)依舊是內(nèi)在穩(wěn)定的,Spring提供了J2EE應(yīng)用各層解決方案,貫穿于三層架構(gòu)的每一層,但Spring依舊可以很好的兼容其他框架,本項目主要用到了Spring中IOC(控制反轉(zhuǎn))和AOP(面向切面編程)模塊。

**Mybatis:**是一個簡化Java持久化層的輕量級開源框架。并且支持注解的Mapper,Mybatis消除了絕大部分的JDBC代碼,使得java對象持久化到數(shù)據(jù)庫的過程變的更加容易,相對于其他的java持久化框架,Mybatis的優(yōu)點在于,消除了大量的JDBC冗余代碼、簡單易學(xué)、可見的Sql語句、提供了于Spring的整合,引入更好的性能。

2.3 開發(fā)工具

**Tomcat服務(wù)器:**是一個Web應(yīng)用服務(wù)器,它是輕量且開源的,是中小型Web項目和開發(fā)調(diào)試和學(xué)習(xí)的首選。

**Oracle數(shù)據(jù)庫(Oracle Database):**是由Oracle公司開發(fā)的一款關(guān)系型數(shù)據(jù)庫,是商業(yè)運用第一的關(guān)系型數(shù)據(jù)庫,系統(tǒng)使用方便,功能強大,可移植性強。適用于各種大中小環(huán)境,在大數(shù)據(jù)時代,作為分布式數(shù)據(jù)庫,它實現(xiàn)了分布式處理的功能,具有完整的數(shù)據(jù)管理功能、完備的關(guān)系型數(shù)據(jù)庫、分布式處理功能。

**Eclipse開發(fā)工具:**一個基于java開源的可擴展開發(fā)平臺,它不但包括java集成開發(fā)環(huán)境,還包括插件開發(fā)環(huán)境,如SVN、CVS等團隊開發(fā)插件。

2.4 本章小結(jié)

本章主要介紹了開發(fā)項目用到的一些主要技術(shù),項目所使用的架構(gòu)和設(shè)計模式,項目中所使用到的主要框架技術(shù),項目在瀏覽器端展示用到的前端技術(shù)和展示方式,后臺代碼使用的開發(fā)語言,使用的服務(wù)器技術(shù),數(shù)據(jù)持久層所使用的數(shù)據(jù)庫等,在本章最后又介紹了開發(fā)使用到的開發(fā)工具。

第三章 系統(tǒng)需求分析

3.1 可行性分析

3.1.1技術(shù)可行性

在已有技術(shù)方面,為了統(tǒng)一客戶端,消除因版本升級和維護帶來的復(fù)雜性,因此采用成熟的B/S架構(gòu)在項目的實現(xiàn)上完全可行,在開發(fā)語言和框架方面,java和j2ee體系的強大,可以讓開發(fā)人員精心的構(gòu)建web項目,以及一系列的開源框架,都為項目的可行性提供了強大的依據(jù),在服務(wù)器方面,使用開源服務(wù)器Tomcat,足以支持該小型項目的正常使用,而不斷發(fā)展的前端技術(shù)和前端框架可以制作精美的前臺頁面,提高用戶的體驗和交互,這在項目的頁面展示技術(shù)上完全可行,強大的關(guān)系型數(shù)據(jù)庫為項目數(shù)據(jù)的持久化提供強有力的后援。綜上所述,日趨成熟化的java和j2ee體系、完全開源的java框架和服務(wù)器、功能強大的關(guān)系型數(shù)據(jù)庫、運用Web前端技術(shù)提供用戶交互頁面,所以該項目在技術(shù)方面完全可行。

3.1.2 經(jīng)濟可行性

在互聯(lián)網(wǎng)發(fā)展到信息時代的今天,單一獲取信息的方式已經(jīng)不能滿足人們,人們每天接觸的信息越來越多,而獲取信息的形式也越來越多,但大多數(shù)獲取信息的方式,留給用戶交互的方式并不多,大都數(shù)情況下,人們只能被動獲取,而很難找到自己的喜好和需求來獲取信息,而本微博項目可以讓人們獲取實時熱點信息和他們所關(guān)注的信息,實時與微博信息交互。而使用大量成熟技術(shù)與開源框架下,也使得小項目的開發(fā)更加簡單,經(jīng)濟,高效,因微博而興起的微博效應(yīng)也能帶來一定的經(jīng)濟效益。

3.1.3 操作可行性

微博系統(tǒng)使用B/S架構(gòu),用戶不需要下載客戶端,只需要用戶有瀏覽器,就可以在瀏覽器上登陸微博系統(tǒng),微博系統(tǒng)的界面顏值高,用戶交互性高,用戶操作簡單方便,只需要了解基本的計算機操作就能使用,用戶體驗性高。因此在系統(tǒng)操作上完全可行。

3.2 需求分析

3.2.1 系統(tǒng)總體需求

該微博系統(tǒng)主要由前臺用戶模塊后臺管理模塊組成,當用戶進入首頁時可以選擇登陸或不登陸,登陸時可以使用已有賬號登陸或注冊新賬號。用戶未登陸時,在首頁顯示最近更新的熱門微博,而登陸后的用戶可以在首頁看到 自己關(guān)注用戶最近更新的微博。

未登陸用戶只能搜索查看微博信息和訪問用戶主頁,登陸用戶可以登陸系統(tǒng)后修改自己的基本信息例如簽名、性別等,在驗證用戶信息后還可以修改密碼和密保信息。以及修改用戶頭像和密碼,編輯自己的個人主頁,對微博進行點贊、評論、收藏等功能,還可以關(guān)注/取消關(guān)注用戶,拉黑用戶、私聊用戶等操作。

后臺管理員可以查看系統(tǒng)所有的數(shù)據(jù),包括用戶、微博、評論、海螺、回答的總量,最近一個的數(shù)據(jù)庫,最近一周的數(shù)據(jù)量。具體所具有的功能包括管理不良微博信息與不良賬號,對微博、微博評論、海螺、回答等信息的刪除和恢復(fù)功能,對不良賬號的封禁等操作。

**微博查找模塊:**用戶可以輸入關(guān)鍵字來查找相對應(yīng)的微博或查找用戶。

**微博發(fā)布模塊:**用戶點擊發(fā)布,在內(nèi)容中添加自己想要發(fā)送的內(nèi)容,可以選擇表情,也可以插入圖片,但對輸入字符數(shù)有著限制,同時還可以插入一張圖片。

**微博評論模塊:**用戶可以查看微博的評論,發(fā)布微博評論等。

**神奇海螺模塊:**用戶可以發(fā)布一個神奇海螺,海螺主要用來記載用戶提出的各種問題,由其他用戶來查看并回答問題,當回復(fù)者的答案被提問者采納后,回答者可以增加自己的海螺積分,不同的海螺積分有著不同的海螺稱號。

**積分模塊:**用戶每天登陸,發(fā)微博,做任務(wù)等方式可以增加自己的積分,不同的積分擁有不同的稱號,神奇海螺模塊的積分有著不同的稱號,稱號顯示在用戶名稱的后面。

**好友模塊:**用戶可以查看系統(tǒng)中其他的用戶,找到自己喜愛的用戶然后關(guān)注他們,關(guān)注后可以在好友模塊中查看自己關(guān)注的用戶,以及好友最近發(fā)布的微博等信息,也可以私信好友,發(fā)送私信信息給好友。

3.2.2 用例圖需求

1. 當用戶進入系統(tǒng)時候,可以選擇登陸或注冊用戶,如果忘記了密碼還可以通過密保問題來重置密碼。

2. 當用戶登陸后,可以管理用戶的個人基本信息,修改用戶基礎(chǔ)信息,修改用戶密保信息。修改用戶頭像等功能。

3. 用戶微博管理系統(tǒng),當用戶登陸進去系統(tǒng)時,可以在首頁發(fā)布微博,通過關(guān)鍵字搜索微博內(nèi)容中關(guān)鍵字的微博信息。產(chǎn)看微博,包括查看個人微博、好友微博、推薦微博。

4. 評論管理,評論管理依賴于微博模塊,用戶可以查看微博的評論,對微博信息發(fā)布評論,以及刪除自己的評論。

5. 海螺管理,用戶登陸后可以在海螺模塊發(fā)布海螺問題,發(fā)布問題時可以選擇懸賞的積分數(shù)目,同時減少自己的積分數(shù),用戶可以參加回答他人的海螺問題,當回答的答案被采納時,就可以獲得用戶懸賞的積分數(shù)。

6. 好友管理,當用戶登陸時可以關(guān)注系統(tǒng)推薦好友,也可以自己搜索用戶,查看用戶的主頁面,添加關(guān)注或取消關(guān)注用戶,還可以給用戶發(fā)送私人信息,或者拉黑用戶。

7. 消息通知,當用戶的關(guān)注,微博評論,點贊,收藏時調(diào)用消息通知。

8. 管理員:管理員登陸系統(tǒng),可以管理微博用戶,對不良用戶進行封禁和注銷賬戶的操作,也可以恢復(fù)用戶的狀態(tài),同時也可以對微博信息進行管理,如刪除微博,恢復(fù)被管理員刪除的微博信息等,對微博評論的刪除和恢復(fù)等操作。

第四章 系統(tǒng)功能設(shè)計

4.1 系統(tǒng)類分析

4.1.1 實體類

實體類主要用來傳遞數(shù)據(jù),主要包括User、Friend、PointAction、PointRecord、Weibo、WeiboCollect、WeiboComm、WeiboLike、WeiboTrans等,用戶類中包括用戶的基本信息,微博類中包括微博的基本信息同時包含實體用戶類,好友類包括好友編號,好友創(chuàng)建時間與關(guān)注雙方的用戶類等,私信類包含私信雙方的用戶類與私信的基本屬性,微博收藏類包含收藏的微博類與用戶id等收藏屬性,微博評論類包含微博類和用戶類以及評論內(nèi)容等屬性,微博轉(zhuǎn)發(fā)類包含用戶類和微博類以及轉(zhuǎn)發(fā)時間等屬性,微博點贊類包含微博類和用戶類以及點贊時間等屬性。實體類之間的類關(guān)聯(lián)關(guān)系如圖所示。

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-nPY3hm8e-1612609849775)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5Ce43bee119326f13b8f48889550633ac0.png)]

4.1.2 控制器類

在controller層包含MainController、WeiboController、FrendController、AdminController四個JAVA類,在SpringMVC框架中主要用來接收瀏覽發(fā)送給服務(wù)器的請求和數(shù)據(jù)處理并控制請求的轉(zhuǎn)發(fā),將從Service層中獲取的數(shù)據(jù)響應(yīng)給瀏覽器端。MainController主要用發(fā)來接收來自用戶相關(guān)頁面中提交的表單或鏈接請求,并將請求的參數(shù)傳遞到Controller中對應(yīng)的方法中,攜帶數(shù)據(jù)響應(yīng)給瀏覽器,在瀏覽器端顯示數(shù)據(jù),具體屬性和方法如圖所示。

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-pHxEJV4U-1612609849779)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C42830ce033c50721bb707753439780d6.png)]

WeiboController主要用發(fā)來接收來自微博相關(guān)頁面中提交的表單或鏈接請求,并將請求的參數(shù)傳遞到Controller中對應(yīng)的方法中,并獲取到業(yè)務(wù)處理層中返回的數(shù)據(jù),攜帶數(shù)據(jù)響應(yīng)給瀏覽器,在瀏覽器端顯示數(shù)據(jù),具體屬性和方法如圖4所示。

FriendController主要用發(fā)來接收來自好友相關(guān)頁面中提交的表單或鏈接請求,并將請求的參數(shù)傳遞到Controller中對應(yīng)的方法中,并獲取到業(yè)務(wù)處理層層中返回的數(shù)據(jù),攜帶數(shù)據(jù)響應(yīng)給瀏覽器,在瀏覽器端顯示數(shù)據(jù),具體屬性和方法如圖所示。

AdminController主要用發(fā)來接收來自管理員相關(guān)頁面中提交的表單或鏈接請求,并將請求的參數(shù)傳遞到Controller中對應(yīng)的方法中,并獲取到業(yè)務(wù)處理層層中返回的數(shù)據(jù),攜帶數(shù)據(jù)響應(yīng)給瀏覽器,在瀏覽器端顯示數(shù)據(jù),具體屬性和方法如圖所示。

4.1.3 業(yè)務(wù)邏輯類

在Service層中主要包含四個Service接口和他們的實現(xiàn)類,包括IUserService用來處理用戶業(yè)務(wù)例如用戶注冊、登陸、修改個人信息等,如圖4.6所示。IWeiboService用來處理微博相關(guān)的業(yè)務(wù)例如查找微博,發(fā)布微博,刪除微博以及對微博的相關(guān)操作例如點贊、評論等功能的業(yè)務(wù)實現(xiàn),如圖4.7所示。IFriendService用來處理和用戶好友相關(guān)的業(yè)務(wù)例如點贊、取消點贊、私信、拉黑等功能的業(yè)務(wù)實現(xiàn),如圖4.8所示。IAdmoinService用來處理和管理員相關(guān)的業(yè)務(wù)例如管理員登陸、圖表展示、用戶管理、微博管理、海螺管理功能的業(yè)務(wù)實現(xiàn),如圖4.8所示。

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-pw1AXwVk-1612609849792)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C704a6a3d67d35fd625557518f55b2f16.png)]

圖4.6用戶業(yè)務(wù)處理類圖

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-y78p1VNb-1612609849794)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C85b29da71ad0f4b22e30855bc596b0db.png)]

圖4.7微博業(yè)務(wù)處理類圖

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-7iZGtak2-1612609849799)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C19977a5b1384fe7d180d242be7f66346.png)]

圖4.8微博控制器類圖

4.1.4 數(shù)據(jù)庫交互類

由于系統(tǒng)采用了MyBatis持久化框架,開發(fā)人員不需要關(guān)注和數(shù)據(jù)庫之間具體的JDBC代碼,而只需要處理業(yè)務(wù)邏輯,因此只需要在Dao層接口中聲明方法而不需要寫接口的實現(xiàn)類來實現(xiàn)方法,則是通過配置對應(yīng)的配置文件,在配置文件中編寫對應(yīng)接口方法中的SQL語句和數(shù)據(jù)庫交互。

4.2 關(guān)鍵業(yè)務(wù)設(shè)計

4.2.1 登陸系統(tǒng)

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ZB7k0d6m-1612609849801)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C87419f8e59c7bf29568cf25cd3e7860c.jpg)]

圖4.9系統(tǒng)登錄順序圖

用戶進入主頁后,可以在左邊選擇注冊用戶,或者在右邊登陸系統(tǒng),在注冊模塊,用戶輸入用戶郵箱,密碼,昵稱等信息,當用戶輸入郵箱后會通過Ajax將用戶輸入的郵箱傳到后臺,查找用戶郵箱是否已經(jīng)被注冊,如果被注冊則在頁面提示用戶該郵箱已被注冊,在輸入基本信息點擊注冊后,保存用戶注冊信息。

**登陸功能:**當用戶輸入郵箱地址和密碼后,如果點擊下次自動登陸密碼在點擊登陸后,判斷用戶的當前登陸時間和上次登陸時間是否為同一天,如果不是同一天則為用戶增加登陸的 積分,然后跳轉(zhuǎn)至微博首頁。

4.2.1 用戶信息系統(tǒng)

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-yFAdrHEE-1612609849803)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5Ce791fe0e70d39475446a79dd88e628c4.jpg)]

圖4.10用戶修改信息順序圖

**用戶基本信息:**在系統(tǒng)的首頁中點擊個人賬號設(shè)置后,跳轉(zhuǎn)到修改用戶基本信息頁面,用戶可以修改這些基本信息,并將修改后的信息保存在數(shù)據(jù)庫中。

**修改密碼:**在用戶個人資料頁面點擊修改密碼,跳轉(zhuǎn)修改密碼頁面,用戶可以輸入用戶的當前密碼,系統(tǒng)判斷密碼是否正確,如果密碼不正確,顯示當面密碼錯誤,如果輸入密碼正確,用戶則可以輸入新密碼,點擊修改后將修改后的密碼更新到數(shù)據(jù)庫中。

**修改用戶頭像:**點擊用戶個人資料中修改頭像,跳轉(zhuǎn)至修改頭像頁面,用戶選擇頭像文件,點擊上傳,將用戶頭像保存在服務(wù)器上,判斷用戶之前頭像是為系統(tǒng)默認頭像,如果不是就刪除用戶之前的頭像圖片,點擊修改后將修改后的頭像地址保存在數(shù)據(jù)庫中。

**修改密保:**用戶先要根據(jù)之前設(shè)置的密保問題來填寫答案,如果密保答案錯誤,提示用戶密保答案錯誤,如果密保答案正確,用戶可以輸入新的密保問題和密保答案,點擊修改保存用戶新的密保問題和答案。

4.2.2微博模塊

圖4.11系統(tǒng)登錄順序圖

**發(fā)布微博:**用戶可以在首頁發(fā)布微博,在微博信息中可以插入表情,也可以選擇插入一張圖片,當用戶點擊發(fā)布后,瀏覽器發(fā)送請求將前臺頁面表單中微博信息和圖片信息傳入后臺控制器,將圖片信息保存在服務(wù)器中,在數(shù)據(jù)庫中只保存圖片路徑,最后將微博信息保存在數(shù)據(jù)庫中。

**搜索微博:**用戶可以在首頁的搜索框中輸入微博中提到的內(nèi)容來搜索,系統(tǒng)在數(shù)據(jù)庫中通過迷糊查詢查詢相關(guān)的微博信息。在頁面中將搜索到的頁面展示出來,并且將關(guān)鍵字標紅顯示。

**微博操作:**用戶可以查看個人微博、好友微博、收藏微博等信息,對微博的操作有點贊,轉(zhuǎn)發(fā),收藏,評論,刪除等。

4.2.3 好友模塊

**關(guān)注功能:**當用戶登陸系統(tǒng)后可以在頁面右側(cè)的推薦用戶中選擇需要關(guān)注的用戶,或者是通過頁面中的搜索功能來搜索用戶,對搜索到的用戶進行關(guān)注。關(guān)注用戶后個人關(guān)注+1,同時被關(guān)注用戶粉絲數(shù)+1。

**取消關(guān)注:**和關(guān)注功能類型,在導(dǎo)航欄中點擊我的好友,在我的好友首頁中查看我的關(guān)注好友,就能查看到我所關(guān)注的所有好友和好友數(shù)以及他們的個人信息,通過點擊對應(yīng)的取消關(guān)注就可以取消關(guān)注該用戶,取消關(guān)注用戶后個人關(guān)注數(shù)-1,同時被關(guān)注用戶粉絲數(shù)-1。

**拉黑用戶:**即修改好友表中對應(yīng)的記錄狀態(tài),被拉黑用戶所發(fā)布的私信和微博信息不會被拉黑用戶所看到。

**私信:**可以在頁面的推薦用戶上面查看當前登陸用戶的未查看私信數(shù),未讀私信的數(shù)目通過數(shù)據(jù)庫中對所有接收者為當前登陸用戶的所有私信信息,且信息狀態(tài)為未閱讀的私信,將得到的數(shù)值展示在前臺頁面中顯示。

**發(fā)送私信:**用戶先選擇要發(fā)送的用戶,輸入需要發(fā)送的私信信息,可以在私信中插入表情,點擊發(fā)送后會將私信信息發(fā)送給對應(yīng)用戶。同時增加提示該用戶的未讀私信數(shù)。

**搜索用戶:**在搜索用戶頁面中,用戶可以輸入用戶昵稱的關(guān)鍵字來模糊查詢相關(guān)用戶,并將查詢到的用戶展示在頁面中,同時將用戶輸入的關(guān)鍵字標紅顯示。

**用戶主頁面:**在頁面中,點擊任意一個用戶的名稱或頭像都會跳轉(zhuǎn)至對應(yīng)用戶的個人主頁,用戶的個人主頁顯示用戶的個人信息和用戶最近發(fā)布的微博,按照時間倒序排列,用戶也可以對微博的點贊、轉(zhuǎn)發(fā)、評論、收藏做操作。

4.2.4 海螺模塊

**發(fā)布:**用戶通過點擊導(dǎo)航欄中的神奇海螺進入海螺主頁,在海螺頁面的上面是發(fā)布海螺的問題框,下面的可以插入的表情按鈕和問題的懸賞積分數(shù),中間的導(dǎo)航欄可以選擇查看最新發(fā)布、已解決、待解決、我的海螺不同的篩選條件。

**查看海螺問題:**用戶點擊任意海螺問題,系統(tǒng)跳轉(zhuǎn)到展示海螺的具體信息的頁面,上方展示發(fā)布用戶的用戶名、用戶稱號、發(fā)布日期、海螺問題、懸賞積分、問題的狀態(tài)等,在中間顯示問題的所有回復(fù)信息,回復(fù)人的用戶名、稱號、回答內(nèi)容、回復(fù)日期,是否被采納等。

**回答海螺問題:**在海螺問題詳細詳細信息頁面的底部可以回答海螺問題,在輸入框中輸入回復(fù)的答案,插入表情信息等,點擊回復(fù)后將回復(fù)信息保存在數(shù)據(jù)庫中。

**采納問題答案:**在海螺問題首頁,用戶通過點擊我的海螺問題可以跳轉(zhuǎn)至用戶自己所發(fā)布的海螺問題頁面,在自己所發(fā)布的海螺問題頁面中可以選擇自己認為最正確的答案,點擊采納后修改海螺狀態(tài),被采納的答案變?yōu)椴杉{答案,增加采納者的海螺積分。

4.2.5 后臺管理員模塊

**管理員登陸:**管理員可以通過在登陸頁面中點擊管理員登陸,跳轉(zhuǎn)至管理員登陸頁面。當管理員輸入賬號信息和密碼信息后,如果用戶名和密碼正確就跳轉(zhuǎn)到管理員首頁。如果錯誤則給出提示。

**管理員首頁:**在管理員首頁中上方顯示導(dǎo)航欄,在頁面內(nèi)容方面,通過四張圖表來顯示微博、用戶、評、海螺、評論、回答等的總數(shù)以及當月數(shù),在下方的柱狀圖中則顯示距離今天最近的7天的數(shù)目。

**用戶管理首頁:**在頁面上方顯示導(dǎo)航欄,頁面內(nèi)容中顯示所有用戶的編號、郵箱、昵稱、注冊日期、上次登陸日期以及用戶的狀態(tài),由于考慮到用戶數(shù)量多以以及為了方便查找,因此在頁面中一次顯示10條用戶數(shù)據(jù),同時添加用戶搜索功能,用戶能夠在輸入用戶昵稱的關(guān)鍵字后來搜索用戶,并且支持迷糊查詢。 搜索用戶:在用戶管理頁面輸入用戶昵稱中的關(guān)鍵字來搜索用戶,系統(tǒng)會將獲取到的用戶信息中昵 稱為輸入關(guān)鍵字的那部分顯示為紅色。

**用戶封禁:**管理員可以通過點擊用戶管理頁面操作一欄中的封禁按鈕來對違規(guī)用戶的封禁,管理員可以輸入封禁的天數(shù),那么在這個日期之前,用戶是不能正常登陸的,管理員也可以通過點擊解封來提前解除封禁用戶的操作。

**微博管理首頁:**管理員點擊導(dǎo)航欄中的微博管理,系統(tǒng)會跳轉(zhuǎn)至用戶微博管理頁面,顯示系統(tǒng)中所用是微博信息,管理員也可以通過輸入微博內(nèi)容中的關(guān)鍵字來搜索微博,同時可以刪除有不良信息的微博,或是恢復(fù)以被刪除的微博。

**微博搜索:**管理員可以通過輸入微博內(nèi)容中的關(guān)鍵字來搜索在微博中存在該關(guān)鍵字的微博,搜索到的微博內(nèi)容中的關(guān)鍵字會使用紅色標注出來。

**微博刪除:**在微博管理頁面中,管理員可以根據(jù)微博的內(nèi)容來判斷微博是否違法等信息,如果微博信息中包含不良信息,管理員可以通過操作欄中的刪除按鈕來刪除微博或者可以對已經(jīng)刪除的為微博做恢復(fù)操作。

**海螺管理首頁:**管理員點擊導(dǎo)航欄中的海螺管理可以跳轉(zhuǎn)至海螺管理頁面,在頁面的上方為導(dǎo)航欄,頁面內(nèi)容則顯示所有的海螺信息、海螺搜索框、以及下方的分頁框,海螺信息包括編號、發(fā)布人名稱、海螺的內(nèi)容、發(fā)布日期、海螺狀態(tài)以及可以執(zhí)行的操作。

**海螺搜索:**在海螺管理首頁中,考慮到海螺數(shù)量多不好查找的問題,因此設(shè)置了搜索功能,管理員可以能夠在海螺搜索框中輸入海螺內(nèi)容中的關(guān)鍵字來搜索海螺問題,在展示搜索到的結(jié)果時會將搜索關(guān)鍵字使用紅色標注出來,方便查看。

4.3 數(shù)據(jù)庫設(shè)計

4.3.1 概述

微博系統(tǒng)數(shù)據(jù)庫表主要包括:

  • **1. 用戶表:**用來保存用戶的個人信息,例如編號、昵稱、姓名、密碼。郵箱等信息,以用戶編號作為主鍵,如表4-1
  • **2. 微博關(guān)注表:**用來保存用戶的關(guān)注用戶信息,以關(guān)注ID作為主鍵,如表4-2所示
  • **3. 微博表:**用來保存微博信息,例如微博發(fā)布時間,微博內(nèi)容,微博點贊,轉(zhuǎn)發(fā),收藏數(shù)等,以微博編號作為主鍵,如表4-3所示
  • **4. 微博收藏表:**用來保存用戶收藏的微博信息,如微博編號,收藏時間等,以收藏編號作為主鍵,如表4-4所示
  • **5. 評論表:**保存微博的評論消息,例如評論人編號、評論日期、評論內(nèi)容等,以評論編號作為主鍵,如表4-5所示
  • **6. 積分表:**用來保存用戶獲取積分的方式,例如通過每天的登陸發(fā)布微博等獲取積分,以積分編號作為主鍵, 如表4-6所示
  • **7. 點贊表:**用來保存微博的點贊信息,主要包括點贊人編號,點贊編號,點贊微博編號等信息。以點贊編號作為主鍵,如表4-7所示
  • **8. 積分流水表:**用來保存用戶獲取積分的信息,主要包括積分編號、用戶編號、獲取日期等信息,以積分編號作為主鍵,如表4-8所示
  • **9. 轉(zhuǎn)發(fā)表:**用來保存用戶轉(zhuǎn)發(fā)的信息,主要有轉(zhuǎn)發(fā)編號、轉(zhuǎn)發(fā)人、微博編號等信息,以轉(zhuǎn)發(fā)編號作為主鍵,如表4-9所示

4.3.2 概念設(shè)計

一個用戶可以發(fā)布多條微博,因此用戶表和微博表之間存在一對多的關(guān)系如圖4.12所示。

一條微博可以對應(yīng)多個點贊、轉(zhuǎn)發(fā)、收藏和評論,因此微博表和收藏、點贊、轉(zhuǎn)發(fā)、收藏表之間存在一對多的對應(yīng)關(guān)系,如圖4.13所示。

一個用戶可以發(fā)布多個海螺,每個海螺問題可以對應(yīng)多條評論。如圖4.14所示。

4.3.3 數(shù)據(jù)庫表

  • 用戶表:數(shù)據(jù)庫表名USER_TAB,引用序列名SEQ_USER。
  • 關(guān)注表:數(shù)據(jù)庫表FRIEND_TAB,引用序列名SEQ_FRIEND。
  • 微博表:數(shù)據(jù)庫表名WEIBO_TAB,引用索引名SEQ_WEIBO。
  • [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-f1AUL8M2-1612609849820)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C7542e1611edea5f15b0b4a9b89107903.jpg)]

  • 收藏表:數(shù)據(jù)庫表名COLLECT_TAB,引用索引名SEQ_COLLECT。
  • [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-1btDDO46-1612609849825)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C68df0663c3fb5a3aa28fde3a10fbbf32.jpg)]

  • 評論表:數(shù)據(jù)庫表名COMM_TAB,引用索引名SEQ_COMM。
  • [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-76JvZKuY-1612609849827)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C9ac425515c71cfe10f5ff0083a6cbd4d.jpg)]

  • 積分表:數(shù)據(jù)庫表名INTEGRAL_TAB,引用索引名SEQ_INTEGRAL。
  • [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-P39xadG1-1612609849829)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5Cd108464d1ed1b96b3ffedcbd0c563b53.jpg)]

  • 點贊表:數(shù)據(jù)庫表名LIKE_TAB,引用索引名SEQ_LIKE。
  • 積分流水表:數(shù)據(jù)庫表名RECORD_TAB,引用索引名SEQ_RECORD。
  • [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-B0K3w3Cg-1612609849832)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C926ac9066cf1a4240a32d5cdf5a5b3f4.jpg)]

  • 轉(zhuǎn)發(fā)表:數(shù)據(jù)庫表名TRANS_TAB,引用索引名SEQ_TRANS。
  • 第五章 系統(tǒng)功能實現(xiàn)

    5.1 登陸系統(tǒng)

    在系統(tǒng)登陸注冊頁面當用戶輸入郵箱后會通過Ajax將用戶輸入的郵箱傳到后臺控制器,調(diào)用Service層中對應(yīng)的方法,是Service方法中調(diào)用Dao層接口查找用戶郵箱是否已經(jīng)被注冊,如果被注冊則通過前臺javaScript顯示在頁面提示用戶該郵箱已被注冊,在輸入基本信息點擊注冊后,將會把用戶輸入的注冊信息通過瀏覽器發(fā)送請求到后臺控制器中,控制器控制請求的轉(zhuǎn)發(fā)頁面和將用戶注冊信息傳給Service,在Service中初始化用戶的一些基本信息,例如默認頭像、默認狀態(tài)、初始化用戶積分等操作,組裝用戶數(shù)據(jù)源,調(diào)用Dao層方法保存用戶注冊信息如圖5.1所示。核心代碼如下:

    **登陸功能:**如果點擊下次自動登陸密碼在點擊登陸后,先將用戶名和密碼信息傳遞到Service層做業(yè)務(wù)處理,再調(diào)用Dao層接口判斷郵箱地址和密碼信息是否正確,如果正確并且點擊了下次登陸,就將郵箱名和密碼保存在瀏覽器Cookie中,將登陸用戶保存在Session中,在處理用戶登陸的Service中判斷用戶的當前登陸時間和上次登陸時間是否為同一天,如果不是同一天則為用戶增加登陸的積分,修改用戶數(shù)據(jù)庫中的積分數(shù),然后跳轉(zhuǎn)至微博首頁,如圖5.2所示。核心代碼如下:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Wo4HTrH3-1612609849841)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C3caf2153fe408ca66a4c71ad30ec1fc6.jpg)]

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-NOXWmWIV-1612609849842)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C7698f61251a6a0194a223ad022a9daaf.jpg)]

    5.2 用戶信息系統(tǒng)

    **用戶基本信息:**如圖5.3所示當用戶點擊修改后瀏覽器會提交form表單,發(fā)送請求攜帶用戶基本信息到SpringMVC的控制器中接收請求,并把form表單中的數(shù)據(jù)組裝成User對象,作為參數(shù)傳入Service層中對應(yīng)的方法進行處理,調(diào)用Dao層接口修改用戶的基本信息,并修改當前服務(wù)器中Session中的User對象信息。核心代碼如下:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-V6OZXzTG-1612609849846)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C3f0b6d213fb915a2f86869ff22cad558.jpg)]

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-VpcF3Veu-1612609849849)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C5b54107969ac081b904c6e6f8bbf697d.jpg)]

    **修改密碼:**在用戶個人資料頁面點擊修改密碼,將會跳轉(zhuǎn)至如圖5-4所示的修改密碼頁面,用戶可以輸入用戶的當前密碼,前臺頁面通過Ajax發(fā)送異步請求,后臺控制器接收請求,從數(shù)據(jù)庫中獲取用戶當前密碼是否正確,如果密碼不正確,在前臺頁面中通過javaScript動態(tài)提示給用戶當面密碼錯誤,如果輸入密碼正確,用戶則可以輸入新密碼,確認新密碼,點擊確認修改后瀏覽器提交form表單,將用戶新密碼傳給后臺Service層中對應(yīng)的方法,在Service的方法中調(diào)用Dao層接口更改數(shù)據(jù)庫中的用戶密碼,更改服務(wù)器Session中的用戶信息。核心代碼如下:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-I1gTHbcm-1612609849850)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C0dec3a8a84c45688860dd59aa63e5965.jpg)]

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-oLJ9CBem-1612609849853)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5Cd0dd77d8b83362554fdc8c3ea6585e80.jpg)]

    **修改用戶頭像:**點擊用戶個人資料中修改頭像,將會跳轉(zhuǎn)至如圖5.5所示的修改頭像頁面,用戶選擇頭像文件,點擊上傳,form表單將圖片傳到后臺控制器中,將用戶頭像保存在服務(wù)器上,判斷用戶之前頭像是為系統(tǒng)默認頭像,如果不是就刪除用戶之前的頭像圖片,并將用戶新的頭像地址保存在用戶信息中,傳入Service中調(diào)用Dao層接口修改數(shù)據(jù)庫中用戶的頭像信息。核心代碼如下:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-YNvkc7nE-1612609849855)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C793202a82ae20851ff4ae940e43b85a0.jpg)]

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-PcV6KfPO-1612609849858)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5Cfec3f3655965e9d9a64e50380bb1c380.jpg)]

    **修改密保:**當用戶點擊修改密保頁面時瀏覽器跳轉(zhuǎn)至修改密保頁面如圖5-6所示,用戶先要根據(jù)之前設(shè)置的密保問題來填寫答案,前臺頁面通過Ajax將用戶輸入的密保答案傳入后臺控制器,與數(shù)據(jù)庫中用戶的密保問題答案做判斷,如果密保答案錯誤,在頁面上通過javaScript展示用戶密保答案錯誤,如果密保答案正確,用戶可以輸入新的密保問題和密保答案,點擊修改提交form表單后,瀏覽器發(fā)送請求在后臺數(shù)據(jù)庫中修改用戶的密保問題和答案。核心代碼如下:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-BPXB1dBv-1612609849861)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5Cfc568edbca71f458789375f54ad0052e.jpg)]

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-bY9JLtGj-1612609849863)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5Cfa6f203a0c2eb6d5e4fcaec6b846a8d6.jpg)]

    5.3 微博模塊

    **發(fā)布微博:**在用戶主頁如圖5.7所示,用戶可以發(fā)布微博,在微博信息中可以插入表情,也可以選擇插入一張圖片,在前臺頁面中,表情使用javaScript動態(tài)生成div標簽并顯示在頁面上,當用戶點擊發(fā)布后,瀏覽器發(fā)送請求將前臺頁面表單中微博信息和圖片信息傳入后臺控制器,將圖片信息保存在服務(wù)器中,在數(shù)據(jù)庫中只保存圖片路徑,從Session中獲取當前登陸用戶,組裝微博數(shù)據(jù)源,將數(shù)據(jù)源傳入Service中,調(diào)用Dao層接口將微博信息保存在數(shù)據(jù)庫中。核心代碼如下:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-o42wLfGW-1612609849865)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C8032b1a56c145293643bd399c8217083.jpg)]

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Qf2oZuKO-1612609849867)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C2e548aa4ab74bd685a3e750d0e4e8aad.jpg)]

    **搜索微博:**如圖5.8所示,在微博首頁搜索框輸入關(guān)鍵字點擊搜索提交form表單,瀏覽器發(fā)送請求將關(guān)鍵字傳到后臺控制器中,在數(shù)據(jù)庫中通過迷糊查詢查詢相關(guān)的微博信息。在Service層中具體方法中調(diào)用Dao層接口獲得相關(guān)的微博信息,遍歷集合,組裝微博的基本信息和發(fā)布人對象,將微博中表情轉(zhuǎn)換成對應(yīng)的gif圖片,調(diào)整微博時間格式為對應(yīng)格式,修改微博內(nèi)容中搜索關(guān)鍵字為紅色顯示,將修改好的數(shù)據(jù)返回到前臺頁面展示,如圖5.9所示。核心代碼如下:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Xt3yUCl4-1612609849869)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C1660ab1fd078e3a1afc22f528cd12d9a.jpg)]

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-aRuzMAEi-1612609849871)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C28a33dbce2f736d907c29365a2543ad9.jpg)]

    **微博操作:**點擊微博的點贊,轉(zhuǎn)發(fā)和收藏功能類型,通過Ajax將微博id提交請求到后臺控制器,從Session中獲取登陸用戶的信息,傳遞參數(shù)到Service對應(yīng)的方法中通過對微博不同的操作調(diào)用對應(yīng)的Dao層接口將微博的點贊,轉(zhuǎn)發(fā)和收藏信息保存在數(shù)據(jù)庫中。點擊評論后通過前臺頁面的點擊事件跳轉(zhuǎn)至JavaScript中通過Ajax發(fā)送異步請求到后臺控制器中,將微博id傳遞到Service層中對應(yīng)的方法中嗲用Dao層接口查找數(shù)據(jù)庫中對應(yīng)微博編號的評論信息,微博評論的分頁通過對應(yīng)的PageBean類控制,在數(shù)據(jù)庫層通過SQL語句來控制分頁要顯示的條數(shù),在控制器中傳遞json數(shù)據(jù)到前臺頁面展示。在評論信息的最后面可以發(fā)布用戶自己的評論,可以添加表情,點擊發(fā)表將form表單提交到后臺控制器中,在后臺代碼中調(diào)用Dao層接口保存用戶的評論信息。如圖5.10所示。核心代碼如下:

    **個人微博:**如圖5.11所示:在頁面上方導(dǎo)航欄可以點擊進入用戶個人主頁查看我的微博,在頁面中頁面上方展示導(dǎo)航欄,下面顯示用戶的基本信息,中間顯示用戶所發(fā)布過的微博,點擊微博插入的圖片還可以通過JavaScript將圖片放大,在頁面的右側(cè)展示系統(tǒng)為用戶推薦的好友。點擊我的微博按鈕后發(fā)送的請求會被后臺控制器接收,從服務(wù)器Session中獲取當前登陸用戶的用戶id,傳入Service層,在Service層中調(diào)用Dao層接口從數(shù)據(jù)庫中獲取當前登陸用戶的微博信息組裝成List集合,遍歷List集合,更改微博數(shù)據(jù)源的日期格式,調(diào)用工具類將微博正文中的表情替換成對應(yīng)的圖片信息,在微博的分頁中,使用了Oralce數(shù)據(jù)庫中的偽列來獲取對應(yīng)區(qū)間的微博信息,實現(xiàn)數(shù)據(jù)庫層的分頁,將所有需要在頁面上展示的數(shù)據(jù)傳遞給控制器,控制器再將數(shù)據(jù)封裝在Response響應(yīng)中傳遞到前臺頁面。核心代碼如下:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-7lVxh8Pt-1612609849880)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C0c236502b25c3b35ee58429cd4e57524.jpg)]

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ehIfIQqy-1612609849882)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5Cbd5263668e0e9b3eb965bdc4ebee6650.jpg)]

    5.4 好友模塊

    **查看好友微博:**通過點擊頁面導(dǎo)航欄中我的好友來跳轉(zhuǎn)至好友微博頁面,在后臺控制器中先從Session中獲得當前登陸用戶的id值,傳遞給Service,在Service中調(diào)用Dao層方法先在數(shù)據(jù)庫的好友表中查找對應(yīng)用戶的所有好友信息,然后再在數(shù)據(jù)庫微博表中查看這些好友對應(yīng)的微博信息按照微博發(fā)布時間倒序排列,將所有查找到的微博信息和發(fā)布用戶信息封裝成List集合,遍歷List集合修改微博日期各式,微博表情字符轉(zhuǎn)換為對應(yīng)圖片名稱,將加工過后的集合傳遞給控制器,控制器將所有的組裝好的數(shù)據(jù)響應(yīng)到前臺頁面中,在前臺頁面中通過C標簽遍歷List展示微博數(shù)據(jù)如圖5.12所示。核心代碼如下:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-cZuzVutt-1612609849885)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C3a0936a034628035e660493eb51a31ac.jpg)]

    **關(guān)注功能:**當用戶登陸系統(tǒng)后可以在頁面右側(cè)的推薦用戶中選擇需要關(guān)注的用戶,點擊關(guān)注后前臺頁面通過Ajax技術(shù)發(fā)送異步請求將被關(guān)注用戶的用戶id發(fā)送到后臺控制器中,在控制器中獲取Session中的登陸用戶信息,將登陸用戶的id和被關(guān)注用戶的id傳給Service層中對應(yīng)的方法,在Service層對應(yīng)的方法中做處理,組裝好友信息數(shù)據(jù)源,調(diào)用Dao層接口保存用戶的關(guān)注信息,同時更新用戶的關(guān)注數(shù),更新被關(guān)注用戶的粉絲數(shù),然后在前臺頁面中通過javaScript將頁面文本信息關(guān)注修改為已關(guān)注。核心代碼如下:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-hHgKk2Ty-1612609849886)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C1c0708de7ede9089d073b545298b8726.jpg)]

    **取消關(guān)注:**和關(guān)注功能類型,在導(dǎo)航欄中點擊我的好友,在中間點擊關(guān)注,就能查看到我所關(guān)注的所有好友和好友數(shù)以及他們的個人信息,如圖5.13所示,點擊取消關(guān)注,通過Ajax將好友id傳遞到后臺控制器中,在控制器中獲取請求中的用戶信息,將好友id和用戶id傳入Service層中對應(yīng)的方法,調(diào)用Dao層接口將對應(yīng)用戶id和好友id的好友信息刪除掉,同時更改用戶的關(guān)注數(shù)和被關(guān)注用戶的粉絲數(shù)。然后返回響應(yīng)在前臺頁面刷新好友列表。

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vtHEZLrW-1612609849889)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5Ce16042a79952c220749eb10f2eeeb4df.jpg)]

    **拉黑用戶:**和取消關(guān)注用戶類似,只是在Dao層接口中,不是刪除已有的用戶記錄而是邏輯刪除,即修改好友表中對應(yīng)的記錄狀態(tài),被拉黑用戶所發(fā)布的私信和微博信息不會被拉黑用戶所看到。核心代碼如下:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Way8VrKJ-1612609849892)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5Cf1c415864eadda4c5031ec615213648a.jpg)]

    **私信:**可以在頁面的推薦用戶上面查看當前登陸用戶的未查看私信數(shù),如圖5.14所示,未讀私信的數(shù)目通過數(shù)據(jù)庫中對所有接收者為當前登陸用戶的所有私信信息,且信息狀態(tài)為未閱讀的私信,將得到的數(shù)值傳遞給前臺頁面,前臺頁面中所有展示的數(shù)值通過EL表達式從服務(wù)器發(fā)送回來的響應(yīng)中獲取。點擊未讀私信或者通過圖5.13中顯示的好友列表中的私信按鈕,跳轉(zhuǎn)至用戶私信頁面。核心代碼如下:

    **查看私信:**如圖5.15所示,用戶通過點擊私信關(guān)注好友時,通過后臺控制器跳轉(zhuǎn)至我的私信用戶頁面,頁面左側(cè)顯示和該用戶最近的私信信息,頁面右側(cè)顯示所有有過私信的用戶列表,點擊列表中的用戶就可以直接私信這個用戶,在私信中允許插入表情。在后臺代碼中,將要發(fā)送私信的用戶id和從Session中獲取的登陸用戶id傳遞到Service層中對應(yīng)的方法,調(diào)用Dao層接口在數(shù)據(jù)庫中查找與該用戶相關(guān)的所有私信記錄同時修改和該用戶的所有私信狀態(tài)為以閱讀,將獲取的記錄組裝到集合中,遍歷集合調(diào)用工具類修改私信的日期格式和文本中的表情格式,同時從數(shù)據(jù)庫中獲取和當前登陸用戶有過私信記錄的所有用戶,將組裝好的集合返回給控制器,控制器將數(shù)據(jù)響應(yīng)給前臺頁面中,遍歷集合中的數(shù)據(jù),展示在前臺JSP頁面中。核心代碼如下:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-L43uCuZV-1612609849901)(E:%5Ccode%5C8%E5%9B%BE%E7%89%87%5Cimages%5C6da574893625474090a85acab33eb0c1.jpg)]

    **發(fā)送私信:**用戶先選擇要發(fā)送的用戶,輸入需要發(fā)送的私信信息,可以在私信中插入表情,點擊發(fā)送后會提交form表單,瀏覽器發(fā)送請求到后臺控制器中,控制器獲取發(fā)送用戶的id和接收用戶的id,調(diào)用Service層中的方法,組裝數(shù)據(jù)源為私信信息,設(shè)置私信信息為未閱讀狀態(tài),在Service層中對應(yīng)的方法中調(diào)用Dao層接口將私信信息保存在數(shù)據(jù)庫中。核心代碼如下:

    **搜索用戶:**在搜索用戶頁面中,用戶可以輸入用戶昵稱的關(guān)鍵字來模糊查詢相關(guān)用戶,當用戶輸入要查詢的用戶昵稱,瀏覽器發(fā)送請求攜帶關(guān)鍵字等信息跳轉(zhuǎn)至控制器中特定的方法,在控制器方法內(nèi)部調(diào)用Service中的方法處理邏輯,業(yè)務(wù)層調(diào)用Dao層接口中的查找方法查找用戶昵稱中包含有關(guān)鍵字的用戶,將從數(shù)據(jù)庫獲得的對應(yīng)用戶組裝成一個集合,遍歷集合將用戶昵稱中包含的關(guān)鍵字改成紅色,控制器返回響應(yīng)跳轉(zhuǎn)到搜索結(jié)果頁面,遍歷集合展示所有查找到的用戶信息。如圖5.16所示。核心代碼如下:

    **用戶主頁面:**在頁面中,點擊任意一個用戶的名稱或頭像都會跳轉(zhuǎn)至對應(yīng)用戶的個人主頁,用戶的個人主頁顯示用戶的個人信息和用戶最近發(fā)布的微博,按照時間倒序排列,用戶也可以對微博的點贊、轉(zhuǎn)發(fā)、評論、收藏做操作。在后天代碼中,當用戶點擊其他用戶的頭像或名稱時,瀏覽器發(fā)送攜帶用戶id的請求到后臺控制器中。控制器調(diào)用Service中對應(yīng)的方法,在Service方法中調(diào)用Dao層接口從數(shù)據(jù)庫中查看用戶的基本信息和用戶的微博信息,將所有的數(shù)據(jù)存放在集合中。返回到控制器中,控制器攜帶數(shù)據(jù)返回到前臺頁面中做展示,如圖5.17所示。核心代碼如下:

    5.5 海螺模塊

    **發(fā)布:**當用戶進入海螺主頁時,瀏覽器頁面發(fā)送請求到后臺控制器中,調(diào)用業(yè)務(wù)層中特定的方法,Service中調(diào)用Dao層接口在數(shù)據(jù)庫中查找有關(guān)不同篩選條件的海螺問題,并將查找到的問題封裝在集合中,通過控制器發(fā)送服務(wù)器響應(yīng),跳轉(zhuǎn)到海螺首頁,并循環(huán)展示所有的海螺問題。如果用戶需要發(fā)布問題,在填寫了問題描述和所要懸賞的積分數(shù)后,點擊發(fā)布,瀏覽器提交表單數(shù)據(jù)到后臺控制器中,在Service層中首先判斷用戶的海螺積分是否大于懸賞積分,如果小于懸賞積分就返回瀏覽器頁面提示用戶積分不足。如果積分足夠就調(diào)用Dao層接口把用戶的海螺問題保存在數(shù)據(jù)庫中,同時減少用戶的海螺積分修改用戶基本信息。核心代碼如下:

    **查看海螺問題:**用戶點擊海螺首頁具體的問題時,瀏覽器發(fā)送請求給后臺控制器中調(diào)用Service層對應(yīng)的方法,在Service層中調(diào)用Dao層接口通過海螺問題的編號來查看海螺的具體信息,通過發(fā)布問題的用戶id在數(shù)據(jù)庫中查找對應(yīng)的發(fā)布人信息,服務(wù)器返回響應(yīng)到瀏覽器中,展示海螺的具體信息,上方展示發(fā)布用戶的用戶名、用戶稱號、發(fā)布日期、海螺問題、懸賞積分、問題的狀態(tài)等,在中間顯示問題的所有回復(fù)信息,回復(fù)人的用戶名、稱號、回答內(nèi)容、回復(fù)日期,是否被采納等,如圖5.19所示。核心代碼如下:

    **回答海螺問題:**在海螺問題詳細詳細信息頁面的底部可以回答海螺問題,在輸入框中輸入回復(fù)的答案,插入表情信息,點擊回復(fù)提交表單,瀏覽器請求攜帶表單數(shù)據(jù)到后臺控制器中,被控制器中具體的方法接收,獲取Session中的用戶編號,組裝回復(fù)信息的數(shù)據(jù)源,傳遞參數(shù)到Service中,在Service中調(diào)用Dao層接口保存海螺的回復(fù)信息,如圖5.20所示。核心代碼如下:

    **采納問題答案:**在海螺問題首頁,用戶通過點擊我的海螺問題可以跳轉(zhuǎn)至用戶自己所發(fā)布的海螺問題頁面,在自己所發(fā)布的海螺問題頁面中可以選擇自己認為最正確的答案,被采納的答案變?yōu)椴杉{答案,增加采納者的海螺積分,如圖5.21所示,在后臺代碼中,當用戶點擊采納后,瀏覽器請求攜帶海螺問題id和問題回復(fù)信息被后臺控制器中具體的方法接收,在控制器中調(diào)用Service層,業(yè)務(wù)層中調(diào)用Dao層接口修改數(shù)據(jù)庫中海螺問題的狀態(tài)為已解決,修改評論表中被采納用戶的評論狀態(tài)為被采納,刷新前臺海螺問題頁面。核心代碼如下:

    5.6 后臺管理員模塊

    **管理員登陸:**管理員可以通過在登陸頁面中點擊管理員登陸,跳轉(zhuǎn)至管理員登陸頁面如圖5.22所示,管理員登陸后,頁面發(fā)送請求到后臺控制器中,后臺Controller層接收請求,將用戶名和密碼作為參數(shù)調(diào)用業(yè)務(wù)層中的方法,在Service層中調(diào)用Dao層接口和數(shù)據(jù)庫中管理員賬號表中查詢,如果存在就返回管理員類,如果不存在,則拋出異常,異常層層上拋,在控制器層中接收,并將錯誤信息保存在方法的返回值中,在頁面提示,如果用戶名和密碼正確,就跳轉(zhuǎn)到Controller中管理員首頁的處理方法中,在管理員首頁的處理方法中獲取需要顯示的數(shù)據(jù)并展示。核心代碼如下:

    **管理員首頁:**登陸后,系統(tǒng)會跳轉(zhuǎn)到管理員首頁,在首頁中上方顯示導(dǎo)航欄,在頁面內(nèi)容方面,通過四張圖表來顯示微博、用戶、評、海螺、評論、回答等的總數(shù)以及當月數(shù),在下方的柱狀圖中則顯示距離今天最近的7天的數(shù)目。后臺首先在Controller層中跳轉(zhuǎn)至管理員首頁對應(yīng)的處理方法中,調(diào)用Service層中對應(yīng)的方法獲取首頁展示數(shù)據(jù),并將獲取到的數(shù)據(jù)組裝到Map集合中,在服務(wù)層中調(diào)用Dao層中的方法來獲取首頁需要展示的用戶、微博、評論、回答等數(shù)據(jù)保存在Map集合中,在控制層中獲取到返回值數(shù)據(jù)并保存在服務(wù)器響應(yīng)中,返回給前臺頁面使用EL表達式展示數(shù)據(jù),如圖5.23所示。核心代碼如下:

    **用戶管理首頁:**后臺代碼通過調(diào)用Service層中對應(yīng)的方法,Service方法里面則調(diào)用Dao層接口和數(shù)據(jù)庫交互,獲取數(shù)據(jù)庫中所有的用戶信息封裝成List集合,返回給Controller層將用戶List集合響應(yīng)給瀏覽器,在頁面中通過c標簽遍歷循環(huán)顯示用戶信息,頁面的分頁使用自定義分頁類PageBean來保存分頁信息,在數(shù)據(jù)庫層做分頁一次獲取10條數(shù)據(jù)。核心代碼如下:

    **搜索用戶:**在用戶管理頁面輸入用戶昵稱中的關(guān)鍵字來搜索用戶,系統(tǒng)會將獲取到的用戶信息中昵稱為輸入關(guān)鍵字的那部分顯示為紅色。在后臺代碼中,點擊搜索會將管理員輸入的用戶昵稱關(guān)鍵字傳給后臺控制器中,在控制器中調(diào)用Service層中對應(yīng)的搜索用戶的方法,在Service層中調(diào)用Dao層接口在數(shù)據(jù)庫中通過迷糊查詢來獲取用戶。并將獲取到的數(shù)據(jù)層層返回,在Controller中響應(yīng)給前臺頁面,然后在頁面中做展示,如圖5.25所示。核心代碼如下:

    **用戶封禁:**管理員可以通過點擊用戶管理頁面操作一欄中的封禁按鈕來對違規(guī)用戶的封禁,管理員可以輸入封禁的天數(shù),那么在這個日期之前,用戶是不能正常登陸的,管理員也可以通過點擊解封來提前解除封禁用戶的操作,具體頁面如圖5.26所示。在后臺代碼中則是在Service層中調(diào)用Dao層接口,更改用戶狀態(tài)和封禁日期,解除封禁和封禁用戶類似,因此不做具體說明。核心代碼如下:

    **微博管理首頁:**管理員點擊導(dǎo)航欄中的微博管理,系統(tǒng)會跳轉(zhuǎn)至用戶微博管理頁面,顯示系統(tǒng)中所用是微博信息,管理員也可以通過輸入微博內(nèi)容中的關(guān)鍵字來搜索微博,同時可以刪除有不良信息的微博,或是恢復(fù)以被刪除的微博,微博管理頁面如圖5.27所示,在后臺代碼中,當用戶點擊導(dǎo)航欄中微博管理時,瀏覽器會發(fā)送相應(yīng)的請求到SpringMVC框架的Controller中對用的更能處理方法中,在控制器中調(diào)用Service層中顯示所有微博的方法中,在Service層中再調(diào)用Dao層方法獲取所有的微博信息,在分頁方面沒有采用在前端頁面中做分頁的方法,而是在數(shù)據(jù)庫中通過Oracle的偽列來做分頁,一次獲取10條數(shù)據(jù),最后在Controller中將獲取到的微博信息響應(yīng)給瀏覽器,瀏覽器中通過c標簽遍歷顯示微博信息。核心代碼如下:

    **微博搜索:**管理員可以通過輸入微博內(nèi)容中的關(guān)鍵字來搜索在微博中存在該關(guān)鍵字的微博,搜索到的微博內(nèi)容中的關(guān)鍵字會使用紅色標注出來,具體頁面如圖5.28所示,在后臺代碼中,控制器中特定的方法接收瀏覽發(fā)送的搜索微博請求,調(diào)用Service層中對應(yīng)的方法,將關(guān)鍵字作為參數(shù)傳給Dao層接口中,在Dao層接口中查找數(shù)據(jù)庫微博表中微博內(nèi)容包含該關(guān)鍵字的微博信息,在數(shù)據(jù)庫中則是通過模糊查詢來查找對應(yīng)微博。然后將查找到微博信息封裝到List集合中,層層返回到Controller層中對應(yīng)的方法,在方法中將數(shù)據(jù)響應(yīng)給瀏覽器,瀏覽器接收響應(yīng)在頁面中通過c標簽展示數(shù)據(jù)。核心代碼如下:

    **微博刪除:**在微博管理頁面中,管理員可以根據(jù)微博的內(nèi)容來判斷微博是否違法等信息,如果微博信息中包含不良信息,管理員可以通過操作欄中的刪除按鈕來刪除微博或者可以對已經(jīng)刪除的為微博做恢復(fù)操作,當用戶點擊刪除時,頁面會攜帶著微博編號等參數(shù)發(fā)送請求給服務(wù)器,請求會被控制器中對應(yīng)的方法所接收,將微博編號作為參數(shù)嗲用Service中對應(yīng)的方法,在方法中調(diào)用Dao層接口在修改數(shù)據(jù)庫中對應(yīng)微博編號的微博狀態(tài)為已刪除,恢復(fù)微博和刪除類似,只是修改數(shù)據(jù)庫中對應(yīng)微博信息狀態(tài)為正常即可。核心代碼如下:

    **海螺管理首頁:**管理員點擊導(dǎo)航欄中的海螺管理可以跳轉(zhuǎn)至海螺管理頁面,如圖5.29所示,在頁面的上方為導(dǎo)航欄,頁面內(nèi)容則顯示所有的海螺信息、海螺搜索框、以及下方的分頁框,海螺信息包括編號、發(fā)布人名稱、海螺的內(nèi)容、發(fā)布日期、海螺狀態(tài)以及可以執(zhí)行的操作,在后臺代碼方面,當用戶點擊導(dǎo)航欄中的海螺管理時,瀏覽器發(fā)送請求,請求在控制器中被對應(yīng)的方法接收,Service中調(diào)用Dao層接口在數(shù)據(jù)庫海螺表中查找所有的海螺信息,保存在List集合中,遍歷List集合組裝發(fā)布人用戶信息,修改日期格式等,最后將組裝號的List集合返回到Controller中,響應(yīng)給瀏覽器跳轉(zhuǎn)海螺管理首頁,通過使用c標簽遍歷顯示查找到的海螺信息,因為系統(tǒng)中使用的分頁方法一致,因此在這里不再贅述。核心代碼如下:

    **海螺搜索:**在海螺管理首頁中,考慮到海螺數(shù)量多不好查找的問題,因此設(shè)置了搜索功能,管理員可以通過在海螺搜索框中輸入海螺內(nèi)容中的關(guān)鍵字來搜索海螺問題,在展示搜索到的結(jié)果時會將搜索關(guān)鍵字使用紅色標注出來,方便查看。具體頁面如圖5.30所示。在后臺代碼中,當用戶輸入關(guān)鍵字點擊搜索時,瀏覽器發(fā)送請求到控制器中指定方法接收,在Controller中調(diào)用Service層中對應(yīng)的方法處理業(yè)務(wù)邏輯,然后在Service層中調(diào)用Dao層接口通過模糊查詢在數(shù)據(jù)庫海螺表中查找對應(yīng)的海螺信息,最后在Controller中將查找到的海螺信息響應(yīng)給瀏覽器,在頁面中通過c標簽遍歷展示數(shù)據(jù)。因為系統(tǒng)使用一樣的分頁方法,因此不做贅述。核心代碼如下:

    第六章 總 結(jié)

    時光荏苒,歲月如梭,轉(zhuǎn)眼之間為期半年的畢業(yè)設(shè)計以及論文的編寫終于落下帷幕,回顧畢業(yè)設(shè)計的每一個階段都使我受益匪淺,在畢設(shè)初期,經(jīng)過了長達一周的深思熟慮之后我決定將B/S微博系統(tǒng)作為我這次畢業(yè)設(shè)計和論文的選題,因為平時對微博的接觸以及近幾年微博的火熱程度,使我對微博系統(tǒng)的具體功能和優(yōu)缺點都有了一個全體的把控,這也使得在之后系統(tǒng)功能設(shè)計時能夠更加的得心應(yīng)手,在畢業(yè)設(shè)計中期時進入代碼編寫階段時,我選擇了J2EE體系開發(fā)Web項目的B/S微博,使用面向?qū)ο笳Z言JAVA作為開發(fā)語言,使用個人熟練掌握的SSM框架來搭建系統(tǒng),SSM框架強大的功能減少了大量的冗余代碼,使得系統(tǒng)代碼的編寫更加輕松,提高了系統(tǒng)的開發(fā)效率,然而開發(fā)一個系統(tǒng)并不是那么簡單就能完成,在代碼的編寫階段,問題接連出現(xiàn),但在指導(dǎo)老師的指導(dǎo)下以及自己通過網(wǎng)上查閱資料,最終解決了這些問題,提高了自己代碼的編寫能力,同時也提高了自我學(xué)習(xí)能力,這對以后的生活學(xué)習(xí)和工作中都有著非同尋常的意義,在項目編寫完成后的測試階段,之前在編寫階段沒有被發(fā)現(xiàn)的系統(tǒng)缺陷逐漸躍出水面,在每一次修復(fù)這些問題的時候,我都能感覺到自己的能力在慢慢提高,一個沒有缺陷的系統(tǒng)是不存在的,經(jīng)過對測試用例中的測試方案一一測試,然后修復(fù)掉一個又一個的缺陷后,微博系統(tǒng)中大多數(shù)可見性高的BUG都被修復(fù)了,但是在之后的使用中還會不斷的完善系統(tǒng)讓它變的更加成熟,而不單單只是作為一份畢設(shè)設(shè)計而存在。

    在這次畢業(yè)設(shè)計系統(tǒng)的開發(fā)中也讓我看到了自身的一些問題,例如前端技術(shù)的不熟練導(dǎo)致在前臺頁面的修改和開發(fā)中浪費了大量的時間,微博系統(tǒng)中關(guān)鍵性的用戶交互不夠美觀,用戶體驗性差,以及在系統(tǒng)類設(shè)計時沒能正確的把控全局,設(shè)計出合理的接口,只能在后期代碼編寫階段中不斷的去完善。

    總而言之,在對微博系統(tǒng)的開發(fā)中,我學(xué)習(xí)到了很多以前沒有注意到和忽略到的東西,也使我認識到了自身的一些缺陷,讓我在以后的生活和工作中都能更好的認識自己,提高自己的能力,然后服務(wù)于社會,做一個對社會發(fā)展有幫助的人。

    參考文獻

    [1] 賈文瀟,鄧俊杰. 基于Java的Web開發(fā)技術(shù)淺析[J]. 電子測試,2016

    [2] 李傳揚. 微博分析系統(tǒng)的設(shè)計與實現(xiàn)[D]. 北京郵電大學(xué) 2015

    [3] 劉運臣. 網(wǎng)站設(shè)計與建設(shè)[M]. 清華大學(xué)出版社, 2008

    [4] 秦雅華. 基于WEB2.0的微博網(wǎng)站的設(shè)計與實現(xiàn)[D]. 北京工業(yè)大學(xué) 2012

    [5] 陳玲,夏汛. 利用Mybatis的動態(tài)SQL實現(xiàn)物理分頁[J]. 數(shù)字技術(shù)與應(yīng)用. 2011(11)

    [6] 薩師煊,王珊. 數(shù)據(jù)庫系統(tǒng)概論(第三版)[M].北京:高等教育出版社,1998

    [7] 基于Java的數(shù)據(jù)庫訪問技術(shù)研究[J]. 科技資訊. 2009(04)

    [8] 張峰. 基于Ajax技術(shù)與J2EE框架的Web應(yīng)用研究與實現(xiàn)[D]. 中國地質(zhì)大學(xué) 2008

    [9] 基于Java多線程技術(shù)的網(wǎng)絡(luò)編程[J]. 電腦編程技巧與維護. 2009(22)

    [10] 李威. 一種小型實用即時網(wǎng)絡(luò)聊天通訊系統(tǒng)的設(shè)計[J]. 長江大學(xué)學(xué)報(自然科學(xué)版). 2011(12)

    [11] 鐘睿祺. 基于微博嵌入小伙伴閱讀網(wǎng)的分析與設(shè)計[D]. 華南理工大學(xué) 2011

    [12] 王少鋒編著.面向?qū)ο蠹夹g(shù)UML教程[M]. 清華大學(xué)出版社, 2004

    [13] 徐春綿. 關(guān)于網(wǎng)站開發(fā)相關(guān)問題的探究[J]. 通訊世界. 2015(09)

    [14] 張宇,王映輝,張翔南. 基于Spring的MVC框架設(shè)計與實現(xiàn)[J]. 計算機工程. 2010(04)

    [15] 胡以讕,張立平. J2EE開發(fā)模式的選擇[J]. 計算機系統(tǒng)應(yīng)用. 2002(08)

    [16] 王麗愛. 《Java程序設(shè)計》課程網(wǎng)站的設(shè)計與實現(xiàn)[J]. 電腦知識與技術(shù). 2016(27)

    [17] 榮艷冬. 關(guān)于Mybatis持久層框架的應(yīng)用研究[J]. 信息安全與技術(shù). 2015(12)

    總結(jié)

    以上是生活随笔為你收集整理的基于SSM框架的BS微博系统的设计与实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。