基于個(gè)人喜好的消息推送網(wǎng)站畢業(yè)論文.doc
本 科 生 畢 業(yè) 設(shè) 計(jì)(論 文)論文題目:基于個(gè)人喜好的消息推送網(wǎng)站姓名:郭偉林學(xué)號(hào):1021113465班級(jí):10211112年級(jí):10級(jí)專(zhuān)業(yè):軟件工程學(xué)院:軟件學(xué)院指導(dǎo)教師:張軍(副教授)完成時(shí)間:2014年 06 月 02日 作 者 聲 明本人以信譽(yù)鄭重聲明:所呈交的學(xué)位畢業(yè)設(shè)計(jì)(論文),是本人在指導(dǎo)教師指導(dǎo)下由本人獨(dú)立撰寫(xiě)完成的,沒(méi)有剽竊、抄襲、造假等違反道德、學(xué)術(shù)規(guī)范和其他侵權(quán)行為。文中引用他人的文獻(xiàn)、數(shù)據(jù)、圖件、資料均已明確標(biāo)注出,不包含他人成果及為獲得東華理工大學(xué)或其他教育機(jī)構(gòu)的學(xué)位或證書(shū)而使用過(guò)的材料。對(duì)本設(shè)計(jì)(論文)的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本畢業(yè)設(shè)計(jì)(論文)引起的法律結(jié)果完全由本人承擔(dān)。本畢業(yè)設(shè)計(jì)(論文)成果歸東華理工大學(xué)所有。特此聲明。畢業(yè)設(shè)計(jì)(論文)作者(簽字): 簽字日期: 年 月 日本人聲明:該學(xué)位論文是本人指導(dǎo)學(xué)生完成的研究成果,已經(jīng)審閱過(guò)論文的全部?jī)?nèi)容,并能夠保證題目、關(guān)鍵詞、摘要部分中英文內(nèi)容的一致性和準(zhǔn)確性。學(xué)位論文指導(dǎo)教師簽名: 年 月 日 基于個(gè)人喜好的消息推送新聞網(wǎng)站郭偉林 Message-pushed News Website Based on Personal Preferences Weilin Guo2014年 06月 02日 東華理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 摘要摘 要 基于個(gè)人喜好的消息推送新聞網(wǎng)站是在信息上提供資源共享、信息交流和協(xié)同工作的計(jì)算機(jī)網(wǎng)絡(luò)信息系統(tǒng)。隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展,網(wǎng)絡(luò)信息的快速傳播已經(jīng)成為人們?nèi)粘I钪蝎@取信息的重要途徑,人們獲取信息的快速途徑主要是通過(guò)瀏覽新聞網(wǎng)站。而各種新聞網(wǎng)站數(shù)量又比較多,需要找出用戶(hù)自己喜歡的新聞進(jìn)行查看又比較麻煩,為了滿(mǎn)足用戶(hù)的需要,現(xiàn)基于主流的消息推送功能,開(kāi)發(fā)一個(gè)用戶(hù)個(gè)人喜好的消息推送新聞網(wǎng)站。本畢業(yè)設(shè)計(jì)主要是采用了B/S設(shè)計(jì)模式,基于JSP(Java Server page)技術(shù)和Microsoft SQL Server 2000數(shù)據(jù)庫(kù)技術(shù)開(kāi)發(fā)了一個(gè)用戶(hù)喜好的消息推送新聞網(wǎng)站。其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維和以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。采用Microsoft SQL Server 2000數(shù)據(jù)庫(kù)作為后臺(tái)數(shù)據(jù)庫(kù)、JSP作為前臺(tái)開(kāi)發(fā)語(yǔ)言,主要完成各類(lèi)新聞信息的瀏覽、檢索查詢(xún)各類(lèi)新聞信息、新聞信息管理、用戶(hù)管理、管理員管理、鏈接管理和消息推送等功能。系統(tǒng)運(yùn)行結(jié)果證明,本文所設(shè)計(jì)的基于個(gè)人喜好的消息推送新聞網(wǎng)站可以滿(mǎn)足用戶(hù)的需要,達(dá)到了設(shè)計(jì)要求。本課題設(shè)計(jì)的意義和目標(biāo)在于根據(jù)用戶(hù)的興趣定制用戶(hù)喜歡的新聞,有利于增加用戶(hù)對(duì)新聞網(wǎng)站的關(guān)注度和喜好度。且能實(shí)現(xiàn)用戶(hù)對(duì)系統(tǒng)網(wǎng)站的方便、簡(jiǎn)潔訪問(wèn)。本畢業(yè)論文將對(duì)系統(tǒng)的開(kāi)發(fā)過(guò)程和功能實(shí)現(xiàn)進(jìn)行詳細(xì)的闡述。關(guān)鍵詞:新聞信息管理;SQL Server;消息推送;JSPI東華理工大學(xué)畢業(yè)設(shè)計(jì)(論文) AbstractAbstractBased on personal preferences to push the news website is provided on the information resource sharing, information exchange and collaborative work of computer network information systems. With the development of computer science and technology, the rapid spread of network information has become important way people get information in daily life, people get information fast way mainly through browsing news sites. And all kinds of news website number is more, need to find the user, which see their favorite news and more troublesome, in order to meet the needs of users, based on the mainstream news push function, develop a user preferences to push the news website.This graduation design mainly adopts B/S design pattern, based on JSP (Java Server page) technology and Microsoft SQL Server 2000 database technology to develop a user preferences to push the news website. Its development mainly includes the backstage database the establishment and peacekeeping and development of front application program of two aspects. Using Microsoft SQL Server 2000 database as background database and JSP as the front desk development language, mainly to complete all kinds of news and information browsing, search all kinds of news and information, news and information management, user management, administrator management, link management and message delivery, and other functions. System operation results show that this design is based on personal preference information push news sites can meet the needs of users, has reached the design requirements.The significance of this topic design and target is according to the users interest in custom user like news, to increase user interest and preference of news websites. Users of the system is able to be convenient, simple access. This thesis will be on the system development process and function realization in detail in this paper.Key words: news information management; SQL Server; Messaged-pushed; JSP III目 錄摘要IAbstractII1 緒論1 1.1 研究的背景1 1.2 研究的目的和意義1 1.3 研究的方法22 關(guān)鍵技術(shù)介紹與系統(tǒng)開(kāi)發(fā)環(huán)境3 2.1 關(guān)鍵技術(shù)3 2.1.1 Struts應(yīng)用框架介紹3 2.1.2 JDBC數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)3 2.1.3 HTML+CSS技術(shù)4 2.2 開(kāi)發(fā)環(huán)境43 系統(tǒng)分析6 3.1 可行性分析6 3.2 需求分析6 3.2.1 功能需求6 3.2.2 性能需求7 3.2.3 數(shù)據(jù)流分析74 系統(tǒng)概要設(shè)計(jì)10 4.1 網(wǎng)站結(jié)構(gòu)規(guī)劃及設(shè)計(jì)目標(biāo)10 4.2 系統(tǒng)功能模塊設(shè)計(jì)10 4.3 系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)11 4.4 數(shù)據(jù)庫(kù)與設(shè)計(jì)12 4.4.1 數(shù)據(jù)庫(kù)分析12 4.4.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)13 4.4.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)15 4.4.4 數(shù)據(jù)庫(kù)的物理實(shí)現(xiàn)175 系統(tǒng)總體設(shè)計(jì)19 5.1 網(wǎng)站總體架構(gòu)19 5.1.1 網(wǎng)站前臺(tái)架構(gòu)19 5.1.2 網(wǎng)站后臺(tái)架構(gòu)20 5.2 系統(tǒng)功能模塊設(shè)計(jì)與實(shí)現(xiàn)21 5.2.1 系統(tǒng)后臺(tái)主要功能設(shè)計(jì)與實(shí)現(xiàn)21 5.2.1.1 管理員登錄模塊設(shè)計(jì)21 5.2.1.2 新聞信息管理模塊和管理員設(shè)置模塊設(shè)計(jì)16 5.2.1.3 鏈接管理模塊設(shè)計(jì)22 5.2.1.4 查看新聞人物模塊設(shè)計(jì)22 5.2.2 網(wǎng)站前臺(tái)主要功能模塊設(shè)計(jì)24 5.2.2.1 今日新聞的顯示24 5.2.2.2 輸入新聞的關(guān)鍵字查詢(xún)新聞24 5.2.2.3 查看年度新聞人物與投票數(shù)量25 5.2.2.4 消息推送26 5.2.2.5 消息推送搜索前三29 結(jié) 論31 致 謝32 參 考 文 獻(xiàn)33東華理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 緒論1 緒 論1.1 研究的背景信息技術(shù)的發(fā)展給廣大新聞?dòng)脩?hù)帶來(lái)了不少好處,其就是能夠讓用戶(hù)知道世界各地的重大新聞。由于各網(wǎng)站、媒體等是信息傳播的媒介,這些傳播媒介又存在大量新聞信息,而往往大多數(shù)人只能憑記憶力記住一些常常主動(dòng)瀏覽的信息瀏覽網(wǎng)站。由于各種基于用戶(hù)興趣、職業(yè)等網(wǎng)站的不斷出現(xiàn),使得用戶(hù)可以選擇訪問(wèn)的網(wǎng)站數(shù)量太多,這也正是為什么許多信息網(wǎng)站都少有人問(wèn)津的根本原因。由于廣大用戶(hù)往往花費(fèi)了很少時(shí)間,來(lái)查找網(wǎng)站上的新聞信息,在發(fā)展的初期受到了廣大用戶(hù)的好評(píng)。但是到了后期,隨著信息量的急劇增加,使網(wǎng)站建設(shè)的規(guī)模變得越來(lái)越大,人們要查找新聞信息的難度也變得更大,也需要花費(fèi)更多的時(shí)間和精力。這就是目前傳統(tǒng)網(wǎng)站信息傳播的弊端,因此,為了改善此問(wèn)題存在的局面,就需要對(duì)網(wǎng)站進(jìn)行新的技術(shù)改造。目前,許多信息傳播網(wǎng)站研究出可以通過(guò)“消息推送機(jī)制”實(shí)現(xiàn)網(wǎng)站新聞信息的快速瀏覽。消息推送機(jī)制就是在這樣一個(gè)互聯(lián)網(wǎng)背景下誕生的,它能使用戶(hù)可以對(duì)自己喜好的新聞信息進(jìn)行快速的查看。針對(duì)用戶(hù)對(duì)于目前瀏覽網(wǎng)站上存在的大量新聞信息耗時(shí)、耗力的情況,則開(kāi)發(fā)出基于用戶(hù)喜好的消息推送功能顯得尤為重要。所以說(shuō),為了解決目前用戶(hù)遇到的各種新聞查找問(wèn)題或其他一些問(wèn)題,本系統(tǒng)網(wǎng)站可以利用目前許多新聞網(wǎng)站使用的消息推送機(jī)制,實(shí)現(xiàn)用戶(hù)能輕易的得到想要查看的新聞。1.2 研究的目的及意義由于網(wǎng)站信息量非常的多,使得用戶(hù)尋找自己喜歡的新聞信息變得更加困難,為了增加用戶(hù)對(duì)新聞網(wǎng)站的喜好度和關(guān)注度。本系統(tǒng)開(kāi)發(fā)出基于用戶(hù)個(gè)人喜好的消息推送功能,來(lái)實(shí)現(xiàn)新聞信息的主動(dòng)推送。然而系統(tǒng)可以根據(jù)用戶(hù)點(diǎn)擊的瀏覽習(xí)慣,分析用戶(hù)喜歡瀏覽的新聞信息,篩選出滿(mǎn)足條件的新聞信息,定制出用戶(hù)喜好的新聞信息主動(dòng)推送給用戶(hù)。對(duì)此的話(huà),用戶(hù)也會(huì)感到本網(wǎng)站有比其他新聞網(wǎng)站所不具備的優(yōu)點(diǎn)。本畢業(yè)設(shè)計(jì)的開(kāi)發(fā)意義在于將不同用戶(hù)的個(gè)人喜好作為新聞信息推送的依據(jù),滿(mǎn)足各種不同用戶(hù)的需要,解決他們?cè)L問(wèn)新聞網(wǎng)站時(shí)遇到的各種問(wèn)題,本網(wǎng)站建設(shè)的宗旨是為廣大用戶(hù)服務(wù),實(shí)現(xiàn)用戶(hù)對(duì)本網(wǎng)站的喜好度和關(guān)注度的增加。1.3 研究方法本新聞消息推送新聞網(wǎng)站采用了B/S的體系結(jié)構(gòu)來(lái)實(shí)現(xiàn)。用戶(hù)在瀏覽器端界面,可以實(shí)現(xiàn)各種類(lèi)型的新聞信息查看、基于新聞關(guān)鍵字的查詢(xún)和用戶(hù)對(duì)新聞年度人物進(jìn)行投票等操作。管理員在服務(wù)器端通過(guò)對(duì)后臺(tái)數(shù)據(jù)庫(kù)的操作實(shí)現(xiàn)對(duì)新聞信息、新聞?lì)愋汀⑵胀ü芾韱T賬號(hào)、新聞鏈接、新聞人物投票等的管理。本系統(tǒng)開(kāi)發(fā)使用到了目前JAVA開(kāi)發(fā)中常用的JSP技術(shù),能夠?qū)崿F(xiàn)用戶(hù)與系統(tǒng)的動(dòng)態(tài)互動(dòng)。所以本消息推送新聞系統(tǒng)采用JSP建立動(dòng)態(tài)頁(yè)面,使用了SQL Server 2000創(chuàng)建和管理后臺(tái)數(shù)據(jù)庫(kù),再通過(guò)其他的對(duì)象進(jìn)行界面之間的轉(zhuǎn)換,從而完成對(duì)各種新聞信息的管理、用戶(hù)瀏覽新聞的數(shù)據(jù)分析,實(shí)現(xiàn)用戶(hù)對(duì)于個(gè)人喜好消息的訪問(wèn)。本系統(tǒng)的開(kāi)發(fā)使用的是比較早的基于MVC 模式下的Struts1框架開(kāi)發(fā)技術(shù)進(jìn)行開(kāi)發(fā)的,屬于早期使用的框架技術(shù),目前使用最多的還是Struts2。33東華理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 關(guān)鍵技術(shù)介紹與系統(tǒng)開(kāi)發(fā)環(huán)境2 關(guān)鍵技術(shù)簡(jiǎn)介與開(kāi)發(fā)環(huán)境2.1 關(guān)鍵技術(shù)2.1.1 Struts應(yīng)用框架介紹Struts是一種基于MVC模式下的開(kāi)源應(yīng)用框架,對(duì)于開(kāi)發(fā)者而言,此技術(shù)一定不陌生,為了能使基于在Web下開(kāi)發(fā)的各種應(yīng)用程序能夠更好的被其他的開(kāi)發(fā)者很快熟悉,使用框架技術(shù)來(lái)開(kāi)發(fā)是比較可行的,下面我介紹下Struts主要包含Model 部分、Controller 部分和View 部分。下面講解下個(gè)部分的含義或作用:Model 部分包含業(yè)務(wù)應(yīng)用領(lǐng)域方面的相關(guān)邏輯對(duì)象;Controller 部分是用來(lái)接收來(lái)自位于業(yè)務(wù)流程控制之處的用戶(hù)互動(dòng)信息;View 部分則負(fù)責(zé)用來(lái)展現(xiàn)或接收用戶(hù)輸入的信息。Struts包含以下技術(shù)特性:(1) 包含可以使用的各種標(biāo)記庫(kù),運(yùn)用靈活,能起到提高開(kāi)發(fā)的效率的作用;(2) 是開(kāi)源的系統(tǒng)開(kāi)發(fā)軟件;(3) 使用頁(yè)面導(dǎo)航技術(shù),用戶(hù)來(lái)清楚的知道如何使用。Struts框架可以使用如下一些其包含的組件:actionServlet 組件;actionClass 組件;actionForm 數(shù)據(jù)顯示組件;actionError 存儲(chǔ)和回收錯(cuò)誤組件;struts標(biāo)記庫(kù)組件;actionMapping請(qǐng)求映射組件;actionForward 轉(zhuǎn)移對(duì)象組件。2.1.2 JDBC數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)JDBC就是java數(shù)據(jù)庫(kù)連接的意思,是用于執(zhí)行結(jié)構(gòu)化查詢(xún)語(yǔ)句SQL的Java驅(qū)動(dòng)程序接口,可以用于對(duì)各種關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)。JDBC提供了各種由 Java語(yǔ)言編寫(xiě)的類(lèi)和接口組成的入口。還提供了一種標(biāo)準(zhǔn)準(zhǔn)則,用于構(gòu)建更高級(jí)的接口,這樣的話(huà)能使系統(tǒng)開(kāi)發(fā)人員更方便的編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序代碼。JDBC包含有以下特點(diǎn):JDBC可以定義四種不同的驅(qū)動(dòng)程序,本系統(tǒng)設(shè)計(jì)使用的是第四種驅(qū)動(dòng)程序,叫做pure java driver 驅(qū)動(dòng)程序。它是通過(guò)執(zhí)行腳本語(yǔ)言來(lái)執(zhí)行的,能夠?qū)崿F(xiàn)快速的訪問(wèn)數(shù)據(jù)庫(kù)的功能,能滿(mǎn)足用戶(hù)對(duì)數(shù)據(jù)庫(kù)表數(shù)據(jù)的各種權(quán)限操作。2.1.3 HTML+CSS技術(shù)1)HTML簡(jiǎn)介HTML是ASP語(yǔ)言的重要組成部分,也是目前用于開(kāi)發(fā)前端的頁(yè)面技術(shù)語(yǔ)言。HTML是由包含各種各樣的HTML命令組成的,可用于說(shuō)明文字和圖片以及鏈接等內(nèi)容的顯示。HTML語(yǔ)言結(jié)構(gòu)包括Head和Body兩部分,其中Head是用來(lái)說(shuō)明瀏覽器標(biāo)題信息,而B(niǎo)ody則是說(shuō)明需要說(shuō)明的具體內(nèi)容。HTML的特點(diǎn):(1) 簡(jiǎn)易性(2) 可擴(kuò)展性(3) 與平臺(tái)無(wú)關(guān)性(4) 靈活性2)CSS簡(jiǎn)介CSS叫層疊樣式表,主要是用來(lái)設(shè)計(jì)前端系統(tǒng)頁(yè)面的結(jié)構(gòu)布局。CSS布局具有如下特點(diǎn):(1) 語(yǔ)言簡(jiǎn)單易學(xué)(2) 網(wǎng)頁(yè)訪問(wèn)速度(3) SEO優(yōu)化(4) 瀏覽器兼容性(5) CSS+DIV網(wǎng)頁(yè)布局模式HTML+CSS技術(shù)就能實(shí)現(xiàn)對(duì)本網(wǎng)站前臺(tái)頁(yè)面的開(kāi)發(fā)與建設(shè),在開(kāi)發(fā)建設(shè)本網(wǎng)站時(shí)應(yīng)盡量注意使本網(wǎng)站簡(jiǎn)潔、美觀和使用。因此,對(duì)于技術(shù)的熟悉非常重要,它是實(shí)現(xiàn)本網(wǎng)站開(kāi)發(fā)建設(shè)要求的基礎(chǔ)。2.2開(kāi)發(fā)環(huán)境本系統(tǒng)是一個(gè)基于用戶(hù)個(gè)人喜好的消息推送新聞網(wǎng)站,要滿(mǎn)足用戶(hù)訪問(wèn)的需求,無(wú)論在硬件或者軟件都要選擇得當(dāng)。要求系統(tǒng)可移植性較好,運(yùn)行機(jī)器配置盡可能要高。因此我選擇的機(jī)器配置如下:硬件平臺(tái):CPU:2.26GHz;內(nèi)存:1GB及以上。軟件平臺(tái):操作系統(tǒng):Windows XP;數(shù)據(jù)庫(kù):SQL Server 2000;語(yǔ)言開(kāi)發(fā)工具:Myeclipse 8.5開(kāi)發(fā)工具包:JDK Version1.4.0;流程圖軟件:Microsoft office VisioWeb服務(wù)器:Tomcat 6.0;瀏覽器:IE6.0及以上,推薦使用IE8.0;東華理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 系統(tǒng)分析3 系統(tǒng)分析3.1 可行性分析經(jīng)過(guò)大量的信息論證,我們知道在這個(gè)充滿(mǎn)大量信息的時(shí)代,人們對(duì)信息的利用越來(lái)越頻繁,則人們需要從大量信息數(shù)據(jù)中找到自己所想要的信息,從而推動(dòng)了人們對(duì)消息推送功能的研究。消息推送新聞網(wǎng)站對(duì)新聞進(jìn)行了分類(lèi),網(wǎng)站首頁(yè)以分類(lèi)的形式顯示新聞?lì)愋秃托侣劦脑敿?xì)信息,可以滿(mǎn)足用戶(hù)對(duì)新聞信息瀏覽的要求。新聞網(wǎng)站提供了新聞信息的檢索功能,可以通過(guò)輸入關(guān)鍵字,查詢(xún)與關(guān)鍵字相符的具體新聞信息。系統(tǒng)后臺(tái)能夠通過(guò)其具有的總管理員設(shè)置和管理員添加的功能對(duì)管理員信息進(jìn)行管理,保證了網(wǎng)站的可靠性和安全性。 因此,本網(wǎng)站可以通過(guò)分析用戶(hù)的瀏覽習(xí)慣或?qū)Λ@取用戶(hù)的IP地址數(shù)據(jù)進(jìn)行分析,則可以分析出用戶(hù)的個(gè)人喜好興趣類(lèi)型,從而實(shí)現(xiàn)對(duì)用戶(hù)喜好的新聞消息進(jìn)行推送。3.2 需求分析3.2.1 功能需求通過(guò)對(duì)用戶(hù)的調(diào)查訪問(wèn),經(jīng)分析得出本消息推送新聞網(wǎng)站應(yīng)具有以下功能:(1) 新聞分類(lèi)顯示。通過(guò)對(duì)其他新聞網(wǎng)站的分析得知,新聞信息以分類(lèi)的形式,能夠滿(mǎn)足用戶(hù)對(duì)自己喜好的新聞?lì)愋瓦M(jìn)行快速的訪問(wèn)。本網(wǎng)站新聞分類(lèi)為以下六種:政治生活、娛樂(lè)、軍事、科學(xué)、法制、野生動(dòng)物和體育等各類(lèi)新聞。(2) 新聞信息檢索查詢(xún)。為了滿(mǎn)足用戶(hù)對(duì)自己喜好的新聞信息的快速查找,用戶(hù)可以按照新聞主題、新聞內(nèi)容的關(guān)鍵字進(jìn)行檢索查詢(xún),故本網(wǎng)站提供了對(duì)各類(lèi)新聞信息進(jìn)行檢索查詢(xún)的功能。(3) 新聞人物查看與投票,并可以查看投票數(shù)量。為了滿(mǎn)足用戶(hù)對(duì)自己喜歡的新聞人物進(jìn)行投票,本網(wǎng)站為用戶(hù)提供了一個(gè)用戶(hù)對(duì)新聞人物查看與投票的功能。()新聞消息推送。根據(jù)用戶(hù)的個(gè)人喜好類(lèi)型,為了使用戶(hù)能夠方便、快捷的訪問(wèn)自己喜好的新聞?lì)愋?,則需要把用戶(hù)喜好的新聞信息推送給用戶(hù)。本網(wǎng)站則推出了新聞消息推送功能,這樣能使用戶(hù)更加喜歡或關(guān)注本新聞網(wǎng)站。為了實(shí)現(xiàn)消息的推送,本網(wǎng)站是根據(jù)用戶(hù)訪問(wèn)本網(wǎng)站的新聞信息的瀏覽習(xí)慣而實(shí)現(xiàn)的。(5) 其他新聞網(wǎng)站的友情鏈接。為了解決本網(wǎng)站若是沒(méi)有及時(shí)推出熱點(diǎn)新聞的更新,而用戶(hù)無(wú)法查看的功能缺陷,系統(tǒng)提供了對(duì)其他新聞網(wǎng)站的友情鏈接。用戶(hù)可以點(diǎn)擊其他新聞網(wǎng)站的鏈接,去進(jìn)行查看。3.2.2性能需求對(duì)于本網(wǎng)站的開(kāi)發(fā)與建設(shè),不僅對(duì)功能需求要做出詳細(xì)的分析,而且對(duì)網(wǎng)站建設(shè)的性能需求也有以下要求: (1) 操作具有靈活性(2) 系統(tǒng)要有較高的可靠性、安全性和容錯(cuò)性(3) 快速響應(yīng)性,能快速反應(yīng)給用戶(hù) (4) 在結(jié)構(gòu)上應(yīng)具有很好的可擴(kuò)展性,便于將來(lái)的功能擴(kuò)展和維護(hù)3.2.3數(shù)據(jù)流分析 數(shù)據(jù)流程圖(DFD)是用于描述系統(tǒng)結(jié)構(gòu)的邏輯輸入和邏輯輸出之間的相互關(guān)系。還能對(duì)其進(jìn)行加工處理等操作。下面我們來(lái)查看下本網(wǎng)站建設(shè)涉及到的系統(tǒng)數(shù)據(jù)流程圖。主要數(shù)據(jù)流程圖如下所示:系統(tǒng)數(shù)據(jù)流程圖 圖1系統(tǒng)數(shù)據(jù)流程圖系統(tǒng)功能說(shuō)明,根據(jù)本網(wǎng)站的數(shù)據(jù)流圖所示可知,本網(wǎng)站主要是分為用戶(hù)和管理員兩個(gè)實(shí)體。因此對(duì)其進(jìn)行說(shuō)明。用戶(hù)訪問(wèn)本網(wǎng)站,則在網(wǎng)站首頁(yè),用戶(hù)可以對(duì)分類(lèi)的各種新聞信息進(jìn)行點(diǎn)擊查看。能查看新聞所屬新聞分類(lèi)類(lèi)型、新聞名字、詳細(xì)新聞?lì)愋秃蛣?chuàng)建日期,還能對(duì)網(wǎng)站推送的消息新聞進(jìn)行查看和其他網(wǎng)站的鏈接。對(duì)于后臺(tái)管理來(lái)說(shuō),主要是管理員對(duì)網(wǎng)站前臺(tái)頁(yè)面具有的功能進(jìn)行管理。實(shí)現(xiàn)對(duì)網(wǎng)站的健康化、標(biāo)準(zhǔn)化管理。東華理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 系統(tǒng)概要設(shè)計(jì)4 系統(tǒng)概要設(shè)計(jì)4.1 網(wǎng)站結(jié)構(gòu)規(guī)劃及設(shè)計(jì)目標(biāo)本消息推送新聞網(wǎng)站是一個(gè)功能完善的新聞?lì)愊g覽、閱讀和用戶(hù)喜好的新聞消息推送的網(wǎng)站,由前臺(tái)客戶(hù)端進(jìn)行新聞瀏覽界面顯示、新聞信息查詢(xún)以及新聞消息推送的展示和后臺(tái)管理員進(jìn)入等部分組成。第一部分,前臺(tái)客戶(hù)端頁(yè)面:前臺(tái)主要包括新聞分類(lèi)、顯示新聞詳細(xì)信息、新聞信息檢索和確認(rèn)查詢(xún)、年度新聞人物投票、消息推送點(diǎn)擊量前五、消息推送搜索前三、消息推送種類(lèi)排名、消息推送分?jǐn)?shù)排名、消息推送標(biāo)記為喜歡排名、友情鏈接、提供后臺(tái)登錄口。對(duì)于新聞本網(wǎng)站而言,在前臺(tái)頁(yè)面可以實(shí)現(xiàn)對(duì)各類(lèi)新聞信息的查看以及基于用戶(hù)喜好的新聞消息進(jìn)行推送。第二部分,后臺(tái)系統(tǒng)管理設(shè)置:后臺(tái)系統(tǒng)管理設(shè)置主要是為了管理其具有的功能,如新聞信息管理、管理員權(quán)限管理、鏈接管理和其他管理等主要要實(shí)現(xiàn)的功能。本網(wǎng)站是根據(jù)新聞信息的屬性對(duì)其進(jìn)行分類(lèi)設(shè)計(jì),根據(jù)設(shè)計(jì)要求主要要實(shí)現(xiàn)如下目標(biāo):(1) 分類(lèi)展示各種類(lèi)型的新聞。(2) 具體新聞信息的展示。(3) 新聞檢索、查詢(xún)功能的設(shè)置。(4) 設(shè)置新聞人物投票及投票數(shù)統(tǒng)計(jì)功能。(5) 實(shí)現(xiàn)用戶(hù)個(gè)人喜好的消息推送功能。(6) 提供其他網(wǎng)站的友情鏈接。(7) 設(shè)置總管理員管理以及對(duì)普通管理員權(quán)限的管理。4.2 系統(tǒng)功能模塊設(shè)計(jì)網(wǎng)站由二大部分組成,其功能模塊包括用戶(hù)訪問(wèn)的前臺(tái)頁(yè)面模塊和后臺(tái)管理員新聞管理模塊。其模塊設(shè)計(jì)功能流程圖,如下功能結(jié)構(gòu)圖2和圖3所示。第一部分,消息推送新聞網(wǎng)站前臺(tái)功能結(jié)構(gòu)圖,如下圖5所示:圖2 網(wǎng)站前臺(tái)功能結(jié)構(gòu)圖第二部分,網(wǎng)站后臺(tái)功能結(jié)圖,如下圖3所示:圖3網(wǎng)站后臺(tái)功能結(jié)構(gòu)圖4.3 系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)是根據(jù)用戶(hù)需求,將整個(gè)系統(tǒng)劃分成若干個(gè)邏輯數(shù)據(jù)單元,分別能夠?qū)崿F(xiàn)各自的功能。一般在軟件系統(tǒng)的開(kāi)發(fā)過(guò)程中,邏輯結(jié)構(gòu)一般是由系統(tǒng)架構(gòu)師規(guī)劃設(shè)計(jì)完成的。系統(tǒng)邏輯結(jié)構(gòu)在系統(tǒng)開(kāi)發(fā)的過(guò)程中起著相當(dāng)重要的作用,能使系統(tǒng)變得更加清晰。本系統(tǒng)開(kāi)發(fā)使用的邏輯結(jié)構(gòu)包括以下幾層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)層。表示層(UI):是指與用戶(hù)進(jìn)行交互的界面。主要是用于接收用戶(hù)輸入的信息以及顯示反饋給用戶(hù)的信息。業(yè)務(wù)邏輯層(BLL):位于 UI層和DAL層之間。用于實(shí)現(xiàn)業(yè)務(wù)邏輯功能。業(yè)務(wù)邏輯具體包括:相關(guān)計(jì)算、數(shù)據(jù)驗(yàn)證和業(yè)務(wù)規(guī)則等。系統(tǒng)架構(gòu)中最核心的部分是BLL。它的關(guān)注點(diǎn)主要是用于完成和業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計(jì)。BLL在體系架構(gòu)中處于重要的關(guān)鍵位置,位于表示層和數(shù)據(jù)訪問(wèn)層之間。層是一種弱耦合的結(jié)構(gòu),層與層之間的相互關(guān)系是向下依賴(lài)的。底層是不知道上層是如何設(shè)計(jì)的,要改變上層的設(shè)計(jì)對(duì)其調(diào)用底層來(lái)說(shuō)不會(huì)有什么影響。在分層結(jié)構(gòu)設(shè)計(jì)的過(guò)程中,若是在不改變接口定義的條件下,分層式架構(gòu)是一個(gè)支持可抽取、可替代的理想層式架構(gòu)。所以對(duì)于業(yè)務(wù)邏輯層的設(shè)計(jì)若能支持可擴(kuò)展的架構(gòu)顯得尤為重要。從數(shù)據(jù)訪問(wèn)層來(lái)講,它是調(diào)用者;從表示層來(lái)講,它卻是被調(diào)用者。數(shù)據(jù)層(DAL):DAL與數(shù)據(jù)庫(kù)打交道。主要完成對(duì)數(shù)據(jù)的添加、修改、刪除和查看操作。它主要是將存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)提取并提交給業(yè)務(wù)層,業(yè)務(wù)層將收到的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中去。4.4 數(shù)據(jù)庫(kù)設(shè)計(jì)4.4.1數(shù)據(jù)庫(kù)分析根據(jù)系統(tǒng)用戶(hù)需求分析,可以在數(shù)據(jù)庫(kù)中劃分以下實(shí)體:tb_Link、tb_manager、tb_news、tb_newsType、tb_Vote和tb_Style,為了實(shí)現(xiàn)基于用戶(hù)個(gè)人喜好的消息推送新聞網(wǎng)站的開(kāi)發(fā),需要對(duì)每個(gè)實(shí)體進(jìn)行屬性劃分。(1) tb_Link包含以下屬性:ID、Name、Address、IssueDate。(2) tb_manager包含以下屬性:ID、Name、Password、RealName、IssueDate、Mark。(3)tb_new包含以下屬性s:ID、Title、Content、Type、Style、IssueDate、linkNum、goodScore、mark、selectNum、markNum。(4) tb_newsType包含以下屬性:ID、TypeName、DateTime、linkNum。(5) tb_Vote包含以下屬性:ID、Name、Address、Country、Job、Remark、Number。(6) tb_Style包含以下屬性:ID、StyleName、STName、DateTime。4.4.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)1)數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)概念設(shè)計(jì)就是用來(lái)表達(dá)實(shí)體與實(shí)體之間的相互聯(lián)系的過(guò)程,在數(shù)據(jù)庫(kù)概念設(shè)計(jì)所體現(xiàn)的概念模型,能充分反映了現(xiàn)實(shí)世界中實(shí)體與實(shí)體間的相互聯(lián)系,概念設(shè)計(jì)的成功與否將直接關(guān)系到整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的成功。下面用整體系統(tǒng)E-R圖來(lái)表示各功能模塊之間的關(guān)系。如圖4所示:圖4系統(tǒng)整體E-R圖通過(guò)上面的E-R圖,我們能清晰的了解系統(tǒng)各個(gè)部分之間的關(guān)系。下面說(shuō)明用圖來(lái)表示各實(shí)體包含的屬性:1)tb_Link包含的屬性,如圖5所示:圖5 tb_Link的屬性結(jié)構(gòu)圖 2)tb_manager包含的屬性,如圖6所示:圖6 tb_manager的屬性結(jié)構(gòu)圖3)tb_news包含的屬性,如圖7所示:圖7 tb_news的屬性結(jié)構(gòu)圖 4)tb_newsType包含的屬性,如下圖8所示:圖8 tb_newsType的屬性結(jié)構(gòu)圖 5)tb_Vote包含的屬性,如下圖9所示:圖9 tb_Vote的屬性結(jié)構(gòu)圖 6)tb_Style包含的屬性,如下圖10所示:圖10 tb_Style的屬性結(jié)構(gòu)圖4.4.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)中創(chuàng)建表的方法有兩種,一種是通過(guò)在企業(yè)管理器中直接添加,另一種是使用用查詢(xún)分析器的腳本命令添加,本次設(shè)計(jì)選擇在企業(yè)管理器中添加。在企業(yè)管理器的news數(shù)據(jù)庫(kù)中右鍵單擊“表”節(jié)點(diǎn),在彈出的快捷菜單中選擇創(chuàng)建表命令,然后就進(jìn)入表結(jié)構(gòu)設(shè)計(jì)界面,可以在該界面中添加表的列名,以及各列的數(shù)據(jù)類(lèi)型、長(zhǎng)度,以及是否為空,是否為主鍵和描述。按照分析,本消息推送新聞網(wǎng)站一共需要建立六張數(shù)據(jù)表,下面分別介紹這些表的數(shù)據(jù)結(jié)構(gòu):(1)tb_Link(鏈接其他網(wǎng)站表)tb_Link主要是用于保存其他網(wǎng)站信息。表tb_Link的結(jié)構(gòu)如表1所示: 表1 tb_Link字段名數(shù)據(jù)類(lèi)型長(zhǎng)度描述IDint4數(shù)據(jù)庫(kù)流水號(hào)Namevarchar40鏈接其他網(wǎng)站名稱(chēng)Addressvarchar40鏈接網(wǎng)站地址IssueDatedatetime8鏈接網(wǎng)站的日期(2)tb_manager(后臺(tái)管理員設(shè)置表)tb_manager是用來(lái)保存后臺(tái)管理員的基本信息。表tb_manager的結(jié)構(gòu)如表2所示: 表2 tb_manager字段名數(shù)據(jù)類(lèi)型長(zhǎng)度描述IDint4數(shù)據(jù)庫(kù)流水號(hào)Namevarchar50管理員帳號(hào)Passwordvarchar50管理員密碼RealNamevarchar50管理員真實(shí)姓名IssueDatedatetime8管理員注冊(cè)日期Markvarchar50管理員標(biāo)識(shí)(3)tb_news(新聞管理表)tb_news主要是用于保存各類(lèi)新聞信息內(nèi)容。表tb_news的結(jié)構(gòu)如表3所示: 表3 tb_news字段名數(shù)據(jù)類(lèi)型長(zhǎng)度描述IDint4數(shù)據(jù)庫(kù)流水號(hào)Titlevarchar100新聞標(biāo)題Contenttext16新聞內(nèi)容Typevarchar100新聞?lì)愋蚐tylevarchar50新聞詳細(xì)類(lèi)型IssDatesmalldatetime4新聞發(fā)布日期linkNumint4獲取用戶(hù)的點(diǎn)擊量goodScoreint4獲取用戶(hù)提交的分?jǐn)?shù)markvarchar100獲取用戶(hù)是否標(biāo)記為喜歡selectNumint4獲取用戶(hù)的查詢(xún)量markNumint4獲取用戶(hù)的種類(lèi)排名(4)tb_newsType(新聞?lì)悇e表)tb_newsType主要是用來(lái)保存新聞種類(lèi)的信息。表tb_newsType的結(jié)構(gòu)如表4所示: 表4 tb_newsType字段名數(shù)據(jù)類(lèi)型長(zhǎng)度描述IDint4數(shù)據(jù)庫(kù)流水號(hào)TypeNamevarchar50新聞?lì)愋兔Q(chēng)DateTimedatetime8新聞?lì)愋徒⑷掌趌inkNumint4獲取用戶(hù)的點(diǎn)擊量(5)tb_Vote(新聞人物投票表)tb_Vote主要是用來(lái)保存用戶(hù)對(duì)新聞人物的投票信息。表tb_Vote的結(jié)構(gòu)如表5所示: 表5 tb_Vote字段名數(shù)據(jù)類(lèi)型長(zhǎng)度描述IDint4數(shù)據(jù)庫(kù)流水號(hào)Namevarchar50新聞人物的姓名Addressvarchar50新聞人物的地址Countryvarchar50新聞人物的籍貫Jobvarchar50新聞人物的工作Remarkvarchar50新聞人物的備注Numberint4新聞人物的票數(shù)(6)tb_Style(新聞人物投票表)tb_Style主要是用于保存新聞人物投票信息。表tb_Style的結(jié)構(gòu)如表6所示:表6 tb_Style字段名數(shù)據(jù)類(lèi)型長(zhǎng)度描述IDint4數(shù)據(jù)庫(kù)流水號(hào)StyleNamevarchar50新聞詳細(xì)類(lèi)型STNamevarchar50新聞?lì)愋虳ateTimedatetime50新聞日期4.4.4數(shù)據(jù)庫(kù)的物理實(shí)現(xiàn)對(duì)于數(shù)據(jù)庫(kù)的物理實(shí)現(xiàn),它主要分為數(shù)據(jù)庫(kù)的創(chuàng)建和數(shù)據(jù)庫(kù)的連接。1)創(chuàng)建數(shù)據(jù)庫(kù)在創(chuàng)建數(shù)據(jù)庫(kù)的邏輯表結(jié)構(gòu)之前,首先需要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)。創(chuàng)建數(shù)據(jù)庫(kù)有兩種方法,一種是在企業(yè)管理器的數(shù)據(jù)庫(kù)服務(wù)器組中點(diǎn)擊“添加”,另一種是在查詢(xún)分析器中創(chuàng)建編寫(xiě)數(shù)據(jù)庫(kù)的腳本文件。本次設(shè)計(jì)選擇在企業(yè)管理器的數(shù)據(jù)庫(kù)服務(wù)器組中直接添加。在企業(yè)管理器中添加的方法:選擇企業(yè)管理器-Microsoft SQL Server-SQL Server組-NETSDK(Windows NT-數(shù)據(jù)庫(kù)節(jié)點(diǎn),單擊右鍵可以看到“數(shù)據(jù)庫(kù)節(jié)點(diǎn)”,在此快捷菜單中選擇新建數(shù)據(jù)庫(kù)的命令,則在彈出數(shù)據(jù)庫(kù)屬性對(duì)話(huà)框中,將該對(duì)話(huà)框中設(shè)置數(shù)據(jù)庫(kù)的名字為“news”,并指定保存數(shù)據(jù)庫(kù)的路徑和其他屬性。2)數(shù)據(jù)庫(kù)的連接本網(wǎng)站系統(tǒng)開(kāi)發(fā)采用的是JDBC技術(shù)連接數(shù)據(jù)庫(kù)的。在第2章節(jié)介紹了系統(tǒng)開(kāi)發(fā)使用的關(guān)鍵技術(shù),其中就介紹了JDBC技術(shù),這里就不再重述。東華理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 系統(tǒng)總體設(shè)計(jì)5 系統(tǒng)總體設(shè)計(jì)5.1網(wǎng)站總體架構(gòu)網(wǎng)站總體結(jié)構(gòu)主要是要說(shuō)明下網(wǎng)站的總體框架架構(gòu),包括前臺(tái)和后臺(tái)。5.1.1網(wǎng)站前臺(tái)架構(gòu)網(wǎng)站前臺(tái)架構(gòu)說(shuō)明:此網(wǎng)站前臺(tái)包括系統(tǒng)網(wǎng)站導(dǎo)航欄、功能模塊、版塊新聞內(nèi)容顯示以及管理員進(jìn)入后臺(tái)的入口。此首頁(yè)負(fù)責(zé)版塊新聞標(biāo)題信息的顯示,新聞信息的顯示、新聞詳細(xì)信息的顯示、新聞搜索確認(rèn)查詢(xún)、年度新聞人物和投票數(shù)量的查看、消息推送點(diǎn)擊量前五名的顯示、消息推送搜索前三的顯示和消息推送種類(lèi)排名的顯示。該系統(tǒng)中所有的新聞信息和新聞詳細(xì)信息以及投票信息全在此模塊中顯示,用戶(hù)在瀏覽新聞信息的同時(shí)還可以鏈接訪問(wèn)其他網(wǎng)站。用戶(hù)和管理員進(jìn)入該系統(tǒng)必須首先進(jìn)入訪問(wèn)網(wǎng)站首頁(yè)。該頁(yè)面顯示所有新聞?lì)悇e及部分新聞標(biāo)題。網(wǎng)站前臺(tái)首頁(yè)的如圖11所示。 圖11 網(wǎng)站前臺(tái)首頁(yè)網(wǎng)站前臺(tái)框架圖說(shuō)明如下表7所示:表7 網(wǎng)站前臺(tái)首頁(yè)頁(yè)面說(shuō)明區(qū)域名稱(chēng)說(shuō)明對(duì)應(yīng)文件1網(wǎng)站導(dǎo)航主要展示網(wǎng)站的特色內(nèi)容和站內(nèi)導(dǎo)航條typeTopAction.do2功能模塊主要用于顯示導(dǎo)航模塊中的功能left_main.jsp3內(nèi)容顯示主要用于顯示功能模塊中的內(nèi)容right_main.jsp5.1.2網(wǎng)站后臺(tái)架構(gòu)網(wǎng)站后臺(tái)架構(gòu)主要是用于對(duì)新聞的管理、其他網(wǎng)站鏈接、管理員權(quán)限管理和新聞人物的查看。網(wǎng)站后臺(tái)首頁(yè)的運(yùn)行結(jié)果如圖12所示。圖12 網(wǎng)站后臺(tái)首頁(yè)運(yùn)行結(jié)果網(wǎng)站后臺(tái)首頁(yè)中的各部分說(shuō)明如表8所示。區(qū)域名稱(chēng)說(shuō)明對(duì)應(yīng)文件1網(wǎng)站導(dǎo)航主要展示網(wǎng)站的旗幟廣告和站內(nèi)導(dǎo)航條typeNewWatch.do2功能模塊主要用于顯示導(dǎo)航模塊中的功能linkSelect.do3內(nèi)容顯示主要用于顯示功能模塊中的內(nèi)容dateNews.do?type=今日新聞 表8 網(wǎng)站后臺(tái)首頁(yè)頁(yè)面說(shuō)明5.2 系統(tǒng)功能模塊設(shè)計(jì)與實(shí)現(xiàn)5.2.1系統(tǒng)后臺(tái)主要功能設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)后臺(tái)(即服務(wù)器端)主要是提供給管理員進(jìn)入后臺(tái)對(duì)管理員權(quán)限進(jìn)行設(shè)置,對(duì)新聞信息進(jìn)行添加、修改、刪除操作,5.2.1.1 管理員登錄模塊設(shè)計(jì)管理員登錄的功能主要是為實(shí)現(xiàn)總管理員和普通管理員能夠登錄后臺(tái)對(duì)新聞信息進(jìn)行管理、以及其他一切系統(tǒng)功能操作。在本系統(tǒng)網(wǎng)站中,后臺(tái)管理員分為兩種:一個(gè)是普通管理員,他可以對(duì)新聞?lì)愋瓦M(jìn)行定義,也可以管理新聞信息、設(shè)置年度新聞人物管理和網(wǎng)站鏈接管理;另一個(gè)是總管理員,他除了可操作以上功能外,還可以對(duì)普通管理員進(jìn)行設(shè)置,總管理員和普通管理員都能通過(guò)后臺(tái)登錄頁(yè)面登錄后臺(tái)。管理員在登錄界面(其界面如圖13所示)輸入代賬號(hào)和密碼后,由后臺(tái)的ManagerCheckAction.java來(lái)核對(duì)管理員賬號(hào)和密碼是否正確,若出現(xiàn)錯(cuò)誤,則在頁(yè)面中將會(huì)提醒管理員輸入錯(cuò)誤(adminPasswordFail.jsp);若正確,則可以成功登錄到后臺(tái)管理界面。圖13 后臺(tái)登錄頁(yè)面在管理員進(jìn)入后臺(tái)時(shí),管理員需要輸入賬號(hào)和密碼進(jìn)行驗(yàn)證,若是和數(shù)據(jù)庫(kù)表中記錄的管理員賬號(hào)和密碼相同,則可以成功登錄。 以下是核對(duì)管理員登錄時(shí),對(duì)輸入的賬戶(hù)和密碼進(jìn)行判斷的重要語(yǔ)句: if (manager = null) return actionMapping.findForward(managerWrong); else if (!manager.getManagerPassword().equals(httpServletRequest. getParameter( managerPassWord) return actionMapping.findForward(managerWrong); return actionMapping.findForward(managerRight);5. 2.1.2 新聞信息管理模塊和管理員設(shè)置模塊設(shè)計(jì)此模塊要實(shí)現(xiàn)對(duì)新聞信息的管理操作,管理員可以添加、修改、刪除和查看新聞的信息。實(shí)現(xiàn)對(duì)前臺(tái)頁(yè)面的信息操作。對(duì)于新聞信息的添加、修改、刪除和查看操作都是通過(guò)與Microsoft Server 2000數(shù)據(jù)庫(kù)的連接操作實(shí)現(xiàn)的,管理員對(duì)新聞信息的任何基本操作,在數(shù)據(jù)庫(kù)中都能查詢(xún)出來(lái)。本系統(tǒng)后臺(tái)使用的是JDBC技術(shù)訪問(wèn)數(shù)據(jù)庫(kù)。下面我講講Java中訪問(wèn)數(shù)據(jù)庫(kù)的操作是如何實(shí)現(xiàn)的。對(duì)于Java訪問(wèn)數(shù)據(jù)庫(kù)一定要裝好驅(qū)動(dòng),本系統(tǒng)使用的是JDBC驅(qū)動(dòng)程序來(lái)訪問(wèn)數(shù)據(jù)庫(kù)的,可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的增、刪、改、查操作。下面是本系統(tǒng)訪問(wèn)數(shù)據(jù)庫(kù)SQL Server數(shù)據(jù)的連接代碼:url:jdbc:microsoft:sqlserver:/localhost:8080;databasename=news driver:com.microsoft.jdbc.sqlserver.SQLServerDriver管理員設(shè)置模塊包括總管理員設(shè)置、總管理員密碼更改、添加新的管理員和普通管理員設(shè)置功能,此模塊同樣是為了實(shí)現(xiàn)對(duì)管理員信息進(jìn)行管理,必須要與訪問(wèn)數(shù)據(jù)庫(kù)才能實(shí)現(xiàn)對(duì)管理員信息的增、刪、改、查等基本操作。此處不再對(duì)如何連接到數(shù)據(jù)庫(kù)進(jìn)行闡述。在前面的新聞信息管理模塊設(shè)計(jì)與分析中已經(jīng)著重講解了系統(tǒng)是如何成功連接到SQL Server數(shù)據(jù)庫(kù)的。5 .2 .1.3 鏈接管理模塊設(shè)計(jì)此模塊也是要實(shí)現(xiàn)對(duì)其他新聞網(wǎng)站的鏈接進(jìn)行管理,管理員同樣也是只需要通過(guò)添加、修改和刪除操作就能實(shí)現(xiàn)對(duì)其他新聞網(wǎng)站鏈接的管理。其他網(wǎng)站鏈接管理模塊的過(guò)程:1)添加鏈接信息操作:點(diǎn)擊添加鏈接信息按鈕,輸入需要添加鏈接網(wǎng)站名稱(chēng)和鏈接的地址。點(diǎn)擊提交鈕后,系統(tǒng)進(jìn)入信息新增頁(yè)面linkInsert.jsp(如圖12所示),管理員可在這個(gè)頁(yè)面上添加鏈接網(wǎng)站的名稱(chēng)和地址,提交后將添加的鏈接網(wǎng)站數(shù)據(jù)存入tb_Link表中。2)修改鏈接信息操作:點(diǎn)擊修改鏈接信息按鈕,修改需要修改的鏈接網(wǎng)站名稱(chēng)或鏈接地址。點(diǎn)擊提交鈕后,系統(tǒng)進(jìn)入信息修改頁(yè)面linkUpdate.jsp(如圖14所示),管理員可在這個(gè)頁(yè)面上修改鏈接網(wǎng)站的名稱(chēng)或地址,提交后將修改的鏈接網(wǎng)站數(shù)據(jù)存入tb_Link表中。 圖14 修改鏈接信息3)刪除鏈接信息操作: 點(diǎn)擊刪除按鈕,刪除鏈接網(wǎng)站的信息。點(diǎn)擊確定后將刪除鏈接網(wǎng)站的信息。刪除后,在后臺(tái)數(shù)據(jù)庫(kù)表tb_Link中將會(huì)執(zhí)行delete操作。5 .2 .1.4 查看新聞人物模塊設(shè)計(jì)功能描述:此模塊要實(shí)現(xiàn)對(duì)新聞人物的管理功能,管理員可以修改、刪除和添加新聞人物信息。新聞人物管理模塊的過(guò)程:1) 添加新聞人物操作:點(diǎn)擊添加新聞人物按鈕,輸入需要添加的人物名稱(chēng)、人物籍貫、人物年齡、人物工作和簡(jiǎn)單介紹。點(diǎn)擊提交鈕后,系統(tǒng)進(jìn)入新聞人物新增頁(yè)面voteInsert.jsp(如圖15所示),管理員可在這個(gè)頁(yè)面上添加新聞人物信息,提交后將添加的鏈接網(wǎng)站數(shù)據(jù)存入tb_Vote表中。 圖15 添加新聞人物信息2)修改新聞人物操作:點(diǎn)擊修改按鈕,修改需要修改的新聞人物信息。點(diǎn)擊提交鈕后,系統(tǒng)進(jìn)入信息修改頁(yè)面voteUpdate.jsp(如圖16所示),管理員可在這個(gè)頁(yè)面上修改新聞人物信息,提交后將修改的鏈接網(wǎng)站數(shù)據(jù)存入tb_Vote表中。 圖16 修改新聞人物信息3)刪除新聞人物信息操作: 點(diǎn)擊刪除按鈕,刪除新聞人物信息。點(diǎn)擊確定后將刪除新聞人物的信息。前面都講到了在后臺(tái)系統(tǒng)頁(yè)面管理員主要是對(duì)新聞網(wǎng)站前臺(tái)的各類(lèi)新聞信息、新聞人物的投票數(shù)量情況以及消息推送的功能的信息進(jìn)行維護(hù),其主要表現(xiàn)在增、刪、改、查方面與數(shù)據(jù)庫(kù)的互動(dòng)操作。5.2.2網(wǎng)站前臺(tái)主要功能模塊設(shè)計(jì)網(wǎng)站前臺(tái)是用戶(hù)與系統(tǒng)進(jìn)行交互的頁(yè)面,用戶(hù)能夠通過(guò)點(diǎn)擊系統(tǒng)所具有的功能,則會(huì)發(fā)送請(qǐng)求對(duì)象給系統(tǒng),系統(tǒng)則會(huì)對(duì)獲取的request對(duì)象進(jìn)行分析,把用戶(hù)需要新聞信息通過(guò)客戶(hù)端前端頁(yè)面顯示給用戶(hù)看。5.2.2.1 今日新聞的顯示這個(gè)功能就是查看當(dāng)天的新聞,主要用到了sql語(yǔ)句中的select語(yǔ)句。查詢(xún)的條件是以時(shí)間為主,在前臺(tái)新聞管理中執(zhí)行dateNewsContent.jsp中的代碼,如圖17所示: 圖17 今日新聞的顯示5.2.2.2輸入新聞關(guān)鍵字查詢(xún)新聞關(guān)鍵字查找新聞相當(dāng)于搜索引擎的功能,它是現(xiàn)在各種類(lèi)型網(wǎng)站普遍使用的一種技術(shù),用戶(hù)可以根據(jù)本人的個(gè)人喜好類(lèi)型,查詢(xún)自己喜歡看的新聞?lì)愋汀S脩?hù)在文本框中輸入新聞的相關(guān)內(nèi)容,執(zhí)行SQL語(yǔ)句,查找相關(guān)新聞信息,其中的下拉列表框是一個(gè)查詢(xún)的動(dòng)作,實(shí)現(xiàn)過(guò)程與前面的后臺(tái)新聞相似。新聞查找運(yùn)行結(jié)果如圖18所示:圖18 關(guān)鍵字查詢(xún)新聞實(shí)現(xiàn)關(guān)鍵字查詢(xún)新聞功能的主要代碼如下:public KeyNewsWatch() /以新聞?lì)愋秃托侣勵(lì)}目進(jìn)行模糊查詢(xún)操作 this.newsFacade = new NewsFacadeImpl(); public ActionForward perform(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) Chinese chinese = new Chinese(); NewsActionForm newsActionForm = (NewsActionForm) actionForm; String key = chinese.str(httpServletRequest.getParameter(key); /取得新聞的關(guān)鍵字 newsActionForm.setNewsType(chinese.str(httpServletRequest.getParameter( type); /取得新聞的類(lèi)型 List list = this.newsFacade.keyNewsWatch(key, newsActionForm); httpServletRequest.setAttribute(listContent, list); return actionMapping.findForward(keyNewsWatch); 站內(nèi)新聞信息的查詢(xún)就是通過(guò)關(guān)鍵字查詢(xún)技術(shù)實(shí)現(xiàn)的,這種技術(shù)應(yīng)用相當(dāng)廣泛,已經(jīng)成為人們搜索查找信息的重要方法或途徑了。其實(shí)現(xiàn)方法就是通過(guò)上述關(guān)鍵代碼實(shí)現(xiàn)的。再次就不再重述。5.2.2.3 查看年度新聞人物與投票數(shù)量功能描述:主要是實(shí)現(xiàn)對(duì)年度新聞人物的信息查看與投票以及查看年度新聞人物投票數(shù)量,執(zhí)行SQL語(yǔ)句中的Select語(yǔ)句,進(jìn)行查詢(xún),實(shí)現(xiàn)過(guò)程與前面的新聞查詢(xún)相似。其查看新聞人物運(yùn)行結(jié)果如圖19所示:圖19 查看新聞人物與投票在點(diǎn)擊了查看年度新聞人物后,用戶(hù)就可以查看有哪些年度新聞人物,并可以根據(jù)新聞人物信息對(duì)自己喜歡的新聞人物進(jìn)行投票。在此,我主要是要講解下應(yīng)用到了哪些技術(shù),它是怎么樣實(shí)現(xiàn)的。帶著這些問(wèn)題,我給大家講解下。本系統(tǒng)是基于B/S開(kāi)發(fā),所以就能實(shí)現(xiàn)用戶(hù)與系統(tǒng)進(jìn)行對(duì)話(huà),即我們所說(shuō)的人機(jī)交互,即用戶(hù)提交請(qǐng)求,系統(tǒng)則根據(jù)用戶(hù)的請(qǐng)求做出相應(yīng)的回答。其實(shí)現(xiàn)方式是通過(guò)動(dòng)態(tài)頁(yè)面實(shí)現(xiàn)的,下面我就講講客戶(hù)端動(dòng)態(tài)頁(yè)面的實(shí)現(xiàn)。即DHTML技術(shù),大多數(shù)網(wǎng)頁(yè)還廣泛采用此種技術(shù)是網(wǎng)頁(yè)動(dòng)起來(lái)。DHTML技術(shù)的實(shí)現(xiàn)并不是孤立的,他通常需要HTML標(biāo)記與客戶(hù)端腳本語(yǔ)言、CSS層疊樣式表以及網(wǎng)頁(yè)的“層”布局技術(shù)組合在一起使用。此種網(wǎng)頁(yè)中的一些HTML元素是可以被動(dòng)態(tài)操縱的,一些元素的CSS顯示樣式以及所在“層”面的顯示屬性也是能被動(dòng)態(tài)操縱的,因此可以獲得這些元素的動(dòng)態(tài)顯示效果。JavaScript或VBScript等客戶(hù)端腳本語(yǔ)言來(lái)編寫(xiě)進(jìn)行控制的腳本程序代碼,以實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)中的顯示屬性。5.2.2.4 消息推送消息推送介紹,本系統(tǒng)為了實(shí)現(xiàn)消息推送功能,對(duì)其進(jìn)行了重要分析?,F(xiàn)根據(jù)用戶(hù)點(diǎn)擊量數(shù)據(jù)、用戶(hù)習(xí)慣瀏覽的新聞種類(lèi)數(shù)據(jù)、用戶(hù)查詢(xún)量數(shù)據(jù)、標(biāo)記為喜歡的數(shù)量排名數(shù)據(jù)等屬性,將消息推送功能的實(shí)現(xiàn)劃分為以下5個(gè)子功能,其包括:消息推送點(diǎn)擊量前五、消息推送搜索前三、消息推送種類(lèi)排名、消息推送分?jǐn)?shù)排名、消息推送標(biāo)記為喜歡排名。下面我以圖的形式說(shuō)明下消息推送功能是如何實(shí)現(xiàn)的。在這里我主要是講解消息推送功能下的“消息推送點(diǎn)擊量前五”的實(shí)現(xiàn)方式,其余四個(gè)消息推送的方式的實(shí)現(xiàn)方法和“消息推送點(diǎn)擊量前五”是一樣的。第一,進(jìn)入SQL Server數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)news中的表tb_newsType添加字段linkNum(種類(lèi)點(diǎn)擊量)如圖20所示:圖20 在數(shù)據(jù)庫(kù)表中添加字段linkNum這樣的話(huà)就可以通過(guò)用戶(hù)在前臺(tái)點(diǎn)擊新聞種類(lèi)時(shí),記錄下用戶(hù)訪問(wèn)網(wǎng)站點(diǎn)擊的新聞種類(lèi)的數(shù)量,從而得知哪些新聞是用戶(hù)最喜歡點(diǎn)擊查看的,再在前臺(tái)頁(yè)面以“消息推送點(diǎn)擊量排名前五