【《微博媒介系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》12000字】_第1頁(yè)
【《微博媒介系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》12000字】_第2頁(yè)
【《微博媒介系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》12000字】_第3頁(yè)
【《微博媒介系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》12000字】_第4頁(yè)
【《微博媒介系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》12000字】_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微博媒介系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要互聯(lián)網(wǎng)相關(guān)技術(shù)迅猛發(fā)展,早已進(jìn)入了我們的生活,衣食住行方方面面,互聯(lián)網(wǎng)無(wú)孔不入。由互聯(lián)網(wǎng)發(fā)展產(chǎn)生的海量數(shù)據(jù)已經(jīng)悄然改變了廣大網(wǎng)民獲取信息的方法與媒介。目前較為主流的社交平臺(tái)就是微博,微博最大的特點(diǎn)就是用戶隨時(shí)隨地可以自由地和千里之外的網(wǎng)友分享和交流最新資訊。本課題設(shè)計(jì)并實(shí)現(xiàn)了微博媒介系統(tǒng),采用JSP技術(shù)與Mybatis數(shù)據(jù)庫(kù),系統(tǒng)中分為用戶和管理員兩種角色,用戶角色主要包括用戶模塊、微博模塊、提問(wèn)模塊,用戶可以發(fā)布微博,評(píng)論微博,點(diǎn)贊微博等,也可以通過(guò)微博提問(wèn)模塊進(jìn)行提問(wèn)并獲得解答;管理員角色可以查看微博數(shù)據(jù),進(jìn)行用戶管理。關(guān)鍵詞:微博;B/S架構(gòu);Java目錄摘要 I緒論 1一、關(guān)鍵技術(shù)介紹 1(一)框架/結(jié)構(gòu)概述 1(二)關(guān)鍵技術(shù)簡(jiǎn)介 2(三)開(kāi)發(fā)工具 2二、系統(tǒng)需求分析 3(一)可行性分析 3(二)需求分析 4三、系統(tǒng)功能設(shè)計(jì) 7(一)系統(tǒng)類分析 7(二)關(guān)鍵業(yè)務(wù)設(shè)計(jì) 8(三)數(shù)據(jù)庫(kù)設(shè)計(jì) 12四、系統(tǒng)功能實(shí)現(xiàn) 16(一)登錄模塊 16(二)用戶管理模塊 18(三)微博管理模塊 20(四)提問(wèn)模塊 22(五)后臺(tái)管理模塊 23五、系統(tǒng)測(cè)試 26(一)用戶登錄模塊測(cè)試 26(二)用戶好友管理模塊測(cè)試 27結(jié)語(yǔ) 28參考文獻(xiàn) 29緒論微博是一種基于大量用戶形成的實(shí)時(shí)多媒體社交平臺(tái),它可以在網(wǎng)上公開(kāi)的消息類型,任何人都可以閱讀。傳播媒介隨著互聯(lián)網(wǎng)發(fā)展越來(lái)越便攜,微博信息的分享形式也變得多種多樣豐富起來(lái),包括但不限于電子郵件和網(wǎng)頁(yè)。微博也可以發(fā)布豐富的影音內(nèi)容,如視頻剪輯或個(gè)人照片。微博系統(tǒng)在全球的代表是Twitter。與新浪微博系統(tǒng)不盡相同的本微博項(xiàng)目設(shè)計(jì)了一個(gè)提問(wèn)系統(tǒng),用戶可以在這里提出問(wèn)題并獲得他人的回答,從而使得自己的問(wèn)題增加曝光度,以期望獲得別的用戶的回答。一、關(guān)鍵技術(shù)介紹(一)框架/結(jié)構(gòu)概述1.B/S結(jié)構(gòu)瀏覽器-服務(wù)器結(jié)構(gòu),與\o"C/S結(jié)構(gòu)"客戶端/服務(wù)器結(jié)構(gòu)差別很大,用戶端無(wú)需使用私有開(kāi)發(fā)的客戶端進(jìn)行瀏覽操作,在自己的設(shè)備有可以訪問(wèn)到服務(wù)器的瀏覽器就可以,客戶端瀏覽器向后臺(tái)服務(wù)器發(fā)起請(qǐng)求,后臺(tái)服務(wù)器再向數(shù)據(jù)庫(kù)發(fā)送增刪改查請(qǐng)求由于該結(jié)構(gòu)得天獨(dú)厚的先天性優(yōu)勢(shì),在不同平臺(tái)均能正常訪問(wèn)工作;服務(wù)器端可采用專業(yè)的服務(wù)器計(jì)算機(jī),并安裝\o"OracleDatabase"Oracle數(shù)據(jù)庫(kù)。瀏覽器/服務(wù)器結(jié)構(gòu)使客戶端請(qǐng)求訪問(wèn)更加簡(jiǎn)潔,當(dāng)前的互聯(lián)網(wǎng)應(yīng)用正在朝著輕量化客戶端最終甩掉客戶端運(yùn)行的方向發(fā)展,所以這是對(duì)客戶端/服務(wù)器技術(shù)的改進(jìn),同時(shí)也是大勢(shì)所趨。該結(jié)構(gòu)對(duì)服務(wù)器端工作要求較高,所以對(duì)服務(wù)器整體處理器和內(nèi)存,硬盤等需要更好的配置。[2]2.MVC模式主要是提供系統(tǒng)開(kāi)發(fā)者一個(gè)物件導(dǎo)向(OOP)、模塊化的架構(gòu),將程序清楚切割,分離商業(yè)邏輯、路由、數(shù)據(jù)庫(kù)定義/存取、網(wǎng)頁(yè)內(nèi)容,通常是放到不同的檔案內(nèi)儲(chǔ)存,大多是以單一類別呈現(xiàn),以方便后續(xù)承接者的維護(hù)。模型(Model)-通常與數(shù)據(jù)庫(kù)里的資料表一一對(duì)應(yīng),用于對(duì)數(shù)據(jù)表增刪改查的操作提供支持;視圖(View)-是使用者界面,通常是網(wǎng)頁(yè)內(nèi)容,包括HTML、CSS、Javascript,除了靜態(tài)的內(nèi)容,還會(huì)呈現(xiàn)數(shù)據(jù)庫(kù)的查詢結(jié)果;控制器(Controller)-是MVC的中樞,負(fù)責(zé)與其他各層通信。3.SSM框架SSM框架是springMVC,spring和mybatis框架的整合,整個(gè)系統(tǒng)被劃分為持久層,業(yè)務(wù)層,控制層,表現(xiàn)層這四層結(jié)構(gòu),使用springMVC負(fù)責(zé)管理各層發(fā)來(lái)的轉(zhuǎn)發(fā)請(qǐng)求和對(duì)前端視圖進(jìn)行管理。(二)關(guān)鍵技術(shù)簡(jiǎn)介1.JSP(Java服務(wù)器頁(yè)面)是指在HTML內(nèi)插入Java代碼,在網(wǎng)頁(yè)服務(wù)器上動(dòng)態(tài)生成網(wǎng)頁(yè),并返回網(wǎng)頁(yè)瀏覽器的服務(wù)器側(cè)腳本語(yǔ)言。作為JavaEE文憑的一部分,在網(wǎng)絡(luò)應(yīng)用服務(wù)器上運(yùn)行。Java服務(wù)器頁(yè)面在運(yùn)行時(shí)會(huì)被轉(zhuǎn)換為JavaServlet后運(yùn)行,因此與Servlet幾乎相似。2.Ajax是利用以下組合制作非同步網(wǎng)絡(luò)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)方法。用于表達(dá)信息的HTML(或XHTML)和CSS;用于動(dòng)態(tài)畫(huà)面輸出與顯示信息相互作用的DOM,JavaScript;用于與Web服務(wù)器進(jìn)行異步數(shù)據(jù)交換和操作的XML、XSLT、XMLHttpRequest等操作。3.Java是面向客體的編程語(yǔ)言。1991年以“綠色計(jì)劃”的名字開(kāi)始,1995年發(fā)表。起初是為了家電產(chǎn)品內(nèi)搭載并啟動(dòng)的程序而開(kāi)發(fā)的,但現(xiàn)在是網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)中最常使用的語(yǔ)言之一,在移動(dòng)設(shè)備軟件開(kāi)發(fā)上也廣泛使用。目前已經(jīng)推出了15版。4.Spring框架英語(yǔ):SpringFramework,是Java平臺(tái)(也簡(jiǎn)稱為Spring)的開(kāi)源應(yīng)用程序框架。它提供了用于開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站的各種服務(wù)。它用作電子政務(wù)標(biāo)準(zhǔn)框架的基礎(chǔ)技術(shù)。作為輕量級(jí)容器,它直接管理Java對(duì)象。它管理著該對(duì)象的生命周期,例如每個(gè)對(duì)象的創(chuàng)建和銷毀,并且可以從Spring獲取必要的對(duì)象。5.Mybatis是支持開(kāi)發(fā)者指定的SQL、儲(chǔ)藏幾種高級(jí)映射的Percistanc框架。Mybatis用JDBC處理的相當(dāng)部分的代碼和參數(shù)設(shè)定以及結(jié)果代替了Mapping。Mybatis可以在數(shù)據(jù)庫(kù)中設(shè)置原始類型、Map界面并使用XML。(三)開(kāi)發(fā)工具ApacheTomcat是Apache軟件財(cái)團(tuán)開(kāi)發(fā)的網(wǎng)絡(luò)應(yīng)用服務(wù)器。Tomcat提供與網(wǎng)頁(yè)服務(wù)器聯(lián)動(dòng)可執(zhí)行的Java環(huán)境,提供JSP和JavaSublet可執(zhí)行的環(huán)境。Tomcat可以通過(guò)管理工具更改配置,但也可以編輯并配置XML文件。另外其還內(nèi)置HTTP服務(wù)器。ApacheTomcat是采用ApacheLicence,Version2的開(kāi)放源代碼軟件,提供用于執(zhí)行Java服務(wù)器頁(yè)面。版本5.5以后基本對(duì)應(yīng)于JavaSE5.0以后。Oracle數(shù)據(jù)庫(kù)(Oracle數(shù)據(jù)庫(kù)或OracleRDBMS)是Oracle在美國(guó)銷售的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它被大多數(shù)大型企業(yè)(例如銀行)廣泛使用。Oracle主要用于無(wú)法使用面向企業(yè)市場(chǎng)的開(kāi)源數(shù)據(jù)庫(kù)的環(huán)境中,尤其是要求極高可靠性的所謂的關(guān)鍵任務(wù)環(huán)境是Oracle嚴(yán)格控制的領(lǐng)域。Eclipse它是由EclipseFoundation創(chuàng)建的基于Java的集成開(kāi)發(fā)環(huán)境。由于Java是由SunMicrosystems開(kāi)發(fā)的一種編程語(yǔ)言,并從支持包括Java在內(nèi)的各種語(yǔ)言的編程集成開(kāi)發(fā)環(huán)境開(kāi)始,但是現(xiàn)在通過(guò)引入OSGi已經(jīng)發(fā)展成為通用的應(yīng)用程序軟件平臺(tái)。二、系統(tǒng)需求分析(一)可行性分析技術(shù)可行性:在目前現(xiàn)狀的前提條件上,徹底清除由于不同的用戶終端開(kāi)發(fā)進(jìn)度不一致導(dǎo)致軟件在不同客戶端體驗(yàn)有較大區(qū)別,降低多版本運(yùn)行維持保護(hù)的實(shí)際阻礙,結(jié)合由來(lái)已久已經(jīng)完全被認(rèn)可的瀏覽器/服務(wù)器系統(tǒng)框架在項(xiàng)目的制作和成功上具有良好的技術(shù)可行性,利用強(qiáng)大的OracleRDBMS可以使項(xiàng)目運(yùn)行非常穩(wěn)定還可以助力數(shù)據(jù)長(zhǎng)期永久化保存。由此可得出結(jié)論:利用越來(lái)越成熟的Java語(yǔ)言和JavaEE體系、完全免費(fèi)且開(kāi)放原始代碼的Java語(yǔ)言為代碼的運(yùn)行使其充分發(fā)揮作用提供了完善的環(huán)境基礎(chǔ)配施和發(fā)展日趨成熟的服務(wù)器軟硬件、擁有豐富功能以及完整技術(shù)支持的Oracle數(shù)據(jù)庫(kù)、高超的前端技術(shù)的應(yīng)用所打造的清爽的用戶互動(dòng)網(wǎng)站,綜上所述,該項(xiàng)目具有完整的完備的技術(shù)可行性。經(jīng)濟(jì)可行性:從上個(gè)世紀(jì)90年代初互聯(lián)網(wǎng)萌芽開(kāi)始直至現(xiàn)在,互聯(lián)網(wǎng)從早期進(jìn)行巨大飛躍進(jìn)入數(shù)字化時(shí)代和互聯(lián)網(wǎng)社會(huì),從固定單一途徑非主動(dòng)地獲得信息,早就已經(jīng)不能滿足當(dāng)代網(wǎng)民的日益增長(zhǎng)的需求,網(wǎng)民接收到的信息越來(lái)越多,從十幾年前大家捧著報(bào)紙,聽(tīng)著廣播,獲得信息的方式大多是被動(dòng)獲得信息。到現(xiàn)在人手一部智能手機(jī)通過(guò)小屏方便瀏覽大千世界,獲取大量的信息,現(xiàn)在獲取的信息和十幾年前相比最大的不同便是,現(xiàn)在的信息是我們自己主動(dòng)獲得的自己感興趣的信息。雖然現(xiàn)在獲取信息的方法越來(lái)越多,但是除了微博之外的大多數(shù)方式,獲取方式還是以被動(dòng)獲取為主,用戶之間不能彼此對(duì)于咨詢信息互通有無(wú),這就讓找到自己想了解的咨詢信息產(chǎn)生了很大的負(fù)面影響。本微博系統(tǒng)通過(guò)設(shè)計(jì)真正使用戶得到自己想了解的內(nèi)容,真正做到實(shí)時(shí)指尖上的交流和本微博系統(tǒng)的其他用戶互動(dòng)信息。對(duì)已經(jīng)成熟的Java語(yǔ)言,SSM框架,數(shù)據(jù)庫(kù)等技術(shù)以及大量開(kāi)放源代碼的系統(tǒng)配置環(huán)境的簡(jiǎn)單應(yīng)用,使得小項(xiàng)目的開(kāi)發(fā)變得更加具有經(jīng)濟(jì)性,項(xiàng)目運(yùn)行更高效,有助于降低小項(xiàng)目配置服務(wù)器的成本,純熟的技術(shù)和簡(jiǎn)單易操作的代碼雙管齊下為本項(xiàng)目產(chǎn)生一定的經(jīng)濟(jì)收益。操作可行性:本微博系統(tǒng)采用開(kāi)發(fā)最為方便的今后發(fā)展趨勢(shì)的瀏覽器/服務(wù)器架構(gòu)作為本系統(tǒng)的基礎(chǔ)結(jié)構(gòu),用戶只需要在任意一個(gè)有瀏覽器并且瀏覽器能正常訪問(wèn)本微博服務(wù)器的設(shè)備訪問(wèn)并且輸入正確的郵箱和密碼后即可登錄微博系統(tǒng),本微博系統(tǒng)的界面區(qū)塊分明,視覺(jué)辨識(shí)度高,由于操作簡(jiǎn)單,使用者只要知道基本的網(wǎng)頁(yè)操作方法,就可以輕松使用,體驗(yàn)非常出色。因此在系統(tǒng)交互操作上具有良好的用戶交互體驗(yàn)。(二)需求分析1.系統(tǒng)總體需求組成本微博的兩個(gè)系統(tǒng)分別是展示給用戶能看到的前臺(tái)用戶模塊還有在后臺(tái)用戶不可見(jiàn)的默默提供服務(wù)的后臺(tái)管理模塊,當(dāng)用戶未在登錄狀態(tài)或者今日內(nèi)初次打開(kāi)本網(wǎng)頁(yè)時(shí),會(huì)看到右邊是登錄選項(xiàng),左邊是注冊(cè)選項(xiàng),用戶可以自主決定是否注冊(cè)或者是否登錄。用戶使用已經(jīng)注冊(cè)成功的賬號(hào)進(jìn)行登錄,否則無(wú)法登錄。如果用戶之前沒(méi)有賬號(hào),就可以選擇注冊(cè)一個(gè)全新的賬號(hào),根據(jù)注冊(cè)要求填入電子郵箱地址、密碼等內(nèi)容即可注冊(cè)。用戶在訪客狀態(tài),也就是未登錄狀態(tài)時(shí),無(wú)法瀏覽微博內(nèi)容。用戶成功登錄后可以在首頁(yè)對(duì)已經(jīng)關(guān)注的別的微博用戶的最近微博查看,也可以對(duì)其點(diǎn)贊,評(píng)論,轉(zhuǎn)發(fā)等。用戶登錄后,可以在系統(tǒng)中修改姓名、出生年月日等自己的基本信息。輸入之前的密保答案成功之后還可以修改密保信息,在輸入正確的密碼后,還可以修改舊密碼。編輯自己的個(gè)人微博主頁(yè),修改用戶自己的頭像,對(duì)別人的微博或者自己的微博點(diǎn)贊,轉(zhuǎn)發(fā),評(píng)論,關(guān)注除了自己之外的微博用戶,取消關(guān)注除了自己之外的微博用戶,拉黑除自己之外的微博用戶,私聊除自己之外的微博用戶等各種操作。本系統(tǒng)后端管理員輸入管理員密碼,登錄后即可查看本微博系統(tǒng)用戶所產(chǎn)生的一切數(shù)據(jù),這并不局限于微博數(shù)據(jù)、用戶數(shù)據(jù)。還可以以餅圖和柱狀圖的形式直觀地看到微博總數(shù)統(tǒng)計(jì)和本周提問(wèn)統(tǒng)計(jì)。管理員的管理權(quán)限包括但不限于刪除微博,管理提問(wèn)等。微博查找:用戶可以在用戶首頁(yè)微博流上方看到查找框,輸入指定字目點(diǎn)擊查找,頁(yè)面就會(huì)出現(xiàn)內(nèi)容包含指定字目的并且指定字目已經(jīng)被高亮的微博再選擇搜索用戶。微博發(fā)布:用戶在微博發(fā)送文本框中添加自己想要發(fā)送的內(nèi)容,或者在表情符號(hào)中點(diǎn)擊表情來(lái)添加表情,或者插入本地的圖片,注意文本框?qū)斎胱址麛?shù)量設(shè)限為140個(gè)漢字。微博評(píng)論:用戶可以通過(guò)點(diǎn)開(kāi)一條微博的評(píng)論區(qū),可以瀏覽別人在此條微博下發(fā)的評(píng)論,也可以自己發(fā)布評(píng)論評(píng)論別人的微博。提問(wèn):用戶可以提出問(wèn)題,除了提問(wèn)者本人之外的用戶可以確認(rèn)是否回答問(wèn)題,使用者選擇回答的話,被采納答案的回答者可以得到提問(wèn)者事先設(shè)置的懸賞積分作為回答的獎(jiǎng)勵(lì),海螺稱號(hào)系統(tǒng)會(huì)根據(jù)用戶的懸賞積分的多寡來(lái)變化不一樣的稱號(hào)。粉絲/好友:用戶通過(guò)該模塊看到用戶還沒(méi)有被本用戶關(guān)注的用戶,找到自己感興趣的用戶關(guān)注他們后,看到自己剛剛關(guān)注過(guò)的微博用戶或之前關(guān)注過(guò)的其他微博用戶,就可以在界面內(nèi)看到朋友的最新微博信息,也可以去單獨(dú)看朋友的個(gè)人信息,也可以給朋友發(fā)送個(gè)人的消息也就是私信。2.用例圖需求1).在未注冊(cè)也未登錄的狀態(tài)下打開(kāi)本網(wǎng)頁(yè),就可以在注冊(cè)和登錄中選擇,如果注冊(cè)之后因個(gè)人原因密碼被泄露,可以通過(guò)驗(yàn)證正確答案的密保問(wèn)題重新設(shè)置密碼。圖1初始用戶用例圖2).已注冊(cè)用戶進(jìn)入系統(tǒng)的方法可以通過(guò)登錄,就可以對(duì)自己的信息進(jìn)行修改操作,例如修改本人的性別等。圖2修改用戶信息用例圖3).用戶如果已經(jīng)注冊(cè)過(guò)就可以通過(guò)登錄進(jìn)入微博系統(tǒng),可以搜索自己或者別人的微博,在自己的微博內(nèi)發(fā)布新微博博文,查看別的用戶或自己的微博。圖3微博管理用例圖4).對(duì)微博的評(píng)論進(jìn)行管理,發(fā)布自己的評(píng)論,查看別人的評(píng)論,給別人評(píng)論點(diǎn)贊等。圖4評(píng)論管理用例圖5).微博問(wèn)題管理,用戶可以在此處發(fā)布提問(wèn),參與回答非用戶本人的提問(wèn),當(dāng)回答被該提問(wèn)的提問(wèn)者采納時(shí),可以獲得提問(wèn)者給出的相對(duì)應(yīng)的積分。圖5提問(wèn)管理用例圖6).已經(jīng)注冊(cè)過(guò)的用戶登錄之后,可以使用搜索功能自己搜索用戶關(guān)注,也可以通過(guò)主頁(yè)右下側(cè)的微博好友推薦位來(lái)關(guān)注別的微博用戶,也可以取消關(guān)注,或者向別的用戶發(fā)送私信,也可以從別的用戶接收私信。圖6好友管理用例圖7).管理員在管理員網(wǎng)頁(yè)登錄后,可以對(duì)用戶,微博等數(shù)據(jù)進(jìn)行刪除或者沖正操作。圖7管理員用例圖三、系統(tǒng)功能設(shè)計(jì)(一)系統(tǒng)類分析實(shí)體類:傳遞數(shù)據(jù)用,包括Weibo、User、Friend、WeiboTrans等,Weibo類中包括微博博文信息以及博文產(chǎn)生的互動(dòng)信息,同時(shí)包含User類;User類中包括微博用戶的基本信息;Friend類包括用戶的好友的用戶編號(hào)及其他的類;WeiboTrans類包含User類和Weibo類及其他的類??刂破黝悾涸赾ontroller層包含WeiboController以及別的三個(gè)類,在本系統(tǒng)內(nèi)這些控制器的用途如下文所示,服務(wù)器使用這個(gè)類來(lái)接收從瀏覽器端發(fā)來(lái)的請(qǐng)求信息,并處理從數(shù)據(jù)庫(kù)獲得的數(shù)據(jù)。它還控制瀏覽器請(qǐng)求的轉(zhuǎn)發(fā)動(dòng)作,從Service層獲得的返回內(nèi)容將相應(yīng)地傳遞到瀏覽器。MainController主要來(lái)接收鏈接請(qǐng)求,與此同時(shí),將瀏覽器發(fā)過(guò)來(lái)的請(qǐng)求參數(shù)向控制器對(duì)應(yīng)的方法里去作轉(zhuǎn)交,瀏覽器端接收到數(shù)據(jù),使得瀏覽器端可以顯示傳遞來(lái)的數(shù)據(jù)。FriendController主要來(lái)從好友相關(guān)界面中收到的各種鏈接請(qǐng)求,同時(shí)將好友相關(guān)界面中發(fā)來(lái)的請(qǐng)求參數(shù)向控制器類中對(duì)應(yīng)方法里作傳遞,通過(guò)業(yè)務(wù)層獲得返回的數(shù)據(jù)之后,同數(shù)據(jù)響應(yīng)一起傳遞給瀏覽器端,使得瀏覽器端可以顯示傳遞來(lái)的數(shù)據(jù)。AdminController主要來(lái)從管理員相關(guān)頁(yè)面中收到的各種form或者請(qǐng)求,同時(shí)將管理員相關(guān)界面中發(fā)來(lái)的請(qǐng)求參數(shù)一并向控制器類對(duì)應(yīng)的方法中傳遞,從業(yè)務(wù)層獲得返回?cái)?shù)據(jù)后,攜帶返回信息交回瀏覽器端,使返回信息可以在瀏覽器前臺(tái)顯示出來(lái)。業(yè)務(wù)邏輯類:有四個(gè)用來(lái)對(duì)外提供的服務(wù)的專用接口和這四個(gè)對(duì)外服務(wù)的專用接口對(duì)應(yīng)的實(shí)現(xiàn)類被包含在服務(wù)層內(nèi),專門處理用戶相關(guān)業(yè)務(wù)的是IUserService,例如登錄注冊(cè)等業(yè)務(wù)。專門處理系統(tǒng)信息相關(guān)業(yè)務(wù)的是IWeiboService,例如發(fā)布微博,查找微博,點(diǎn)贊微博等業(yè)務(wù)。專門處理用戶在系統(tǒng)內(nèi)好友相關(guān)業(yè)務(wù)的是IFriendService,例如私信好友,拉黑用戶等業(yè)務(wù)。專門處理系統(tǒng)管理員相關(guān)業(yè)務(wù)的是IAdminService,例如管理員登錄、微博管理等業(yè)務(wù)。數(shù)據(jù)庫(kù)交互類:由于制作系統(tǒng)底層的時(shí)候本人選用了MyBatis這一個(gè)底層數(shù)據(jù)庫(kù)環(huán)境,所以本人只需要專心處理好業(yè)務(wù)邏輯,而不需要把工作重心放在關(guān)注業(yè)務(wù)層和數(shù)據(jù)庫(kù)之間的代碼,因而節(jié)省了不少時(shí)間。無(wú)需編寫(xiě)接口的實(shí)現(xiàn)類,只需要在業(yè)務(wù)層接口中聲明好方法就可以。(二)關(guān)鍵業(yè)務(wù)設(shè)計(jì)1.登錄系統(tǒng)圖8登錄系統(tǒng)順序圖注冊(cè)功能,新用戶或者已經(jīng)注冊(cè)過(guò)的使用者可以進(jìn)入主頁(yè)進(jìn)行登錄或者注冊(cè)操作。位于畫(huà)面左側(cè)的注冊(cè)模塊可以方便用戶輸入自己的相關(guān)信息進(jìn)行注冊(cè)。當(dāng)用戶在文本框中輸入電子郵件時(shí),其輸入的電子郵件將通過(guò)Ajax技術(shù)發(fā)送到后臺(tái)。和數(shù)據(jù)庫(kù)比對(duì),檢查用戶郵箱是否已經(jīng)注冊(cè)。如果已注冊(cè)過(guò)后,將會(huì)在文本框右側(cè)提示用戶該郵箱已被注冊(cè)。如果檢查數(shù)據(jù)庫(kù)中沒(méi)有當(dāng)前用戶輸入的數(shù)據(jù),即可對(duì)用戶的輸入信息保存到用戶數(shù)據(jù)庫(kù)內(nèi)。登錄功能,當(dāng)用戶輸入正確的登錄信息后就可以選擇登錄,點(diǎn)擊登錄按鈕后該用戶就會(huì)被重定向至微博主頁(yè)。2.用戶信息系統(tǒng)圖9修改信息順序圖用戶基本信息:?jiǎn)螕粝到y(tǒng)主頁(yè)上的個(gè)人賬號(hào)設(shè)置后,它將跳至該頁(yè)面以修改基本用戶信息,例如姓名、性別等。用戶可以修改基本信息,并將修改過(guò)后的信息保存在數(shù)據(jù)庫(kù)中。修改密碼:在用戶配置頁(yè)面上,單擊修改密碼這個(gè)選項(xiàng)可以轉(zhuǎn)到進(jìn)行修改密碼動(dòng)作的頁(yè)面。用戶可以輸入用戶當(dāng)前的密碼,系統(tǒng)將檢查密碼是否正確。如果密碼不正確,則會(huì)顯示密碼錯(cuò)誤。首先需要驗(yàn)證是否是該用戶實(shí)際擁有者在進(jìn)行操作,所以需要驗(yàn)證本賬戶的舊密碼,舊密碼如果驗(yàn)證失敗將提示失敗并無(wú)法修改,如果舊密碼驗(yàn)證正確后,即可在下面兩個(gè)密碼框輸入新密碼,單擊“確認(rèn)修改”以更新數(shù)據(jù)庫(kù)中的修改者密碼。修改用戶頭像:首先要在用戶個(gè)人資料中點(diǎn)擊轉(zhuǎn)到個(gè)人資料,請(qǐng)單擊以轉(zhuǎn)到“編輯頭像”頁(yè)面,用戶選擇一個(gè)圖片文件,然后單擊“上傳”以將用戶的作為頭像的圖片保存到后臺(tái)服務(wù)器并確認(rèn)它是用戶的現(xiàn)在修改的之后顯示的作為頭像的圖片。數(shù)據(jù)庫(kù)便會(huì)將用戶的修改前所使用的的最后一個(gè)作為頭像的圖片完全刪除,在數(shù)據(jù)庫(kù)中以圖片在服務(wù)器中的地址進(jìn)行寫(xiě)入。修改密碼保護(hù)問(wèn)題:用戶填寫(xiě)的答案必須是正確的才能進(jìn)行下一步操作,如果密保答案是錯(cuò)誤的,用戶便無(wú)法修改。如果密保答案正確,使用者便可以輸入新的內(nèi)容對(duì)其進(jìn)行修改,并保存他們。3.微博模塊發(fā)布微博:用戶可以發(fā)送微型博客博文,也可以選擇在博文消息中插入表情符號(hào)或插入圖片。用戶發(fā)布后,系統(tǒng)將圖片文件轉(zhuǎn)移到服務(wù)器圖片目錄并保存好,僅將圖片在服務(wù)器中對(duì)應(yīng)的路徑保存到數(shù)據(jù)庫(kù),將微博信息保存到數(shù)據(jù)庫(kù)。搜索微博:用戶可以在主頁(yè)上的搜索框中輸入想搜索的微型博客博文內(nèi)容中涉及的指定字目進(jìn)行搜索,在搜索指定字目傳到后臺(tái)之后系統(tǒng)通過(guò)數(shù)據(jù)庫(kù)的查詢來(lái)搜索相關(guān)的微型博文信息。在主頁(yè)上顯示搜索到的頁(yè)面,并以紅色顯示你鍵入的搜索指定字目。微博操作;用戶有權(quán)利瀏覽自己的微博還有別人的微博,也可以轉(zhuǎn)發(fā)自己的微博,評(píng)論別人的微博,刪除自己的微博等。4.好友模塊關(guān)注功能:用戶登錄系統(tǒng)后,可以從推薦用戶列表中選擇想關(guān)注的微博使用者,也可以通過(guò)頁(yè)面上的查找功能進(jìn)行查找,以關(guān)注查找到的其他微博使用者。在關(guān)注別人的微博之后,個(gè)人關(guān)注數(shù)增加1位,被關(guān)注用戶的粉絲數(shù)量增加1位。取消關(guān)注:和關(guān)注功能操作非常相似,可以視為關(guān)注操作的反向操作。找到好友功能頁(yè)面,并在好友功能頁(yè)面上查看我的關(guān)注的系統(tǒng)中的其他用戶,用戶只需單擊已關(guān)注即可取消關(guān)注系統(tǒng)中這名用戶。用戶取消關(guān)注該名用戶后,用戶個(gè)人關(guān)注者的數(shù)量減少1位,該名用戶的粉絲隨之減少1位。拉黑用戶:通過(guò)修改好友表中相應(yīng)的記錄狀態(tài)來(lái)改變用戶對(duì)當(dāng)前用戶的狀態(tài),被拉黑用戶將看不到拉黑用戶發(fā)布的私信和微博信息。私信:您可以在好友界面里選中別的用戶并向?qū)Ψ桨l(fā)送私人信息,同理,對(duì)方也可以選中你,您也可以接收到別人發(fā)給你的私人信息。查找用戶:在搜索用戶頁(yè)面中,用戶可以輸入用戶昵稱的指定字目來(lái)查詢相關(guān)用戶,并在頁(yè)面上用紅色標(biāo)出用戶輸入的指定字目來(lái)顯示查詢到的用戶。用戶主頁(yè)面:在該頁(yè)面上,想跳轉(zhuǎn)到用戶主頁(yè),只需要點(diǎn)擊用戶的頭像或者用戶名就可以。點(diǎn)開(kāi)用戶的個(gè)人主頁(yè)會(huì)顯示該用戶的個(gè)人基本信息,例如郵箱地址,簽名等。用戶還會(huì)看到該名用戶發(fā)送于近期的按照發(fā)布時(shí)間由近至遠(yuǎn)依次排列的微博,用戶也可以對(duì)自己的微博點(diǎn)贊,轉(zhuǎn)發(fā),和別人的微博能進(jìn)行的操作一樣。5.微博問(wèn)題模塊發(fā)布問(wèn)題:用戶通過(guò)點(diǎn)擊頂部的微博提問(wèn)進(jìn)入微博提問(wèn)主頁(yè),在該頁(yè)面最明顯的就是可以編輯問(wèn)題并且發(fā)布提問(wèn)的文本框,和發(fā)微博的界面一樣,也可以選擇小表情符號(hào)插入文字,和發(fā)微博界面有所不同的是這里還可以對(duì)用戶發(fā)出的問(wèn)題的最終被采納的回答者獎(jiǎng)勵(lì)的懸賞積分?jǐn)?shù),在該文本框下面有幾個(gè)選項(xiàng)可以選擇最新除自己之外的用戶發(fā)布的問(wèn)題,還沒(méi)有解決的除自己之外的用戶發(fā)布的問(wèn)題等四個(gè)不同的問(wèn)題問(wèn)題狀態(tài)可以提供用戶點(diǎn)選。查看微博問(wèn)題:當(dāng)用戶點(diǎn)擊任何一個(gè)微博問(wèn)題,頁(yè)面將會(huì)變成該微博問(wèn)題的頁(yè)面,頁(yè)面展示了提問(wèn)者的用戶名,提問(wèn)者獲得的用戶稱號(hào),該問(wèn)題的發(fā)布時(shí)間,提問(wèn)者設(shè)置的該問(wèn)題的懸賞積分等內(nèi)容顯示在畫(huà)面上?;卮鹞⒉﹩?wèn)題:在微博問(wèn)題信息頁(yè)面最下部有一個(gè)文本框,用戶可以輸入這個(gè)問(wèn)題的答案,和發(fā)微博界面一樣地可以插入小表情以來(lái)回答該問(wèn)題,然后點(diǎn)擊回復(fù)按鈕以在數(shù)據(jù)庫(kù)中保存回答答案的信息。采納問(wèn)題答案:在用戶本人是提問(wèn)者的微博問(wèn)題主頁(yè)內(nèi),用戶可以選擇最能解釋自己疑惑的解答,并點(diǎn)擊該解答右側(cè)的采納,此時(shí)解答被采納,回答被采納者可以獲得該問(wèn)題提問(wèn)之初設(shè)計(jì)的獎(jiǎng)勵(lì)積分。6.后臺(tái)管理員模塊管理員登錄:輸入管理員具有獨(dú)立性唯一性保密性的且保證完全正確的管理員賬號(hào)與和正確的管理員賬號(hào)相匹配的管理員密碼后,點(diǎn)擊登錄進(jìn)入管理員登錄界面,后臺(tái)將會(huì)進(jìn)行非同步處理獲得在前臺(tái)獲得的管理員賬號(hào)和正確的管理員密碼,如果剛剛輸入的數(shù)據(jù)與正確數(shù)據(jù)為同一個(gè)數(shù)據(jù)將會(huì)進(jìn)入管理員管理界面,如果剛剛輸入的數(shù)據(jù)是錯(cuò)誤數(shù)據(jù),提示非法訪問(wèn)。管理員首頁(yè):在管理員頁(yè)面的頂部區(qū)域,可以看到四個(gè)選項(xiàng),點(diǎn)擊任意一個(gè)可以跳轉(zhuǎn)到用戶管理頁(yè)面,微博管理頁(yè)面和微博問(wèn)題管理頁(yè)面或者回到初始頁(yè)面。在首頁(yè)中間可以通過(guò)柱狀圖和餅圖了解到本微博系統(tǒng)本周數(shù)據(jù)和本系統(tǒng)微博,評(píng)論,微博問(wèn)題等全部數(shù)據(jù)可視化處理。用戶管理首頁(yè):所有的用戶按照編號(hào)排序顯示在該界面上,電子郵件地址,昵稱,用戶狀態(tài)等屬性一覽無(wú)余。由于本系統(tǒng)用戶數(shù)量龐大,為了方便管理員查找,故增加了分頁(yè)功能,一列可以放下十條數(shù)據(jù),也是因?yàn)橛脩魯?shù)龐大,搜索功能在用戶管理頁(yè)面也被添加進(jìn)來(lái)了。在搜索框中輸入指定字目,該指定字目必須是你要搜索的用戶的用戶名包含的指定字目,即可找到所有用戶名中包含該指定字目的用戶,并且搜索出來(lái)用戶名和指定字目相應(yīng)匹配的部分會(huì)標(biāo)紅顯示。用戶封禁:如果這名用戶在微博里言行舉止不恰當(dāng),那管理員就可以首先利用查找功能找到該用戶,然后在其用戶的最后一個(gè)選項(xiàng)點(diǎn)擊“封禁”以封禁該用戶。還可以輸入讓該用戶封禁的天數(shù),這樣,用戶將無(wú)法在該日期結(jié)束提前正常登錄到本微博系統(tǒng),本系統(tǒng)也設(shè)計(jì)使得用戶可以提前解封。微博管理首頁(yè):可以清晰地看到以微博的發(fā)布時(shí)間信息進(jìn)行倒序顯示,管理員可以系統(tǒng)提供的善用搜索功能,以違規(guī)詞為關(guān)鍵詞在全部的微博內(nèi)進(jìn)行全局搜索,搜出來(lái)以便將他們?nèi)縿h除,管理員不僅能刪除微博也可以恢復(fù)被自己誤刪的微博。微博查找:管理員輸入指定字目,所有微博內(nèi)含有指定字目的微博將會(huì)以指定字目被標(biāo)紅的樣子進(jìn)行展示。微博問(wèn)題管理首頁(yè):微博問(wèn)題管理被管理員點(diǎn)擊后將會(huì)轉(zhuǎn)為微博問(wèn)題管理界面。該頁(yè)面包含了所有的微博問(wèn)題信息,也有一個(gè)可以提供搜索微博問(wèn)題問(wèn)題功能的搜索框。所包含的微博問(wèn)題發(fā)布時(shí)的編號(hào),微博問(wèn)題提問(wèn)者的用戶名,微博問(wèn)題的具體內(nèi)容等被包含在微博問(wèn)題信息里。微博問(wèn)題搜索:在微博問(wèn)題管理主頁(yè)中,和微博管理一樣,由于數(shù)量可能會(huì)非常龐大,所以也在這里做了搜索功能,方便管理員查找,在上方搜索框中輸入管理員想查找的指定字目以搜索微博問(wèn)題,并顯示搜索結(jié)果。搜索指定字目將會(huì)以紅色高亮顯示以便于查看。(三)數(shù)據(jù)庫(kù)設(shè)計(jì)1.概述微博系統(tǒng)數(shù)據(jù)庫(kù)表主要包括:1).用戶表:用來(lái)保存當(dāng)前系統(tǒng)用戶的個(gè)人資料,例如用戶編號(hào)等信息,以用戶編號(hào)作為主鍵,如表1所示。2).微博關(guān)注表:用來(lái)保存用戶的關(guān)注用戶信息,以關(guān)注的用戶編號(hào)作為主鍵,如表2所示。3).微博表:用來(lái)保存微博信息,例如微博編號(hào),微博內(nèi)容,微博點(diǎn)贊數(shù)等,以微博編號(hào)作為主鍵,如表3所示。4).評(píng)論表:保存微博的評(píng)論消息,例如評(píng)論人編號(hào)、評(píng)論日期、評(píng)論內(nèi)容等,以評(píng)論編號(hào)作為主鍵,如表4所示。5).點(diǎn)贊表:用來(lái)保存微博的點(diǎn)贊信息,主要包括點(diǎn)贊編號(hào)等信息。以點(diǎn)贊編號(hào)作為主鍵,如表5所示。6).轉(zhuǎn)發(fā)表:用來(lái)保存用戶轉(zhuǎn)發(fā)的信息,主要有轉(zhuǎn)發(fā)編號(hào)、微博編號(hào)等信息,以轉(zhuǎn)發(fā)編號(hào)作為主鍵,如表6所示。2.概念設(shè)計(jì)一個(gè)使用者可以發(fā)送數(shù)條不一樣的微博,但是一個(gè)不一樣的微博一定對(duì)應(yīng)著一個(gè)微博使用者,很明顯微博表與用戶表存在多對(duì)一的邏輯關(guān)系,如圖10所示。圖10用戶表&微博表對(duì)應(yīng)關(guān)系一條微型博客博文可以進(jìn)行很多交互,例如評(píng)論,所以微博表與評(píng)論表之間是一對(duì)多的關(guān)系,與剩下的兩個(gè)表邏輯同理,在此不贅述,如圖11所示。圖11微博表與微博狀態(tài)各表對(duì)應(yīng)關(guān)系一個(gè)微博使用者可以對(duì)多條問(wèn)題進(jìn)行提問(wèn),每條問(wèn)題可以獲得多人多條的解答。所以用戶表、海螺表、回復(fù)表之前存在相應(yīng)對(duì)應(yīng)關(guān)系,如圖12所示。圖12用戶表與海螺表及其對(duì)應(yīng)回復(fù)表對(duì)應(yīng)關(guān)系3.數(shù)據(jù)庫(kù)表1).用戶表:數(shù)據(jù)庫(kù)表名YONGHU_BIAO。表1用戶表2).關(guān)注表:數(shù)據(jù)庫(kù)表GUANZHU_BIAO。表2關(guān)注表3).微博表:數(shù)據(jù)庫(kù)表名WEIBO_TAB。表3微博表4).評(píng)論表:數(shù)據(jù)庫(kù)表名PINGLUN_BIAO。表4評(píng)論表5).點(diǎn)贊表:數(shù)據(jù)庫(kù)表名DIANZAN_BIAO。表5點(diǎn)贊表6).轉(zhuǎn)發(fā)表:數(shù)據(jù)庫(kù)表名ZHUANFA_BIAO。表6轉(zhuǎn)發(fā)表四、系統(tǒng)功能實(shí)現(xiàn)(一)登錄模塊當(dāng)用戶輸入電子郵件時(shí),通過(guò)一種非同步傳輸頁(yè)面的Ajax技術(shù)在用戶將文本框中輸入的電子郵件傳遞到后臺(tái)控制處。后臺(tái)將會(huì)和數(shù)據(jù)庫(kù)保持通信以檢查用戶的郵箱是不是第一次注冊(cè)。如果數(shù)據(jù)庫(kù)回傳數(shù)據(jù)說(shuō)該郵箱已經(jīng)注冊(cè)過(guò)了,前段網(wǎng)頁(yè)會(huì)提示用戶說(shuō)這個(gè)郵箱已經(jīng)注冊(cè)過(guò)了,如果用戶沒(méi)有忘記自己的登錄密碼就可以直接登錄,輸入基本信息后點(diǎn)擊注冊(cè)的用戶在瀏覽器中輸入注冊(cè)信息。注冊(cè)信息通過(guò)用戶端的瀏覽器向內(nèi)傳送注冊(cè)請(qǐng)求給到控制器層,利用控制器進(jìn)行控制請(qǐng)求,并將組裝好的用戶注冊(cè)信息傳遞給服務(wù)層,服務(wù)層將會(huì)接手控制器層傳遞過(guò)來(lái)的用戶基本信息并為其創(chuàng)建新用戶,設(shè)置默認(rèn)的頭像等操作,合成一個(gè)新用戶數(shù)據(jù)核心完成后,由數(shù)據(jù)訪問(wèn)層利用寫(xiě)好的方法將當(dāng)前新用戶的信息向數(shù)據(jù)庫(kù)當(dāng)中進(jìn)行寫(xiě)入與持久化保存等操作,關(guān)鍵代碼如圖13所示。圖13注冊(cè)功能控制器層關(guān)鍵代碼圖14注冊(cè)功能界面圖15微博主頁(yè)界面用戶微博主頁(yè):在用戶輸入正確用戶名和密碼登錄成功后,用戶可以點(diǎn)擊自己的昵稱,也可以點(diǎn)擊別人的昵稱進(jìn)入都可以進(jìn)入微博用戶主頁(yè),用戶的個(gè)人主頁(yè)顯示按時(shí)間倒序排列的用戶的微博和用戶已經(jīng)填寫(xiě)的個(gè)人信息,用戶也可以對(duì)微博作點(diǎn)贊操作。與之對(duì)應(yīng)的后臺(tái)代碼,當(dāng)用戶點(diǎn)擊其他用戶昵稱時(shí),瀏覽器會(huì)攜帶id數(shù)據(jù)向控制器層發(fā)起請(qǐng)求。服務(wù)層中對(duì)應(yīng)的方法會(huì)被控制器層調(diào)用,調(diào)用數(shù)據(jù)持久層的接口從數(shù)據(jù)庫(kù)中獲取用戶的基本信息和其相對(duì)應(yīng)的微博信息,將獲得的數(shù)據(jù)從數(shù)據(jù)持久層重新進(jìn)入控制器層,控制器層得到持久層送來(lái)的數(shù)據(jù)傳遞到瀏覽器在前臺(tái)頁(yè)面作顯示,如圖所示。關(guān)鍵代碼如圖16所示。圖16微博主頁(yè)關(guān)鍵代碼圖17微博主頁(yè)界面(二)用戶管理模塊用戶基本信息的修改:如圖所示,當(dāng)用戶修改信息,用戶將提交form,控制器端會(huì)接收到從瀏覽器端帶著用戶基本信息的請(qǐng)求。form中的數(shù)據(jù)將被重新組合成一個(gè)新的用戶對(duì)象,這個(gè)組裝完成的對(duì)象將參數(shù)傳遞給服務(wù)層中的對(duì)應(yīng)方法中進(jìn)行進(jìn)一步處理。利用數(shù)據(jù)持久層的相關(guān)通信規(guī)則來(lái)修改提出修改信息的用戶的基本信息。并在此時(shí)登錄用戶的會(huì)話中修改用戶對(duì)象信息。關(guān)鍵代碼如下圖18所示。圖18修改用戶基本信息關(guān)鍵代碼圖19修改用戶基本信息界面修改密碼:?jiǎn)螕粲脩魝€(gè)人資料頁(yè)面上的修改密碼,它將跳至修改密碼頁(yè)面,如圖所示。為了驗(yàn)證是否是該用戶實(shí)際擁有者在進(jìn)行操作,所以需要驗(yàn)證本賬戶的舊密碼,利用非同步請(qǐng)求的ajax帶著用戶的密碼數(shù)據(jù)傳遞給控制器層,后臺(tái)控制器接收該請(qǐng)求并將其向數(shù)據(jù)庫(kù)發(fā)送查詢請(qǐng)求,數(shù)據(jù)庫(kù)判斷當(dāng)前密碼是正確還是錯(cuò)誤與否,舊密碼如果驗(yàn)證失敗將提示失敗并無(wú)法修改,則會(huì)通過(guò)js代碼在網(wǎng)頁(yè)上局部刷新顯示,用戶能否輸入新密碼取決于舊密碼是否通過(guò)驗(yàn)證,輸入密碼和再次輸入密碼后即可點(diǎn)擊確認(rèn)新密碼前臺(tái)瀏覽器將會(huì)給控制器端發(fā)送一個(gè)帶著新密碼的表單,由控制器層傳遞給服務(wù)層作處理,服務(wù)器層利用對(duì)應(yīng)方法讓數(shù)據(jù)持久層去和數(shù)據(jù)庫(kù)作處理,同時(shí)更改瀏覽器會(huì)話中的用戶信息,如果不更改會(huì)話信息會(huì)導(dǎo)致每次更改密碼后都要重新登錄。關(guān)鍵代碼如下圖20所示。圖20修改用戶密碼關(guān)鍵代碼圖21修改用戶密碼界面(三)微博管理模塊發(fā)布微博:在用戶登錄微博系統(tǒng)后,用戶可以發(fā)布微博,也可以在微博輸入框下方選擇插入表情或者圖片,在本系統(tǒng)的前臺(tái)頁(yè)面中,顯示表情采用的是JS技術(shù)內(nèi)的標(biāo)簽,用戶輸入好想發(fā)的微博內(nèi)容,添加好表情和圖片后就可以發(fā)送微博,瀏覽器將會(huì)把用戶發(fā)博內(nèi)容連同用戶識(shí)別標(biāo)簽一起打包向服務(wù)層傳遞,將用戶上傳的圖片保存在服務(wù)器內(nèi),在數(shù)據(jù)庫(kù)里的微博表只保存這個(gè)圖片在服務(wù)器里的地址,將微博內(nèi)容連同圖片地址調(diào)用數(shù)據(jù)持久層保存在數(shù)據(jù)庫(kù)中。關(guān)鍵代碼如下圖22所示。圖22發(fā)布微博關(guān)鍵代碼圖23發(fā)布微博界面微博點(diǎn)贊操作;點(diǎn)擊用戶想點(diǎn)贊的微博,通過(guò)非同步的JavaScript與XML技術(shù)將本篇被點(diǎn)贊的微博ID提交給后臺(tái)控制器,同時(shí)獲取當(dāng)前登錄用戶的個(gè)人信息,傳遞相對(duì)應(yīng)的參數(shù)給服務(wù)層,服務(wù)層利用接口和數(shù)據(jù)持久層通信并在數(shù)據(jù)庫(kù)中建立連接記錄,評(píng)論同理,關(guān)鍵代碼如下圖24所示。圖24點(diǎn)贊&評(píng)論關(guān)鍵代碼圖25點(diǎn)贊&評(píng)論界面(四)提問(wèn)模塊發(fā)布問(wèn)題:當(dāng)已經(jīng)登錄的用戶進(jìn)入微博提問(wèn)主頁(yè),瀏覽器會(huì)向后臺(tái)發(fā)送響應(yīng)請(qǐng)求,后臺(tái)調(diào)用數(shù)據(jù)庫(kù)對(duì)應(yīng)的方法,服務(wù)層可以在數(shù)據(jù)庫(kù)中調(diào)用相應(yīng)的接口來(lái)查找有關(guān)不同篩選條件的微博問(wèn)題,服務(wù)器將查找到的問(wèn)題封裝起來(lái)向后臺(tái)發(fā)送響應(yīng),前臺(tái)展示出查找到的所有問(wèn)題。用戶可以發(fā)布問(wèn)題,用戶填寫(xiě)問(wèn)題和選擇懸賞數(shù)值過(guò)后,點(diǎn)擊發(fā)布之后瀏覽器會(huì)向后臺(tái)控制器提交form,首先在服務(wù)層中判斷提問(wèn)用戶的積分?jǐn)?shù),如果積分足夠就調(diào)用數(shù)據(jù)持久層接口把用戶發(fā)出的問(wèn)題在數(shù)據(jù)庫(kù)中進(jìn)行保存同時(shí)對(duì)用戶的懸賞積分進(jìn)行扣除。關(guān)鍵代碼如下圖26所示。圖26微博提問(wèn)關(guān)鍵代碼圖27微博提問(wèn)界面(五)后臺(tái)管理模塊管理員登錄:在用戶初始登錄頁(yè)面中管理員可以點(diǎn)擊管理員登錄,是會(huì)顯示管理員登錄界面,管理員輸入正確的管理員賬戶和口令就可以登錄,瀏覽器將會(huì)向控制器層發(fā)送帶著當(dāng)前用戶輸入的管理員賬戶與管理員口令的請(qǐng)求,后臺(tái)控制器層接收到前臺(tái)瀏覽器發(fā)來(lái)的請(qǐng)求,將管理員賬戶和口令作為輸入輸入數(shù)據(jù)對(duì)業(yè)務(wù)層中的方法進(jìn)行初始化參數(shù),使數(shù)據(jù)持久層收到服務(wù)層發(fā)送的命令來(lái)調(diào)用接口查詢,如果查詢這兩個(gè)輸入數(shù)據(jù)在服務(wù)器中匹配就返回管理員類,如果這兩個(gè)輸入數(shù)據(jù)經(jīng)過(guò)查詢不存在,則由持久層返回?cái)?shù)據(jù)處理異常,異常經(jīng)過(guò)服務(wù)層,業(yè)務(wù)層最終在控制器層中被最終接收,并將接受到的異常信息保存

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論