版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)論文(設(shè)計(jì))</p><p> 題 目:基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)</p><p> 學(xué) 院:</p><p> 學(xué)生姓名:</p><p> 專 業(yè):電子信息工程</p><p> 班 級(jí):</p><p> 指導(dǎo)教師:</p&
2、gt;<p> 起止日期:</p><p> 基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)</p><p><b> 摘要</b></p><p> 微型博客,簡(jiǎn)稱微博(Micro-Blog),是一個(gè)基于用戶關(guān)系的信息分享、傳播以及獲取平臺(tái),用戶以文字的形式更新信息,并實(shí)現(xiàn)即時(shí)共享。微博的公開性和即時(shí)性使其成為目前發(fā)展最為迅猛的互聯(lián)網(wǎng)業(yè)
3、務(wù)。</p><p> 微博誕生時(shí)間雖不長(zhǎng),但其發(fā)展前景及產(chǎn)生的影響值得探討。目前微博的發(fā)展,仍存在著盈利模式不清晰、監(jiān)管難度大、難以保持良久互動(dòng)性等問題,但其未來的發(fā)展?jié)摿θ员豢春?,即時(shí)搜索功能、電子商務(wù)功能、手機(jī)微博類產(chǎn)品仍可能給微博帶來良好的市場(chǎng)前景。而在“微動(dòng)力”的推動(dòng)下,新媒體時(shí)代的政界、商界以及傳統(tǒng)媒體也借勢(shì)微博產(chǎn)生了更多的新變化。</p><p> 微博系統(tǒng)在設(shè)計(jì)方面采用
4、B/S模式,同時(shí)使用JSP和SSH框架技術(shù)進(jìn)行基本頁(yè)面的設(shè)計(jì)與功能實(shí)現(xiàn),后臺(tái)數(shù)據(jù)庫(kù)選用MySQL數(shù)據(jù)庫(kù)。本項(xiàng)目開發(fā)的核心內(nèi)容就是實(shí)現(xiàn)將微博用戶的最新信息即時(shí)傳遞給微博的關(guān)注者,讓微博用戶可以即時(shí)的看到你的最新信息,包括用戶的個(gè)人信息設(shè)置,發(fā)布新鮮事,轉(zhuǎn)發(fā)好友的新鮮事,評(píng)論等功能。注冊(cè)用戶能通過廣播找朋友,對(duì)你喜歡的用戶添加關(guān)注,發(fā)布帶話題和圖片的消息,回復(fù)你看到的用戶發(fā)布的消息,可以給你關(guān)注的微博用戶發(fā)私信,查看個(gè)人首頁(yè),查看回復(fù)消息和
5、查看私信等。微博的主要特點(diǎn)就是簡(jiǎn)短寫作和快捷發(fā)布,實(shí)時(shí)感和動(dòng)態(tài)感更強(qiáng)。</p><p> 由于我的課題是基于JAVA的微博個(gè)人主頁(yè)面的設(shè)計(jì),所以我實(shí)現(xiàn)的功能基本上有微博的發(fā)布、微博的評(píng)論及轉(zhuǎn)發(fā)、與其它微博用戶的互粉等等。</p><p> 關(guān)鍵詞:JAVA;SNS;SSH</p><p><b> Abstract</b></p&g
6、t;<p> Micro-blog,called micro-Bo (Micro-Blog),is a relationship based on user information-sharing,dissemination and access platform,users update information in the form of text and instant sharing. Because of it
7、s openness and instantaneity, Micro blog become the fastest growing Internet business.</p><p> The Micro-blog birth time is not long, but its development prospect and influence should be discussed. At prese
8、nt the development of Micro-blog, there is still not clear, the profit pattern supervision is difficult, difficult to maintain a very long interaction, etc, but their future development potential is still seen as instant
9、 search function, e-commerce function, mobile phone Micro-blog products could still give the Micro-blog bringing good market prospect. And in "the power" of the promotio</p><p> Micro-Blog system
10、in design adopts B / S mode,while using the JSP and SSH frame technology in the basic page design and implementation of function, the background database use MySQL database. The core of the system development is to achie
11、ve the latest information of the micro-Bo user instant transfer to micro-Bo concern person, including setting the user's personal information,publishing news,forwarding friends , news,comments and other functions. Re
12、gistered users can find your friends through r</p><p> Because of my subject is based on a JAVA personal homepage design of Micro-blog, so I realize there are basically the function of Micro-blog’s release,
13、 the Micro-blog’s comments and forwarding, and other Micro-blog’s user of both powder, etc.</p><p> Keywords: JAVA;SNS;SSH</p><p><b> 目錄</b></p><p><b> 前言1<
14、/b></p><p> 第1章 基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)的研究2</p><p> 1.1項(xiàng)目開發(fā)背景2</p><p> 1.2國(guó)內(nèi)外研究史2</p><p><b> 1.2.1國(guó)外2</b></p><p><b> 1.2.2國(guó)內(nèi)2</b
15、></p><p> 1.3相關(guān)技術(shù)介紹3</p><p> 1.3.1SNS3</p><p> 1.3.2開源框架整合SSH技術(shù)3</p><p> 1.3.3開發(fā)工具5</p><p> 1.4項(xiàng)目實(shí)現(xiàn)意義5</p><p><b> 1.5論文章節(jié)
16、5</b></p><p><b> 1.6小結(jié)6</b></p><p> 第2章 基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)的需求分析7</p><p> 2.1項(xiàng)目可行性分析7</p><p> 2.1.1技術(shù)可行性分析7</p><p> 2.1.2社會(huì)經(jīng)濟(jì)效益分析7
17、</p><p> 2.1.3用戶操作可行性分析7</p><p> 2.1.4項(xiàng)目主要風(fēng)險(xiǎn)分析7</p><p> 2.2項(xiàng)目需求分析7</p><p> 2.2.1項(xiàng)目需求7</p><p> 2.2.2需求功能用例分析8</p><p> 2.2.3總體設(shè)計(jì)原則10
18、</p><p><b> 2.3小結(jié)11</b></p><p> 第3章 基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)的內(nèi)容12</p><p> 3.1項(xiàng)目體系結(jié)構(gòu)設(shè)計(jì)12</p><p> 3.2類圖設(shè)計(jì)12</p><p> 3.3數(shù)據(jù)庫(kù)設(shè)計(jì)13</p><p
19、> 3.4詳細(xì)設(shè)計(jì)14</p><p><b> 3.5小結(jié)16</b></p><p> 第4章 基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)的實(shí)現(xiàn)17</p><p> 4.1開發(fā)環(huán)境配置17</p><p> 4.2界面實(shí)現(xiàn)19</p><p> 4.3項(xiàng)目亮點(diǎn)及關(guān)鍵技術(shù)2
20、1</p><p> 4.3.1P0層(數(shù)據(jù)持久化對(duì)象層)的實(shí)現(xiàn)21</p><p> 4.3.2DAO(數(shù)據(jù)訪問對(duì)象層)的實(shí)現(xiàn)22</p><p> 4.3.3Action層(業(yè)務(wù)邏輯層)的實(shí)現(xiàn)22</p><p> 4.3.4Web層的實(shí)現(xiàn)22</p><p><b> 4.4小結(jié)22
21、</b></p><p> 第5章 基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)的測(cè)試23</p><p> 5.1測(cè)試方案23</p><p> 5.2測(cè)試結(jié)果23</p><p><b> 5.3小結(jié)23</b></p><p><b> 小結(jié)24</b&g
22、t;</p><p><b> 致謝25</b></p><p><b> [參考文獻(xiàn)]26</b></p><p><b> .</b></p><p><b> 前言</b></p><p> 微博,即微博客(Mi
23、croBlog)的簡(jiǎn)稱,是一個(gè)基于用戶關(guān)系的信息分享、傳播以及獲取平臺(tái),用戶可以通過WEB、WAP以及各種客戶端組建個(gè)人社區(qū),以140字左右的文字更新信息,并實(shí)現(xiàn)即時(shí)分享。最早也是最著名的微博是美國(guó)的Twitter,根據(jù)相關(guān)公開數(shù)據(jù),截至2010年1月份,該產(chǎn)品在全球已經(jīng)擁有7500萬注冊(cè)用戶。2009年8月份中國(guó)最大的門戶網(wǎng)站新浪網(wǎng)推出“新浪微博”內(nèi)測(cè)版,成為門戶網(wǎng)站中第一家提供微博服務(wù)的網(wǎng)站,微博正式進(jìn)入中文上網(wǎng)主流人群視野。<
24、;/p><p> 微博最大的特點(diǎn)就是繼承化和開放化,你可以通過你的手機(jī)、IM軟件(gtalk、MSN、QQ、skype)和外部API接口等途徑向你的微博發(fā)布消息。國(guó)內(nèi)知名新媒體領(lǐng)域研究學(xué)者陳永東在國(guó)內(nèi)率先給出了微博的定義:微博是一種通過關(guān)注機(jī)制分享簡(jiǎn)短實(shí)時(shí)信息的廣播式的社交網(wǎng)絡(luò)平臺(tái)。其中有五方面的理解: </p><p> 1.關(guān)注機(jī)制:可單向可雙向 </p><p&g
25、t; 2.簡(jiǎn)短內(nèi)容:通常為140字 </p><p> 3.實(shí)時(shí)信息:最新實(shí)時(shí)信息 </p><p> 4.廣播式:公開的信息,誰都可以瀏覽 </p><p> 5.社交網(wǎng)絡(luò)平臺(tái):把微博歸為社交網(wǎng)絡(luò)</p><p> 微博在這里有兩方面的含義: </p><p> 首先,相對(duì)于強(qiáng)調(diào)版面布置的博客來說,微博的
26、內(nèi)容組成只是由簡(jiǎn)單的只言片語(yǔ)組成,從這個(gè)角度來說,對(duì)用戶的技術(shù)要求門檻很低,而且在語(yǔ)言的編排組織上,沒有博客那么高。 </p><p> 其次,微博開通的多種API使得大量的用戶可以通過手機(jī)、網(wǎng)絡(luò)等方式來即時(shí)更新自己的個(gè)人信息。</p><p> 第1章 基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)的研究</p><p> 本章介紹了項(xiàng)目開發(fā)的背景,及其國(guó)內(nèi)外研究現(xiàn)狀和發(fā)
27、展趨勢(shì),同時(shí)介紹了項(xiàng)目在實(shí)現(xiàn)過程中采用的相關(guān)技術(shù)。</p><p><b> 1.1項(xiàng)目開發(fā)背景</b></p><p> 近幾年來,互聯(lián)網(wǎng)發(fā)展的十分的快速,許多新型的網(wǎng)絡(luò)媒體以及網(wǎng)絡(luò)營(yíng)銷工具都應(yīng)運(yùn)而生。面對(duì)目前網(wǎng)上各路微博,如新浪微博、騰訊微博等,不難發(fā)現(xiàn)微博已經(jīng)變得很流行了,我分析了其流行的原因后,可總結(jié)歸納為:</p><p><
28、;b> 1.簡(jiǎn)單易用</b></p><p> 相對(duì)于強(qiáng)調(diào)版面布置的博客來說,微博的內(nèi)容組成只是由簡(jiǎn)單的只言片語(yǔ)組成,從這個(gè)角度來說,對(duì)用戶的技術(shù)要求門檻很低。而且在語(yǔ)言的編排組織上,沒有博客那么高,只需要反映自己的心情,不需要長(zhǎng)篇大論,更新起來也方便。</p><p><b> 2.人際圈的影響</b></p><p>
29、; 相對(duì)于博客來說,用戶的關(guān)注屬于一種“被動(dòng)”的關(guān)注狀態(tài),寫出來的內(nèi)容其傳播給的大眾也并不確定。而微博的關(guān)注則更為主動(dòng),只要輕點(diǎn)“follow”,即表示你愿意接受某位用戶的及時(shí)更新信息。從這個(gè)角度上來說,對(duì)于商業(yè)推廣、明星效應(yīng)的傳播更有研究?jī)r(jià)值。同時(shí),對(duì)于普通人來說,微博的關(guān)注友人大多來自事實(shí)的生活圈子,用戶的一言一行不但起到發(fā)泄感情、記錄思想的作用,更重要的是維護(hù)了人際關(guān)系。</p><p> 3.與web
30、2.0相結(jié)合</p><p> 相對(duì)于博客需要組織語(yǔ)言陳述事實(shí)或者采取修辭手法來表達(dá)心情,微博只言片語(yǔ)“語(yǔ)錄體”的即時(shí)表達(dá)更加符合現(xiàn)代人的生活節(jié)奏和習(xí)慣。而新技術(shù)的運(yùn)用則使得用戶(作者)也更加容易對(duì)訪問者的留言進(jìn)行回復(fù),從而養(yǎng)成良好的互動(dòng)關(guān)系。綜上所述,微博占據(jù)了天時(shí)地利人和,想不紅都難。</p><p> 在這個(gè)大背景前提下,我準(zhǔn)備基于JAVA設(shè)計(jì)微博的個(gè)人主頁(yè)面。</p>
31、;<p><b> 1.2國(guó)內(nèi)外研究史</b></p><p><b> 1.2.1國(guó)外</b></p><p> 2006年3月,博客技術(shù)先驅(qū)blogger創(chuàng)始人埃文?威廉姆斯(Evan Williams)創(chuàng)建的新興公司Obvious推出了大微博服務(wù)。在最初階段,這項(xiàng)服務(wù)只是用于向好友的手機(jī)發(fā)送文本信息。Twitter是20
32、06年3月由blogger的創(chuàng)始人威廉姆斯(Evan Williams)推出的,英文原意為小鳥的嘰嘰喳喳聲,用戶能用如發(fā)手機(jī)短信的數(shù)百種工具更新信息。Twitter是一個(gè)社交網(wǎng)絡(luò)及微博客服務(wù)。用戶可以經(jīng)由SMS、即時(shí)通信、電郵、Twitter網(wǎng)站或Twitter客戶端軟件(如Twitterrific)輸入最多140字的文字更新,Twitter被Alexa網(wǎng)頁(yè)流量統(tǒng)計(jì)評(píng)定為最受歡迎的50個(gè)網(wǎng)絡(luò)應(yīng)用之一。 </p><p
33、> 在2007年5月,國(guó)際間計(jì)算總共有111個(gè)類似Twitter的網(wǎng)站。2005年從校內(nèi)網(wǎng)起家的王興,在2006年把企業(yè)賣給千橡互動(dòng)后,于2007年5月創(chuàng)建了飯否網(wǎng)。而騰訊作為一個(gè)擁有4.1億QQ用戶的企業(yè),看著用戶對(duì)隨時(shí)隨地發(fā)布自己狀態(tài)的強(qiáng)烈需求后,也忍不住嘗試了一把,2007年8月13日騰訊滔滔上線。</p><p><b> 1.2.2國(guó)內(nèi) </b></p>&
34、lt;p> 從2007年中國(guó)第一家?guī)в形⒉┥实娘埛窬W(wǎng)開張,到2009年,微博這個(gè)全新的名詞,以摧枯拉朽的姿態(tài)掃蕩世界,打敗奧巴馬、甲流等等名詞,成為全世界最流行的詞匯。 2009年7月中旬開始,國(guó)內(nèi)大批老牌微博產(chǎn)品(飯否、騰訊滔滔等)停止運(yùn)營(yíng),一些新產(chǎn)品開始進(jìn)入人們的視野,像開放的嘰歪,6月份開放的Follow5,7月份開放的9911,8月份開放的新浪微博,其中Follow5在2009年7月19日孫楠大連演唱會(huì)上的亮相, 是國(guó)
35、內(nèi)第一次將微博引入大型演藝活動(dòng),與twitter當(dāng)年的發(fā)展頗有幾分神似。 </p><p> 2010年國(guó)內(nèi)微博迎來來春天,微博像雨后春筍般崛起。四大門戶網(wǎng)站均開設(shè)微博。根據(jù)相關(guān)公開數(shù)據(jù),截至2010年1月份,該產(chǎn)品在全球已經(jīng)擁有7500萬注冊(cè)用戶。 </p><p> 2011年上半年,我國(guó)微博用戶數(shù)量從6331萬增至1.95億,半年增幅高達(dá)208.9%。微博在網(wǎng)民中的普及率從13.
36、8%增至40.2%。從2010年底至今,手機(jī)微博在網(wǎng)民中的使用率比例從15.5%上升到34%。 </p><p> 至今,新浪微博用戶數(shù)超過1億,得益于搶占了先機(jī),而且在整體的戰(zhàn)略執(zhí)行上也比較徹底到位,所以獲得了現(xiàn)在的地位。僅僅兩年時(shí)間,新浪微博就為新浪生下了一個(gè)價(jià)值幾十億美金的‘金蛋’。</p><p> 高校教育平臺(tái)也隨之建立,如騰訊微博校園上的高校新聞哥微博體系的發(fā)展,推動(dòng)了中國(guó)
37、教育事業(yè)信息化發(fā)展的步伐。 </p><p> 2012年1月,據(jù)中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)報(bào)告顯示,截至2011年12月底,我國(guó)微博用戶數(shù)達(dá)到2.5億,較上一年底增長(zhǎng)了296.0%,網(wǎng)民使用率為48.7%。微博用一年時(shí)間發(fā)展成為近一半中國(guó)網(wǎng)民使用的重要互聯(lián)網(wǎng)應(yīng)用。</p><p> 有人說,2010年是中國(guó)的微博元年,那么2011年就是中國(guó)的微博壯年。</p>
38、<p><b> 1.3相關(guān)技術(shù)介紹</b></p><p> 本項(xiàng)目主要使用JSP、Struts技術(shù)對(duì)項(xiàng)目進(jìn)行設(shè)計(jì)和開發(fā)。JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。而且使用MySQL數(shù)據(jù)庫(kù)作為后臺(tái)數(shù)據(jù)庫(kù)。B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Interne
39、t技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成所謂3-tier結(jié)構(gòu)。</p><p><b> 1.3.1SNS</b></p><p> SNS,全稱Social Networking Services,即社會(huì)性網(wǎng)絡(luò)服務(wù),專指旨在幫助人們建立社會(huì)性
40、網(wǎng)絡(luò)的互聯(lián)網(wǎng)應(yīng)用服務(wù)。也指社會(huì)現(xiàn)有已成熟普及的信息載體,如短信SMS服務(wù)。SNS的另一種常用解釋:全稱Social Network Site,即“社交網(wǎng)站”或“社交網(wǎng)”。社會(huì)性網(wǎng)絡(luò)(Social Networking)是指?jìng)€(gè)人之間的關(guān)系網(wǎng)絡(luò),這種基于社會(huì)網(wǎng)絡(luò)關(guān)系系統(tǒng)思想的網(wǎng)站就是社會(huì)性網(wǎng)絡(luò)網(wǎng)站(SNS網(wǎng)站)。SNS也指Social Network Software,社會(huì)性網(wǎng)絡(luò)軟件,是一個(gè)采用分布式技術(shù),通俗地說是采用P2P技術(shù),構(gòu)建的下
41、一代基于個(gè)人的網(wǎng)絡(luò)基礎(chǔ)軟件。</p><p> 1.3.2開源框架整合SSH技術(shù)</p><p> Struts 是一種MVC 的框架,主要實(shí)現(xiàn)了視圖和控制器的分離,其核心是web work,主要分為模型(Model)、視圖(Viewer)和控制器(Controller)三部分,其主要的設(shè)計(jì)理念是通過控制器將表現(xiàn)邏輯和業(yè)務(wù)邏輯解耦,以提高系統(tǒng)的可維護(hù)性、可擴(kuò)展性和可重用性。為了能夠能夠
42、實(shí)現(xiàn)視圖和控制器的分離,它使用大量的能夠截獲用戶請(qǐng)求的攔截器。當(dāng)用戶發(fā)送HTTP 請(qǐng)求的時(shí)候,核心控制器根據(jù)用戶的請(qǐng)求找到對(duì)應(yīng)的Action,然后將用戶的參數(shù)傳遞給Action 中對(duì)應(yīng)的處理函數(shù),并按照?qǐng)?zhí)行該函數(shù),進(jìn)行業(yè)務(wù)邏輯處理。當(dāng)業(yè)務(wù)邏輯處理完成后,系統(tǒng)會(huì)根據(jù)配置文件中指定的結(jié)果返回給請(qǐng)求的發(fā)出者,返回的結(jié)果不僅限于JSP,也可以是其他的視圖,比如文件,圖像等。</p><p> Spring 是一個(gè)輕量級(jí)
43、J2EE 框架,實(shí)質(zhì)上是一個(gè)Bean 工場(chǎng),能夠很好地完成對(duì)JavaBeans的管理,使得開發(fā)更加便捷,組織更加合理有效。其最重要的功能是控制反轉(zhuǎn)和面向切面的編程。前者可以使對(duì)象擺脫對(duì)依賴的查詢,框架會(huì)主動(dòng)將對(duì)象所關(guān)聯(lián)的依賴注入給對(duì)象。后者則有利于實(shí)現(xiàn)業(yè)務(wù)分離,它將核心業(yè)務(wù)代碼從和常規(guī)業(yè)務(wù)代碼分離開來,讓開發(fā)者更加關(guān)注于業(yè)務(wù)的實(shí)現(xiàn)。Spring框架由七個(gè)定義明確的模塊組成,且每個(gè)模塊或組件都可以單獨(dú)存在,或者與其他一個(gè)或多個(gè)模塊聯(lián)合實(shí)現(xiàn)
44、。Spring Core Container是一個(gè)用來管理業(yè)務(wù)組件的IoC容器,是Spring應(yīng)用的核心;Spring DAO和Spring ORM不僅提供數(shù)據(jù)訪問的抽象模塊,還集成了對(duì)Hibernate、JDO和iBatis等流行的對(duì)象關(guān)系映射框架的支持模塊,并且提供了緩沖連接池、事務(wù)處理等重要的服務(wù)功能,保證了系統(tǒng)的性能和數(shù)據(jù)的完整性;Sprnig Web模塊提供了Web應(yīng)用的一些抽象封裝,可以將Struts、Webwork等Web
45、框架與Spring整合成為適用于自己的解決方案。</p><p> Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來操縱數(shù)據(jù)庫(kù)。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。底層數(shù)據(jù)庫(kù)的改變只需要簡(jiǎn)單地更改初
46、始化配置文件(hibernate.cfg.xml或者h(yuǎn)ibernate.properties)即可,不會(huì)對(duì)應(yīng)用程序產(chǎn)生影響。Hibernate有自己的面向?qū)ο蟮牟樵冋Z(yǔ)言HQL,而且還是目前應(yīng)用支最廣泛的O/R映射工具。</p><p> 而SSH 為Struts+Spring+Hibernate的一個(gè)集成框架,是目前較流行的一種Web應(yīng)用程序開源框架。著名的軟件大師Ralph Johnson對(duì)框架(Framew
47、ork)進(jìn)行了如下的定義:框架是整個(gè)系統(tǒng)或系統(tǒng)的一部分的可重用設(shè)計(jì),由一組抽象的類及其實(shí)例間的相互作用方式組成。目前,市場(chǎng)上出現(xiàn)了一些商業(yè)的、開源的基于J2EE的應(yīng)用框架,其中主流的框架技術(shù)有:基于MVC模式的Struts框架和基于IoC模式的Spring框架以及對(duì)象/關(guān)系映射框架Hibernate等。</p><p> 集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開發(fā)
48、人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的Web應(yīng)用程序。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,利用Hibernate框架對(duì)持久層提供支持,業(yè)務(wù)層用Spring支持。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實(shí)現(xiàn)為基本的Java對(duì)象,然后編寫基本的DAO接口,并給出Hibernate的DAO實(shí)現(xiàn),采用Hibernate架構(gòu)實(shí)現(xiàn)的DAO類來實(shí)現(xiàn)Java類與數(shù)
49、據(jù)庫(kù)之間的轉(zhuǎn)換和訪問,最后由Spring完成業(yè)務(wù)邏輯。 </p><p> 系統(tǒng)的基本業(yè)務(wù)流程是: </p><p> 1.向服務(wù)器發(fā)送search.do;</p><p> 2.服務(wù)器會(huì)到web.xml里看看有沒有匹配search.do,一般你是配*.do;</p><p> 3.這里服務(wù)器就會(huì)找到ActionServlet;<
50、;/p><p> 4.ActionServlet就會(huì)用ActionForm收集表單數(shù)據(jù),然后交給查詢的Action,叫search.java;</p><p> 5.search.java就會(huì)調(diào)用Service層的search方法;</p><p> 6.Service拿到傳過來的參數(shù)或?qū)ο?一般dto),在這個(gè)方法調(diào)用前Spring就開啟好事務(wù);</p&g
51、t;<p> 7.Service調(diào)用多個(gè)或一個(gè)DAO完成操作,由DAO查詢數(shù)據(jù)庫(kù),如果邏輯復(fù)雜才加Model層;</p><p> 8.Service中的search完好完成,Spring就關(guān)閉事務(wù),否則回滾;</p><p> 9.search.java完成這個(gè)操作后就轉(zhuǎn)向到你所配的url;</p><p> 10.JSP里接收返回來的數(shù)據(jù)。
52、</p><p> 采用上述開發(fā)模型,不僅實(shí)現(xiàn)了視圖、控制器與模型的徹底分離,而且還實(shí)現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動(dòng),并且數(shù)據(jù)庫(kù)的變化也不會(huì)對(duì)前端有所影響,大大提高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,有利于團(tuán)隊(duì)成員并行工作,大大提高了開發(fā)效率。</p><p><b> 1.3.3開發(fā)工具</b></p&g
53、t;<p> 1.服務(wù)器系統(tǒng)采用Win7;應(yīng)用服務(wù)器采用免費(fèi)的應(yīng)用服務(wù)器資源Tomcat 6.0,開發(fā)工具采用MyEclipse 9.0。因?yàn)镸yEclipse是完全開源的Java開發(fā)工具,提供了一個(gè)可視化的開發(fā)集成環(huán)境,可以方便地開發(fā)純Java應(yīng)用程序,Applet,JavaBeans以及兼容J2EE的分布式的企業(yè)應(yīng)用,而且可以免費(fèi)得到,并可以在此基礎(chǔ)上開發(fā)各自的插件。</p><p> 2.
54、 StarUML:面向?qū)ο蟮慕y(tǒng)一建模語(yǔ)言的可視化建模工具。</p><p> 3. MySQL:建立系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)。</p><p><b> 1.4項(xiàng)目實(shí)現(xiàn)意義</b></p><p> 微博的魅力,在于傳遞更在于分享,中國(guó)人似乎從來都缺少表達(dá)權(quán)和話語(yǔ)權(quán),尤其是平民。個(gè)人的想法和抱怨往往只能在小范圍內(nèi)得到一定的傳播,至多便是被當(dāng)?shù)氐男侣?/p>
55、機(jī)構(gòu)所報(bào)道。主流話語(yǔ)權(quán)被政府和媒體所控制,所謂的“民間的聲音”往往都是“被代表”和“被表達(dá)”,人們真正的想法卻無從發(fā)泄。然而在這個(gè)人人渴望表達(dá)和話語(yǔ)權(quán)的年代,博客的出現(xiàn)恰恰為人們提供了一個(gè)合理表達(dá)和發(fā)泄的平臺(tái),而微博則更進(jìn)一步使人人都有了被關(guān)注的可能。用戶用140個(gè)以內(nèi)的字來發(fā)布信息,有雞毛蒜皮的瑣碎的生活細(xì)節(jié),有及時(shí)更新的新聞資訊,有個(gè)人的心情思想感悟,有對(duì)最近新聞熱點(diǎn)的自我評(píng)述,所用的語(yǔ)言也更加詼諧幽默和生活化。只要你把自身的狀態(tài)表
56、達(dá)出來,就有可能被成千上萬人看到,有人跟帖回復(fù)分享一方面是一種信息的擴(kuò)散,另一方面也從別人的跟帖回復(fù)中獲取資源,微博的這一文化的交互式傳播更像是一張網(wǎng)為世界帶來了一個(gè)“人人能發(fā)聲、人人都可能被關(guān)注的時(shí)代”,這也許就是微博能在國(guó)內(nèi)甚至全世界迅速走紅的最重要原因。</p><p><b> 1.5論文章節(jié)</b></p><p><b> 本論文分為七章。&
57、lt;/b></p><p> 第1章 闡述了本論文研究項(xiàng)目的開發(fā)背景;討論了該項(xiàng)目國(guó)內(nèi)外的研究現(xiàn)狀和發(fā)展趨勢(shì);分析了項(xiàng)目應(yīng)用到的技術(shù)與其應(yīng)用特點(diǎn);提出了本論文的主要研究?jī)?nèi)容、開發(fā)工具和實(shí)現(xiàn)意義。</p><p> 第2章 對(duì)本項(xiàng)目進(jìn)行了可行性分析和需求分析,設(shè)計(jì)了項(xiàng)目各個(gè)模塊的用例,并對(duì)每個(gè)用例進(jìn)行了詳細(xì)的描述。</p><p> 第3章 對(duì)本項(xiàng)
58、目進(jìn)行了分析和設(shè)計(jì),在需求分析的基礎(chǔ)上就項(xiàng)目體系結(jié)構(gòu)、項(xiàng)目類結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、項(xiàng)目詳細(xì)設(shè)計(jì)四個(gè)個(gè)方面進(jìn)行了項(xiàng)目設(shè)計(jì)。</p><p> 第4章 對(duì)本項(xiàng)目的實(shí)現(xiàn)進(jìn)行了展示,主要包括項(xiàng)目結(jié)構(gòu),視圖層、控制層和持久層三個(gè)層次的實(shí)現(xiàn),以及項(xiàng)目的關(guān)鍵技術(shù)點(diǎn)。</p><p> 第5章 對(duì)基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)進(jìn)行了測(cè)試,包括單元測(cè)試和整體模塊測(cè)試、以及功能性測(cè)試等。</p
59、><p><b> 1.6小結(jié)</b></p><p> 本章節(jié)介紹了基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)的開發(fā)背景,國(guó)內(nèi)外的研究現(xiàn)狀和發(fā)展動(dòng)態(tài),研究了基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)采用的技術(shù)和開發(fā)工具,闡述了本文的研究?jī)?nèi)容、研究目的和研究意義。</p><p> 第2章 基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)的需求分析</p><
60、;p> 軟件需求分析也稱為需求分析工程,是軟件生命周期中重要的一步,也是決定性的一步。在可行性分析階段,對(duì)開發(fā)新項(xiàng)目的基本思想和過程進(jìn)行了初步分析和論證,對(duì)項(xiàng)目的基本功能、性能及開發(fā)時(shí)間的限制、人員安排、投資情況等做出了客觀的分析。在需求分析階段,要對(duì)經(jīng)過可行性分析所確定的項(xiàng)目目標(biāo)和功能做進(jìn)一步的詳細(xì)論述,確定項(xiàng)目“做什么”的問題。</p><p> 本章節(jié)就基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)進(jìn)行了項(xiàng)目的
61、可行性分析,詳細(xì)闡述了該項(xiàng)目的需求功能模塊,并使用UML統(tǒng)一建模語(yǔ)言進(jìn)行用例分析,完成了項(xiàng)目用例圖和功能性描述。</p><p> 2.1項(xiàng)目可行性分析</p><p> 2.1.1技術(shù)可行性分析</p><p> 本項(xiàng)目是一個(gè)基于局域網(wǎng)、互聯(lián)網(wǎng)和WINDOWS操作的系統(tǒng),現(xiàn)有技術(shù)已較為成熟,利用現(xiàn)有技術(shù)完全可以在規(guī)定期限內(nèi)實(shí)現(xiàn)項(xiàng)目開發(fā)目標(biāo)。</p>
62、;<p> 而且在申請(qǐng)課題之前,我對(duì)新浪官方提供的SDK(版本weibo4j-2010-12-27)進(jìn)行了分析。其中對(duì)SDK中封裝的方法進(jìn)行了測(cè)試,并且對(duì)未封裝的方法也進(jìn)行了重新的補(bǔ)充,最后均成功的實(shí)現(xiàn)了。</p><p> 2.1.2社會(huì)經(jīng)濟(jì)效益分析</p><p><b> 效益>成本。</b></p><p>
63、 2.1.3用戶操作可行性分析</p><p> 項(xiàng)目能被用戶快速掌握并使用,它操作簡(jiǎn)易,用戶只需要按照提示一步一步操作即可玩轉(zhuǎn)微博。</p><p> 2.1.4項(xiàng)目主要風(fēng)險(xiǎn)分析</p><p><b> 本系統(tǒng)的風(fēng)險(xiǎn)分析:</b></p><p> (1)雖然曾開發(fā)過一些類似項(xiàng)目,但是每個(gè)項(xiàng)目的需求都是不盡相
64、同的。所以在進(jìn)行項(xiàng)目需求分析和項(xiàng)目細(xì)節(jié)設(shè)計(jì)的時(shí)候需要考慮更多,進(jìn)行深入的思考和討論,以防項(xiàng)目后期更改設(shè)計(jì)甚至需求的風(fēng)險(xiǎn)。</p><p> (2)對(duì)突發(fā)事件和大范圍的需求變更做好足夠的預(yù)防和減少的措施。由于這是個(gè)人的團(tuán)隊(duì)項(xiàng)目,歷時(shí)不長(zhǎng),很容易因?yàn)橥话l(fā)事件或者大范圍的需求變更導(dǎo)致項(xiàng)目的延期。</p><p> 至此,我從中吸收了相應(yīng)的經(jīng)驗(yàn)教訓(xùn),重新定義問題這一循環(huán)反復(fù)的過程。然后提出項(xiàng)目
65、的實(shí)現(xiàn)方案,推薦出最佳方案,對(duì)所推薦的方案進(jìn)行技術(shù)、經(jīng)濟(jì)、用戶操作、主要風(fēng)險(xiǎn)的可行性分析,最后得出系統(tǒng)值得開發(fā)的結(jié)論。</p><p><b> 2.2項(xiàng)目需求分析</b></p><p><b> 2.2.1項(xiàng)目需求</b></p><p> 對(duì)于功能的需求,由于針對(duì)的是廣大的用戶,首先要從用戶的角度出發(fā),思考哪些
66、是用戶所需要的內(nèi)容,哪些是用戶最關(guān)心的內(nèi)容,哪些是最吸引用戶的內(nèi)容等。對(duì)于客戶端的功能,首先以web頁(yè)面所提到的功能為基礎(chǔ),在實(shí)現(xiàn)了web頁(yè)面的部分功能或者全部功能后,后續(xù)版本再進(jìn)行插件的開發(fā),擴(kuò)展更多的微博應(yīng)用,充分利用微博所提供的用戶關(guān)心網(wǎng)絡(luò),滿足用戶的需求,探索更多的有價(jià)值的插件。</p><p> 微博個(gè)人主頁(yè)面設(shè)計(jì)JAVA版,目前主要實(shí)現(xiàn)了下面的功能:</p><p><
67、b> 1.微博管理</b></p><p> (1)發(fā)布微博(文字微博)</p><p> (2) 顯示微博列表</p><p><b> 2.用戶管理</b></p><p> (1)好友關(guān)注管理 </p><p><b> i.顯示好友列表</b&
68、gt;</p><p> (2)搜索用戶,并且可以加關(guān)注:用戶可以對(duì)自己喜歡的用戶進(jìn)行關(guān)注,成為這個(gè)用戶的關(guān)注者</p><p><b> i.關(guān)注好友</b></p><p><b> (3)個(gè)人信息管理</b></p><p><b> 3.增值業(yè)務(wù)管理</b>&l
69、t;/p><p> (1)轉(zhuǎn)發(fā)功能:用戶可以把自己喜歡的內(nèi)容一鍵轉(zhuǎn)發(fā)到自己的微博。</p><p><b> i.轉(zhuǎn)發(fā)微博 </b></p><p> (2)評(píng)論功能:用戶可以對(duì)任何一條微博進(jìn)行評(píng)論</p><p><b> i.發(fā)表評(píng)論</b></p><p> 4.
70、及時(shí)更新微博信息 </p><p> 對(duì)于性能的需求,可以方便快捷的將用戶更新的信息及時(shí)反映出來,用戶之間可以及時(shí)的進(jìn)行信息交流。保證信息的及時(shí)更新,技術(shù)可靠。</p><p> 對(duì)于安全與保密的需求,具有較高的安全性。依賴于網(wǎng)絡(luò)本身對(duì)用戶使用權(quán)限的規(guī)定,在程序模塊中通過使用密碼控制功能對(duì)用戶的權(quán)限加以限制。如:刪除和修改。還應(yīng)具有一定的保護(hù)機(jī)制,防止系統(tǒng)的惡意攻擊,如果系統(tǒng)被破壞應(yīng)該
71、能快速恢復(fù)。</p><p> 2.2.2需求功能用例分析</p><p> 本系統(tǒng)總用例圖如圖2.1:</p><p> 圖2.1 基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)總用例圖</p><p> ?。?)微博管理模塊具體用例分析</p><p> 微博管理模塊包括發(fā)布微博、顯示微博列表,用例圖如圖2.2:<
72、/p><p> 圖2.2 微博管理用例圖</p><p> 表2.1 微博管理用例規(guī)格表</p><p> (2)用戶管理模塊具體用例分析</p><p> 用戶管理模塊包括個(gè)人信息管理、搜索用戶、好友關(guān)注管理,用例圖如圖2.3:</p><p> 圖2.3 用戶管理用例圖</p><p>
73、; 表2.2 用戶管理用例規(guī)格表</p><p> ?。?)增值業(yè)務(wù)管理模塊具體用例分析</p><p> 增值業(yè)務(wù)管理模塊包括轉(zhuǎn)發(fā)微博、發(fā)表評(píng)論、查看評(píng)論,用例圖如圖2.4:</p><p> 圖2.4 增值業(yè)務(wù)管理用例圖</p><p> 表2.3 增值業(yè)務(wù)管理用例規(guī)格表</p><p> 2.2.3總體
74、設(shè)計(jì)原則</p><p> 本項(xiàng)目為了設(shè)計(jì)、實(shí)現(xiàn)和后期維護(hù)的方便,以及項(xiàng)目用戶使用的便利,所以必須采取一定的設(shè)計(jì)原則。其主要設(shè)計(jì)原則有:</p><p> 簡(jiǎn)單性:在實(shí)現(xiàn)項(xiàng)目的功能的同時(shí),盡量讓項(xiàng)目操作簡(jiǎn)單易懂,這對(duì)于一個(gè)項(xiàng)目來說是非常重要的。</p><p> 針對(duì)性:本項(xiàng)目設(shè)計(jì)是針對(duì)微博使用者的需求定向開發(fā)設(shè)計(jì),所以具有專業(yè)突出和很強(qiáng)的針對(duì)性。</p
75、><p> 實(shí)用性:要求本項(xiàng)目能夠滿足微博使用者的需求,因此具有良好的實(shí)用性。</p><p> 一致性:頁(yè)面整體設(shè)計(jì)風(fēng)格以及命名規(guī)則的一致性:整體頁(yè)面布局和用圖用色風(fēng)格及變量、類名和其他元素的命名規(guī)則保持一致。功能一致性:完成同樣的功能應(yīng)該盡量使用同樣的元素。 元素風(fēng)格一致性:界面元素的美觀風(fēng)格、擺放位置在同一個(gè)界面和不同界面之間都應(yīng)該是一致的。變量命名規(guī)則的一致性:變量應(yīng)該用統(tǒng)一的規(guī)則
76、進(jìn)行命名,做到任意變量均能從上下文推斷其義。</p><p> 先進(jìn)性:本項(xiàng)目采用JSP技術(shù)、MySQL等被廣泛采用系統(tǒng)開發(fā)技術(shù)和數(shù)據(jù)庫(kù),因此本設(shè)計(jì)具有良好的先進(jìn)性,具體表現(xiàn)在其具有良好的可擴(kuò)展性,可開發(fā)性[1]。</p><p><b> 2.3小結(jié)</b></p><p> 本章節(jié)系統(tǒng)分析了基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)的可行性、項(xiàng)
77、目需求、功能模塊等,并使用UML建模語(yǔ)言對(duì)其建立了用例,并設(shè)計(jì)了項(xiàng)目用例圖和用例詳述。</p><p> 第3章 基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)的內(nèi)容</p><p> 本章節(jié)在前一章需求分析的基礎(chǔ)上,就項(xiàng)目體系結(jié)構(gòu)、項(xiàng)目類結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、項(xiàng)目詳細(xì)設(shè)計(jì)四個(gè)個(gè)方面進(jìn)行了本項(xiàng)目的項(xiàng)目設(shè)計(jì)。其中進(jìn)行了項(xiàng)目的模塊設(shè)計(jì);在類結(jié)構(gòu)設(shè)計(jì)中分為概念類和實(shí)體類兩部分進(jìn)行了設(shè)計(jì),搭建了項(xiàng)目的領(lǐng)域模
78、型和類圖;在數(shù)據(jù)庫(kù)設(shè)計(jì)中,建立了各個(gè)數(shù)據(jù)表;在詳細(xì)設(shè)計(jì)中針對(duì)各個(gè)模塊的用例,繪制了系統(tǒng)順序圖和操作契約。</p><p> 3.1項(xiàng)目體系結(jié)構(gòu)設(shè)計(jì)</p><p> 本項(xiàng)目的實(shí)現(xiàn)結(jié)構(gòu)是,用戶將是通過WWW瀏覽器來進(jìn)入,極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層結(jié)構(gòu)。本文在B/S體系結(jié)構(gòu)的基礎(chǔ)上進(jìn)行系統(tǒng)模塊設(shè)計(jì),即將系統(tǒng)分解為一
79、系列功能模塊,然后逐一實(shí)現(xiàn)這些模塊,最后把所有的模塊集成為原來的系統(tǒng)。這樣的設(shè)計(jì)能夠大大降低系統(tǒng)的開發(fā)難度。</p><p> 基礎(chǔ)平臺(tái)采用M-V-C架構(gòu),使用主流的開源框架整合Struts+Spring+Hibernate。如圖:</p><p> 圖3.1 系統(tǒng)架構(gòu)圖</p><p> 實(shí)體Bean對(duì)象橫跨三層結(jié)構(gòu),他在每層中充當(dāng)?shù)慕巧牵涸贛odel層充
80、當(dāng)實(shí)體對(duì)象,在Controler層充當(dāng)數(shù)據(jù)傳輸對(duì)象(DTO),在View層充當(dāng)顯示對(duì)象(VO)。</p><p> 圖3.2 實(shí)體架構(gòu)圖</p><p><b> 3.2類圖設(shè)計(jì)</b></p><p> 本項(xiàng)目采用的是(Struts+Spring+Hibernate)和MVC的設(shè)計(jì)模式。Struts主要負(fù)責(zé)本項(xiàng)目的視圖層和控制層,視圖層
81、頁(yè)面由JSP和Struts標(biāo)記組成,而控制層主要由Action組成,它們繼承了Spring的ActionSupport類;持久層由Dao組成,它們繼承了Spring的HibernateDaoSupport類。項(xiàng)目的數(shù)據(jù)庫(kù)連接、會(huì)話管理、業(yè)務(wù)類等都在Spring的應(yīng)用文件中聲明。下面將列舉主要的類圖,即項(xiàng)目結(jié)構(gòu)類圖3.3:</p><p> 圖3.3 項(xiàng)目結(jié)構(gòu)類圖</p><p> 圖3
82、.3是關(guān)于整個(gè)項(xiàng)目的結(jié)構(gòu)類圖,概括性的描述了項(xiàng)目架構(gòu),最基礎(chǔ)的Dao層,提供數(shù)據(jù)持久化的接口,Service層提供業(yè)務(wù)處理接口,Action層提供請(qǐng)求轉(zhuǎn)發(fā)接口。</p><p><b> 3.3數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 在項(xiàng)目體系結(jié)構(gòu)設(shè)計(jì)和項(xiàng)目類結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,進(jìn)行了本項(xiàng)目的數(shù)據(jù)庫(kù)設(shè)計(jì)。當(dāng)然,數(shù)據(jù)庫(kù)的設(shè)計(jì)很重要,尤其是它們之間的映射關(guān)系,等等。本項(xiàng)目
83、數(shù)據(jù)庫(kù)主要表有(表格具體參數(shù)可參考表3.1到3.5,其中羅列了各個(gè)數(shù)據(jù)表內(nèi)部的英字段名,字段類型及可否為空,還有部分?jǐn)?shù)據(jù)說明):</p><p> 表3.1 用戶信息表</p><p> 表3.2 用戶關(guān)系表</p><p><b> 表3.3 微博表</b></p><p><b> 表3.4 評(píng)論表
84、</b></p><p><b> 表3.5 轉(zhuǎn)發(fā)表</b></p><p><b> 3.4詳細(xì)設(shè)計(jì)</b></p><p> 系統(tǒng)順序圖是將交互關(guān)系表示為一個(gè)二維圖??v向是時(shí)間軸,時(shí)間沿豎線向下延伸。橫向軸代表了在協(xié)作中各獨(dú)立對(duì)象的類元角色。類元角色用生命線表示。當(dāng)對(duì)象存在時(shí),角色用一條虛線表示,當(dāng)對(duì)
85、象的過程處于激活狀態(tài)時(shí),生命線是一個(gè)雙道線。它也可以定義為為闡述與所討論系統(tǒng)相關(guān)的輸入和輸出事件而快速、簡(jiǎn)單地創(chuàng)建的制品。在UP中,用例和系統(tǒng)特性是用來描述系統(tǒng)行為的主要方式,并且足以滿足要求。有時(shí)需要對(duì)系統(tǒng)行為進(jìn)行更為詳細(xì)和精確的描述。</p><p> 本項(xiàng)目詳細(xì)的就各個(gè)功能用例進(jìn)行了設(shè)計(jì),包括繪制了項(xiàng)目順序圖等,但由于篇幅有限,在這里就項(xiàng)目部分重要用例進(jìn)行具體詳細(xì)舉例說明。</p><
86、p> ?。?)微博管理時(shí)序圖3.4:</p><p> 圖3.4 微博管理順序圖</p><p> ?。?)用戶管理時(shí)序圖3.5</p><p> 圖3.5 用戶管理順序圖</p><p> ?。?)增值業(yè)務(wù)管理時(shí)序圖3.6:</p><p> 圖3.6 增值業(yè)務(wù)管理順序圖</p><p
87、><b> 3.5小結(jié)</b></p><p> 本章節(jié)依照UML統(tǒng)一建模語(yǔ)言和面向?qū)ο蠓治龊驮O(shè)計(jì)的思路進(jìn)行了系統(tǒng)設(shè)計(jì),分析了項(xiàng)目的功能模塊,繪制了整個(gè)系統(tǒng)的領(lǐng)域模型和部分重要模塊的類圖,對(duì)數(shù)據(jù)庫(kù)進(jìn)行了設(shè)計(jì),并對(duì)項(xiàng)目重要用例進(jìn)行了詳細(xì)設(shè)計(jì),描繪了其系統(tǒng)順序圖。</p><p> 第4章 基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)的實(shí)現(xiàn)</p><
88、p> 在前幾章需求分析和項(xiàng)目設(shè)計(jì)的基礎(chǔ)上,本章進(jìn)行了項(xiàng)目實(shí)現(xiàn):首先實(shí)現(xiàn)了開發(fā)環(huán)境配置,其中包括架構(gòu)的選擇、環(huán)境的搭建及web.xml等文件的配置;其次就項(xiàng)目視圖層、控制層和持久層三個(gè)層次進(jìn)行了詳細(xì)說明,展現(xiàn)了項(xiàng)目實(shí)現(xiàn)的過程;最后闡述了本項(xiàng)目的關(guān)鍵技術(shù)點(diǎn)的實(shí)現(xiàn),以及項(xiàng)目的亮點(diǎn)。</p><p><b> 4.1開發(fā)環(huán)境配置</b></p><p> 本系統(tǒng)采
89、用Struts+Spring+Hibernate的架構(gòu)進(jìn)行項(xiàng)目開發(fā)。在開發(fā)過程中需要運(yùn)用到Struts,Spring和Hibernate的相關(guān)jar,還要使用JUnit, Log4j,具體實(shí)現(xiàn)思路如下:</p><p> 1.首先在MyEclipse中創(chuàng)建一個(gè)項(xiàng)目WeiBo,然后把Struts,Spring和Hibernate的相關(guān)jar配置到該項(xiàng)目中;</p><p> Po:com
90、.sd.blog.po此包下包含所有的POJO</p><p> Dao:com.sd.blog.DAO此包下包含所有的業(yè)務(wù)處理類</p><p> Action:com.sd.blog.action此包下包含所有的控制請(qǐng)求轉(zhuǎn)發(fā)的類</p><p> 2.配置相關(guān)文件,主要是:</p><p> web.xml,application
91、Context.properties,log4j.properties,struts.xml,jdbc.properties等五個(gè)文件的相關(guān)配置。</p><p> 其中,applicationContext.properties里需要加載許多東西: </p><p> (1)需要有映射文件:<value>com/sd/blog/po/Account.hbm
92、.xml</value></p><p> <value>com/sd/blog/po/Blog.hbm.xml</value></p><p> <value>com/sd/blog/po/Comment.hbm.xml</value></p><p> <value>com/sd/bl
93、og/po/Detail.hbm.xml</value></p><p> <value>com/sd/blog/po/Friend.hbm.xml</value></p><p> (2)需要有被代理對(duì)象的實(shí)現(xiàn)類:</p><p> <bean name="accountdaoim" class=
94、"com.sd.blog.DAOImpl.AccountDAOImpl"></p><p> <property name="sessionFactory" ref="sessionFactory"></property></p><p><b> </bean></b
95、></p><p> 還有,struts.xml里是Action跳轉(zhuǎn)的實(shí)現(xiàn):</p><p> <package name="default" namespace="/" extends="struts-default"></p><p> <interceptors>&
96、lt;/p><p> <interceptor name="URLInterceptor" class="com.sd.blog.URLInterceptor.URLInterceptor"></interceptor></p><p> <interceptor-stack name="myStack&quo
97、t;></p><p> <interceptor-ref name="URLInterceptor"></interceptor-ref></p><p> <interceptor-ref name="defaultStack"></interceptor-ref></p>
98、<p> </interceptor-stack></p><p> </interceptors></p><p> <default-action-ref name="hello"></default-action-ref></p><p> <action name=&
99、quot;hello"></p><p> <result>/home.jsp</result></p><p> <interceptor-ref name="myStack"></interceptor-ref></p><p><b> </action&
100、gt;</b></p><p> <action name="reg" class="AccountSpringAcion" method="reg"></p><p> <result name="success">/index.jsp</result>&l
101、t;/p><p> <result name="input">/register.jsp</result></p><p><b> </action></b></p><p> <action name="login" class="AccountS
102、pringAcion" method="login"></p><p> <result name="success">/home.jsp</result></p><p> <result name="input">/index.jsp</result><
103、/p><p><b> </action></b></p><p> <action name="showFriendMainPage" class="AccountSpringAcion" method="showFriendMainPage"></p><p&g
104、t; <result name="success">/home.jsp</result></p><p><b> </action></b></p><p> <action name="focusOn" class="AccountSpringAcion"
105、method="focusOn"></p><p> <result name="success">/success.jsp</result></p><p> <result name="false">/success.jsp</result></p>&l
106、t;p><b> </action></b></p><p> <action name="accountQuery" class="AccountSpringAcion" method="accountQuery"></p><p> <result name=&q
107、uot;success">/queryAccountList.jsp</result></p><p> <result name="false">/result.jsp</result></p><p><b> </action></b></p><p>
108、; <action name="blog" class="BlogSpringAction" method="pubblog"></p><p> <result name="success">/home.jsp</result></p><p> <resu
109、lt name="input">/index.jsp</result></p><p><b> </action></b></p><p> <action name="blogcom" class="CommentSpringAction" method=&qu
110、ot;pubCom"></p><p> <result name="success">/commentsResult.jsp</result></p><p><b> </action></b></p><p> </package></p>
111、;<p> <package name="json" namespace="/" extends="json-default"></p><p> <action name="loadComments" class="AjaxAction" method="loadCo
112、mments" > </p><p> <result name="success" type="json"></result></p><p><b> </action></b></p><p> <action name="t
113、ransmit" class="AjaxAction" method="transmit" ></p><p> <result name="success" type="json"></result></p><p> </action> </p&
114、gt;<p> </package></p><p> 3.最終配置好Struts,Spring和Hibernate的WeiBo項(xiàng)目的目錄結(jié)構(gòu),如圖4.1所示(由于某些開發(fā)軟件的版本不兼容,所以會(huì)出現(xiàn)可以忽略的錯(cuò)誤,如下圖的紅叉雖然存在,但并不影響項(xiàng)目的實(shí)現(xiàn)):</p><p> 圖4.1 基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)目錄結(jié)構(gòu)圖</p>&
115、lt;p><b> 4.2界面實(shí)現(xiàn)</b></p><p> 在項(xiàng)目實(shí)現(xiàn)階段利用Struts框架來建立視圖部分的JSP頁(yè)面。</p><p> JSP頁(yè)面分為兩個(gè)部分,頁(yè)面的不變部分和頁(yè)面的可變部分。不變部分頁(yè)面是指每個(gè)頁(yè)面中都包含的內(nèi)容,如導(dǎo)航欄、頁(yè)面具體信息??勺儾糠质侵赋瞬蛔儾糠滞獾捻?yè)面內(nèi)容,這部分內(nèi)容直接和用戶交互,每部分內(nèi)容都不相同。本項(xiàng)目采用
116、JavaScript和DIV分層的形式來組織不變部分和可變部分。</p><p> 以下為基于JAVA的微博個(gè)人主頁(yè)面設(shè)計(jì)的微博管理、用戶管理、增值業(yè)務(wù)管理等模塊,由于頁(yè)面過大,不好一一顯示,以下只例舉幾塊功能模塊。</p><p> ?。?)微博管理的主要功能顯示如圖4.2所示:</p><p> 圖4.2 微博的發(fā)布</p><p>
117、 ?。?)用戶管理的主要功能顯示如圖4.3與4.4所示:</p><p> 圖4.3 關(guān)注與被關(guān)注</p><p> 圖4.4 用戶的搜索</p><p> ?。?)增值業(yè)務(wù)管理主要功能顯示如圖4.5所示:</p><p> 圖4.5 轉(zhuǎn)發(fā)與評(píng)論</p><p> 4.3項(xiàng)目亮點(diǎn)及關(guān)鍵技術(shù)</p>
118、<p><b> 項(xiàng)目劃分為四個(gè)層:</b></p><p> Web層(表現(xiàn)層)。就是MVC模式里面的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該項(xiàng)目的MVC框架采用Struts。</p><p> Action層(業(yè)務(wù)層)。引用對(duì)應(yīng)的Service層,在這里結(jié)合Struts的配置文件,跳轉(zhuǎn)到指定的頁(yè)面,當(dāng)然也能接受頁(yè)面?zhèn)鬟f的請(qǐng)求數(shù)
119、據(jù),也可以做些計(jì)算處理。</p><p> DAO層(數(shù)據(jù)訪問對(duì)象層)。是使用了Hibernate連接數(shù)據(jù)庫(kù)、操作數(shù)據(jù)庫(kù)(增刪改查)。</p><p> PO層(數(shù)據(jù)持久化對(duì)象層)。是對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的實(shí)體類。</p><p> SSH架構(gòu)在項(xiàng)目中應(yīng)用到了各個(gè)模塊。但是,為了方便對(duì)項(xiàng)目架構(gòu)的講解,接下來的介紹主要以項(xiàng)目的用戶操作模塊為原型,介紹該模塊是如何通過S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人主頁(yè)設(shè)計(jì)畢業(yè)論文
- 個(gè)人主頁(yè)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 畢業(yè)論文---個(gè)人主頁(yè)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)畢業(yè)論文--個(gè)人主頁(yè)設(shè)計(jì)
- 基于jsp的個(gè)人主頁(yè)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)畢業(yè)論文---個(gè)人主頁(yè)設(shè)計(jì)
- linux web建立個(gè)人主頁(yè)
- 基于Liferay的教師個(gè)人主頁(yè)系統(tǒng)設(shè)計(jì)與開發(fā).pdf
- 基于Web的多用戶個(gè)人主頁(yè)管理系統(tǒng)設(shè)計(jì).pdf
- 動(dòng)態(tài)網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)—我的個(gè)人主頁(yè)
- 哈工大教師個(gè)人主頁(yè)使用說明
- 組合數(shù)學(xué)的鼻祖-陳永川個(gè)人主頁(yè)
- 評(píng)彈--(轉(zhuǎn)自天龍琴川的個(gè)人主頁(yè))
- 84322.高校教師個(gè)人主頁(yè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 第一章緒論-浙江大學(xué)個(gè)人主頁(yè)
- 第一章-東北大學(xué)教師個(gè)人主頁(yè)
- 畢業(yè)論文---個(gè)人空間主頁(yè)網(wǎng)頁(yè)設(shè)計(jì)
- 第5章數(shù)組-西安交通大學(xué)教師個(gè)人主頁(yè)-首頁(yè)
- matlab 程序設(shè)計(jì)語(yǔ)言 - 西安電子科技大學(xué)個(gè)人主頁(yè) …
- 個(gè)人主頁(yè)暴露私生活 企業(yè)研究生求職遭拒簽
評(píng)論
0/150
提交評(píng)論