基于個人喜好的消息推送網(wǎng)站畢業(yè)論文.doc
《基于個人喜好的消息推送網(wǎng)站畢業(yè)論文.doc》由會員分享,可在線閱讀,更多相關《基于個人喜好的消息推送網(wǎng)站畢業(yè)論文.doc(39頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 本 科 生 畢 業(yè) 設 計(論 文)論文題目:基于個人喜好的消息推送網(wǎng)站姓名:郭偉林學號:1021113465班級:10211112年級:10級專業(yè):軟件工程學院:軟件學院指導教師:張軍(副教授)完成時間:2014年 06 月 02日 作 者 聲 明本人以信譽鄭重聲明:所呈交的學位畢業(yè)設計(論文),是本人在指導教師指導下由本人獨立撰寫完成的,沒有剽竊、抄襲、造假等違反道德、學術規(guī)范和其他侵權行為。文中引用他人的文獻、數(shù)據(jù)、圖件、資料均已明確標注出,不包含他人成果及為獲得東華理工大學或其他教育機構的學位或證書而使用過的材料。對本設計(論文)的研究做出重要貢獻的個人和集體,均已在文中以明確方式標
2、明。本畢業(yè)設計(論文)引起的法律結果完全由本人承擔。本畢業(yè)設計(論文)成果歸東華理工大學所有。特此聲明。畢業(yè)設計(論文)作者(簽字): 簽字日期: 年 月 日本人聲明:該學位論文是本人指導學生完成的研究成果,已經(jīng)審閱過論文的全部內容,并能夠保證題目、關鍵詞、摘要部分中英文內容的一致性和準確性。學位論文指導教師簽名: 年 月 日 基于個人喜好的消息推送新聞網(wǎng)站郭偉林 Message-pushed News Website Based on Personal Preferences Weilin Guo2014年 06月 02日 東華理工大學畢業(yè)設計(論文) 摘要摘 要 基于個人喜好的消息推送新聞
3、網(wǎng)站是在信息上提供資源共享、信息交流和協(xié)同工作的計算機網(wǎng)絡信息系統(tǒng)。隨著計算機科學技術的發(fā)展,網(wǎng)絡信息的快速傳播已經(jīng)成為人們日常生活中獲取信息的重要途徑,人們獲取信息的快速途徑主要是通過瀏覽新聞網(wǎng)站。而各種新聞網(wǎng)站數(shù)量又比較多,需要找出用戶自己喜歡的新聞進行查看又比較麻煩,為了滿足用戶的需要,現(xiàn)基于主流的消息推送功能,開發(fā)一個用戶個人喜好的消息推送新聞網(wǎng)站。本畢業(yè)設計主要是采用了B/S設計模式,基于JSP(Java Server page)技術和Microsoft SQL Server 2000數(shù)據(jù)庫技術開發(fā)了一個用戶喜好的消息推送新聞網(wǎng)站。其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維和以及前端應用程序
4、的開發(fā)兩個方面。采用Microsoft SQL Server 2000數(shù)據(jù)庫作為后臺數(shù)據(jù)庫、JSP作為前臺開發(fā)語言,主要完成各類新聞信息的瀏覽、檢索查詢各類新聞信息、新聞信息管理、用戶管理、管理員管理、鏈接管理和消息推送等功能。系統(tǒng)運行結果證明,本文所設計的基于個人喜好的消息推送新聞網(wǎng)站可以滿足用戶的需要,達到了設計要求。本課題設計的意義和目標在于根據(jù)用戶的興趣定制用戶喜歡的新聞,有利于增加用戶對新聞網(wǎng)站的關注度和喜好度。且能實現(xiàn)用戶對系統(tǒng)網(wǎng)站的方便、簡潔訪問。本畢業(yè)論文將對系統(tǒng)的開發(fā)過程和功能實現(xiàn)進行詳細的闡述。關鍵詞:新聞信息管理;SQL Server;消息推送;JSPI東華理工大學畢業(yè)設
5、計(論文) 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 info
6、rmation 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, bas
7、ed 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. I
8、ts 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 a
9、nd 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 ne
10、ws 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 acce
11、ss. 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 關鍵技術介紹與系統(tǒng)開發(fā)環(huán)境3 2.1 關鍵技術3 2.1.1 Struts應用框架介紹3 2.1.2 JDBC數(shù)據(jù)庫
12、訪問技術3 2.1.3 HTML+CSS技術4 2.2 開發(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)概要設計10 4.1 網(wǎng)站結構規(guī)劃及設計目標10 4.2 系統(tǒng)功能模塊設計10 4.3 系統(tǒng)邏輯結構設計11 4.4 數(shù)據(jù)庫與設計12 4.4.1 數(shù)據(jù)庫分析12 4.4.2 數(shù)據(jù)庫概念結構設計13 4.4.3 數(shù)據(jù)庫邏輯結構設計15 4.4.4 數(shù)據(jù)庫的物理實現(xiàn)175 系統(tǒng)總體設計19 5.1 網(wǎng)站總體架構19 5.1.1 網(wǎng)站前臺架構19 5.1.2 網(wǎng)站后臺架構20 5.2 系統(tǒng)功能模塊
13、設計與實現(xiàn)21 5.2.1 系統(tǒng)后臺主要功能設計與實現(xiàn)21 5.2.1.1 管理員登錄模塊設計21 5.2.1.2 新聞信息管理模塊和管理員設置模塊設計16 5.2.1.3 鏈接管理模塊設計22 5.2.1.4 查看新聞人物模塊設計22 5.2.2 網(wǎng)站前臺主要功能模塊設計24 5.2.2.1 今日新聞的顯示24 5.2.2.2 輸入新聞的關鍵字查詢新聞24 5.2.2.3 查看年度新聞人物與投票數(shù)量25 5.2.2.4 消息推送26 5.2.2.5 消息推送搜索前三29 結 論31 致 謝32 參 考 文 獻33東華理工大學畢業(yè)設計(論文) 緒論1 緒 論1.1 研究的背景信息技術的發(fā)展給廣
14、大新聞用戶帶來了不少好處,其就是能夠讓用戶知道世界各地的重大新聞。由于各網(wǎng)站、媒體等是信息傳播的媒介,這些傳播媒介又存在大量新聞信息,而往往大多數(shù)人只能憑記憶力記住一些常常主動瀏覽的信息瀏覽網(wǎng)站。由于各種基于用戶興趣、職業(yè)等網(wǎng)站的不斷出現(xiàn),使得用戶可以選擇訪問的網(wǎng)站數(shù)量太多,這也正是為什么許多信息網(wǎng)站都少有人問津的根本原因。由于廣大用戶往往花費了很少時間,來查找網(wǎng)站上的新聞信息,在發(fā)展的初期受到了廣大用戶的好評。但是到了后期,隨著信息量的急劇增加,使網(wǎng)站建設的規(guī)模變得越來越大,人們要查找新聞信息的難度也變得更大,也需要花費更多的時間和精力。這就是目前傳統(tǒng)網(wǎng)站信息傳播的弊端,因此,為了改善此問題
15、存在的局面,就需要對網(wǎng)站進行新的技術改造。目前,許多信息傳播網(wǎng)站研究出可以通過“消息推送機制”實現(xiàn)網(wǎng)站新聞信息的快速瀏覽。消息推送機制就是在這樣一個互聯(lián)網(wǎng)背景下誕生的,它能使用戶可以對自己喜好的新聞信息進行快速的查看。針對用戶對于目前瀏覽網(wǎng)站上存在的大量新聞信息耗時、耗力的情況,則開發(fā)出基于用戶喜好的消息推送功能顯得尤為重要。所以說,為了解決目前用戶遇到的各種新聞查找問題或其他一些問題,本系統(tǒng)網(wǎng)站可以利用目前許多新聞網(wǎng)站使用的消息推送機制,實現(xiàn)用戶能輕易的得到想要查看的新聞。1.2 研究的目的及意義由于網(wǎng)站信息量非常的多,使得用戶尋找自己喜歡的新聞信息變得更加困難,為了增加用戶對新聞網(wǎng)站的喜好
16、度和關注度。本系統(tǒng)開發(fā)出基于用戶個人喜好的消息推送功能,來實現(xiàn)新聞信息的主動推送。然而系統(tǒng)可以根據(jù)用戶點擊的瀏覽習慣,分析用戶喜歡瀏覽的新聞信息,篩選出滿足條件的新聞信息,定制出用戶喜好的新聞信息主動推送給用戶。對此的話,用戶也會感到本網(wǎng)站有比其他新聞網(wǎng)站所不具備的優(yōu)點。本畢業(yè)設計的開發(fā)意義在于將不同用戶的個人喜好作為新聞信息推送的依據(jù),滿足各種不同用戶的需要,解決他們訪問新聞網(wǎng)站時遇到的各種問題,本網(wǎng)站建設的宗旨是為廣大用戶服務,實現(xiàn)用戶對本網(wǎng)站的喜好度和關注度的增加。1.3 研究方法本新聞消息推送新聞網(wǎng)站采用了B/S的體系結構來實現(xiàn)。用戶在瀏覽器端界面,可以實現(xiàn)各種類型的新聞信息查看、基于
17、新聞關鍵字的查詢和用戶對新聞年度人物進行投票等操作。管理員在服務器端通過對后臺數(shù)據(jù)庫的操作實現(xiàn)對新聞信息、新聞類型、普通管理員賬號、新聞鏈接、新聞人物投票等的管理。本系統(tǒng)開發(fā)使用到了目前JAVA開發(fā)中常用的JSP技術,能夠實現(xiàn)用戶與系統(tǒng)的動態(tài)互動。所以本消息推送新聞系統(tǒng)采用JSP建立動態(tài)頁面,使用了SQL Server 2000創(chuàng)建和管理后臺數(shù)據(jù)庫,再通過其他的對象進行界面之間的轉換,從而完成對各種新聞信息的管理、用戶瀏覽新聞的數(shù)據(jù)分析,實現(xiàn)用戶對于個人喜好消息的訪問。本系統(tǒng)的開發(fā)使用的是比較早的基于MVC 模式下的Struts1框架開發(fā)技術進行開發(fā)的,屬于早期使用的框架技術,目前使用最多的還
18、是Struts2。33東華理工大學畢業(yè)設計(論文) 關鍵技術介紹與系統(tǒng)開發(fā)環(huán)境2 關鍵技術簡介與開發(fā)環(huán)境2.1 關鍵技術2.1.1 Struts應用框架介紹Struts是一種基于MVC模式下的開源應用框架,對于開發(fā)者而言,此技術一定不陌生,為了能使基于在Web下開發(fā)的各種應用程序能夠更好的被其他的開發(fā)者很快熟悉,使用框架技術來開發(fā)是比較可行的,下面我介紹下Struts主要包含Model 部分、Controller 部分和View 部分。下面講解下個部分的含義或作用:Model 部分包含業(yè)務應用領域方面的相關邏輯對象;Controller 部分是用來接收來自位于業(yè)務流程控制之處的用戶互動信息;V
19、iew 部分則負責用來展現(xiàn)或接收用戶輸入的信息。Struts包含以下技術特性:(1) 包含可以使用的各種標記庫,運用靈活,能起到提高開發(fā)的效率的作用;(2) 是開源的系統(tǒng)開發(fā)軟件;(3) 使用頁面導航技術,用戶來清楚的知道如何使用。Struts框架可以使用如下一些其包含的組件:actionServlet 組件;actionClass 組件;actionForm 數(shù)據(jù)顯示組件;actionError 存儲和回收錯誤組件;struts標記庫組件;actionMapping請求映射組件;actionForward 轉移對象組件。2.1.2 JDBC數(shù)據(jù)庫訪問技術JDBC就是java數(shù)據(jù)庫連接的意思,
20、是用于執(zhí)行結構化查詢語句SQL的Java驅動程序接口,可以用于對各種關系型數(shù)據(jù)庫進行訪問。JDBC提供了各種由 Java語言編寫的類和接口組成的入口。還提供了一種標準準則,用于構建更高級的接口,這樣的話能使系統(tǒng)開發(fā)人員更方便的編寫數(shù)據(jù)庫應用程序代碼。JDBC包含有以下特點:JDBC可以定義四種不同的驅動程序,本系統(tǒng)設計使用的是第四種驅動程序,叫做pure java driver 驅動程序。它是通過執(zhí)行腳本語言來執(zhí)行的,能夠實現(xiàn)快速的訪問數(shù)據(jù)庫的功能,能滿足用戶對數(shù)據(jù)庫表數(shù)據(jù)的各種權限操作。2.1.3 HTML+CSS技術1)HTML簡介HTML是ASP語言的重要組成部分,也是目前用于開發(fā)前端的
21、頁面技術語言。HTML是由包含各種各樣的HTML命令組成的,可用于說明文字和圖片以及鏈接等內容的顯示。HTML語言結構包括Head和Body兩部分,其中Head是用來說明瀏覽器標題信息,而Body則是說明需要說明的具體內容。HTML的特點:(1) 簡易性(2) 可擴展性(3) 與平臺無關性(4) 靈活性2)CSS簡介CSS叫層疊樣式表,主要是用來設計前端系統(tǒng)頁面的結構布局。CSS布局具有如下特點:(1) 語言簡單易學(2) 網(wǎng)頁訪問速度(3) SEO優(yōu)化(4) 瀏覽器兼容性(5) CSS+DIV網(wǎng)頁布局模式HTML+CSS技術就能實現(xiàn)對本網(wǎng)站前臺頁面的開發(fā)與建設,在開發(fā)建設本網(wǎng)站時應盡量注意使
22、本網(wǎng)站簡潔、美觀和使用。因此,對于技術的熟悉非常重要,它是實現(xiàn)本網(wǎng)站開發(fā)建設要求的基礎。2.2開發(fā)環(huán)境本系統(tǒng)是一個基于用戶個人喜好的消息推送新聞網(wǎng)站,要滿足用戶訪問的需求,無論在硬件或者軟件都要選擇得當。要求系統(tǒng)可移植性較好,運行機器配置盡可能要高。因此我選擇的機器配置如下:硬件平臺:CPU:2.26GHz;內存:1GB及以上。軟件平臺:操作系統(tǒng):Windows XP;數(shù)據(jù)庫:SQL Server 2000;語言開發(fā)工具:Myeclipse 8.5開發(fā)工具包:JDK Version1.4.0;流程圖軟件:Microsoft office VisioWeb服務器:Tomcat 6.0;瀏覽器:I
23、E6.0及以上,推薦使用IE8.0;東華理工大學畢業(yè)設計(論文) 系統(tǒng)分析3 系統(tǒng)分析3.1 可行性分析經(jīng)過大量的信息論證,我們知道在這個充滿大量信息的時代,人們對信息的利用越來越頻繁,則人們需要從大量信息數(shù)據(jù)中找到自己所想要的信息,從而推動了人們對消息推送功能的研究。消息推送新聞網(wǎng)站對新聞進行了分類,網(wǎng)站首頁以分類的形式顯示新聞類型和新聞的詳細信息,可以滿足用戶對新聞信息瀏覽的要求。新聞網(wǎng)站提供了新聞信息的檢索功能,可以通過輸入關鍵字,查詢與關鍵字相符的具體新聞信息。系統(tǒng)后臺能夠通過其具有的總管理員設置和管理員添加的功能對管理員信息進行管理,保證了網(wǎng)站的可靠性和安全性。 因此,本網(wǎng)站可以通過
24、分析用戶的瀏覽習慣或對獲取用戶的IP地址數(shù)據(jù)進行分析,則可以分析出用戶的個人喜好興趣類型,從而實現(xiàn)對用戶喜好的新聞消息進行推送。3.2 需求分析3.2.1 功能需求通過對用戶的調查訪問,經(jīng)分析得出本消息推送新聞網(wǎng)站應具有以下功能:(1) 新聞分類顯示。通過對其他新聞網(wǎng)站的分析得知,新聞信息以分類的形式,能夠滿足用戶對自己喜好的新聞類型進行快速的訪問。本網(wǎng)站新聞分類為以下六種:政治生活、娛樂、軍事、科學、法制、野生動物和體育等各類新聞。(2) 新聞信息檢索查詢。為了滿足用戶對自己喜好的新聞信息的快速查找,用戶可以按照新聞主題、新聞內容的關鍵字進行檢索查詢,故本網(wǎng)站提供了對各類新聞信息進行檢索查詢
25、的功能。(3) 新聞人物查看與投票,并可以查看投票數(shù)量。為了滿足用戶對自己喜歡的新聞人物進行投票,本網(wǎng)站為用戶提供了一個用戶對新聞人物查看與投票的功能。()新聞消息推送。根據(jù)用戶的個人喜好類型,為了使用戶能夠方便、快捷的訪問自己喜好的新聞類型,則需要把用戶喜好的新聞信息推送給用戶。本網(wǎng)站則推出了新聞消息推送功能,這樣能使用戶更加喜歡或關注本新聞網(wǎng)站。為了實現(xiàn)消息的推送,本網(wǎng)站是根據(jù)用戶訪問本網(wǎng)站的新聞信息的瀏覽習慣而實現(xiàn)的。(5) 其他新聞網(wǎng)站的友情鏈接。為了解決本網(wǎng)站若是沒有及時推出熱點新聞的更新,而用戶無法查看的功能缺陷,系統(tǒng)提供了對其他新聞網(wǎng)站的友情鏈接。用戶可以點擊其他新聞網(wǎng)站的鏈接,
26、去進行查看。3.2.2性能需求對于本網(wǎng)站的開發(fā)與建設,不僅對功能需求要做出詳細的分析,而且對網(wǎng)站建設的性能需求也有以下要求: (1) 操作具有靈活性(2) 系統(tǒng)要有較高的可靠性、安全性和容錯性(3) 快速響應性,能快速反應給用戶 (4) 在結構上應具有很好的可擴展性,便于將來的功能擴展和維護3.2.3數(shù)據(jù)流分析 數(shù)據(jù)流程圖(DFD)是用于描述系統(tǒng)結構的邏輯輸入和邏輯輸出之間的相互關系。還能對其進行加工處理等操作。下面我們來查看下本網(wǎng)站建設涉及到的系統(tǒng)數(shù)據(jù)流程圖。主要數(shù)據(jù)流程圖如下所示:系統(tǒng)數(shù)據(jù)流程圖 圖1系統(tǒng)數(shù)據(jù)流程圖系統(tǒng)功能說明,根據(jù)本網(wǎng)站的數(shù)據(jù)流圖所示可知,本網(wǎng)站主要是分為用戶和管理員兩個
27、實體。因此對其進行說明。用戶訪問本網(wǎng)站,則在網(wǎng)站首頁,用戶可以對分類的各種新聞信息進行點擊查看。能查看新聞所屬新聞分類類型、新聞名字、詳細新聞類型和創(chuàng)建日期,還能對網(wǎng)站推送的消息新聞進行查看和其他網(wǎng)站的鏈接。對于后臺管理來說,主要是管理員對網(wǎng)站前臺頁面具有的功能進行管理。實現(xiàn)對網(wǎng)站的健康化、標準化管理。東華理工大學畢業(yè)設計(論文) 系統(tǒng)概要設計4 系統(tǒng)概要設計4.1 網(wǎng)站結構規(guī)劃及設計目標本消息推送新聞網(wǎng)站是一個功能完善的新聞類消息瀏覽、閱讀和用戶喜好的新聞消息推送的網(wǎng)站,由前臺客戶端進行新聞瀏覽界面顯示、新聞信息查詢以及新聞消息推送的展示和后臺管理員進入等部分組成。第一部分,前臺客戶端頁面:
28、前臺主要包括新聞分類、顯示新聞詳細信息、新聞信息檢索和確認查詢、年度新聞人物投票、消息推送點擊量前五、消息推送搜索前三、消息推送種類排名、消息推送分數(shù)排名、消息推送標記為喜歡排名、友情鏈接、提供后臺登錄口。對于新聞本網(wǎng)站而言,在前臺頁面可以實現(xiàn)對各類新聞信息的查看以及基于用戶喜好的新聞消息進行推送。第二部分,后臺系統(tǒng)管理設置:后臺系統(tǒng)管理設置主要是為了管理其具有的功能,如新聞信息管理、管理員權限管理、鏈接管理和其他管理等主要要實現(xiàn)的功能。本網(wǎng)站是根據(jù)新聞信息的屬性對其進行分類設計,根據(jù)設計要求主要要實現(xiàn)如下目標:(1) 分類展示各種類型的新聞。(2) 具體新聞信息的展示。(3) 新聞檢索、查詢
29、功能的設置。(4) 設置新聞人物投票及投票數(shù)統(tǒng)計功能。(5) 實現(xiàn)用戶個人喜好的消息推送功能。(6) 提供其他網(wǎng)站的友情鏈接。(7) 設置總管理員管理以及對普通管理員權限的管理。4.2 系統(tǒng)功能模塊設計網(wǎng)站由二大部分組成,其功能模塊包括用戶訪問的前臺頁面模塊和后臺管理員新聞管理模塊。其模塊設計功能流程圖,如下功能結構圖2和圖3所示。第一部分,消息推送新聞網(wǎng)站前臺功能結構圖,如下圖5所示:圖2 網(wǎng)站前臺功能結構圖第二部分,網(wǎng)站后臺功能結圖,如下圖3所示:圖3網(wǎng)站后臺功能結構圖4.3 系統(tǒng)邏輯結構設計系統(tǒng)邏輯結構設計是根據(jù)用戶需求,將整個系統(tǒng)劃分成若干個邏輯數(shù)據(jù)單元,分別能夠實現(xiàn)各自的功能。一般在
30、軟件系統(tǒng)的開發(fā)過程中,邏輯結構一般是由系統(tǒng)架構師規(guī)劃設計完成的。系統(tǒng)邏輯結構在系統(tǒng)開發(fā)的過程中起著相當重要的作用,能使系統(tǒng)變得更加清晰。本系統(tǒng)開發(fā)使用的邏輯結構包括以下幾層:表示層、業(yè)務邏輯層、數(shù)據(jù)層。表示層(UI):是指與用戶進行交互的界面。主要是用于接收用戶輸入的信息以及顯示反饋給用戶的信息。業(yè)務邏輯層(BLL):位于 UI層和DAL層之間。用于實現(xiàn)業(yè)務邏輯功能。業(yè)務邏輯具體包括:相關計算、數(shù)據(jù)驗證和業(yè)務規(guī)則等。系統(tǒng)架構中最核心的部分是BLL。它的關注點主要是用于完成和業(yè)務需求有關的系統(tǒng)設計。BLL在體系架構中處于重要的關鍵位置,位于表示層和數(shù)據(jù)訪問層之間。層是一種弱耦合的結構,層與層之間
31、的相互關系是向下依賴的。底層是不知道上層是如何設計的,要改變上層的設計對其調用底層來說不會有什么影響。在分層結構設計的過程中,若是在不改變接口定義的條件下,分層式架構是一個支持可抽取、可替代的理想層式架構。所以對于業(yè)務邏輯層的設計若能支持可擴展的架構顯得尤為重要。從數(shù)據(jù)訪問層來講,它是調用者;從表示層來講,它卻是被調用者。數(shù)據(jù)層(DAL):DAL與數(shù)據(jù)庫打交道。主要完成對數(shù)據(jù)的添加、修改、刪除和查看操作。它主要是將存儲在數(shù)據(jù)庫中的數(shù)據(jù)提取并提交給業(yè)務層,業(yè)務層將收到的數(shù)據(jù)保存到數(shù)據(jù)庫中去。4.4 數(shù)據(jù)庫設計4.4.1數(shù)據(jù)庫分析根據(jù)系統(tǒng)用戶需求分析,可以在數(shù)據(jù)庫中劃分以下實體:tb_Link、t
32、b_manager、tb_news、tb_newsType、tb_Vote和tb_Style,為了實現(xiàn)基于用戶個人喜好的消息推送新聞網(wǎng)站的開發(fā),需要對每個實體進行屬性劃分。(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_newsT
33、ype包含以下屬性: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ù)庫概念結構設計1)數(shù)據(jù)庫概念結構設計數(shù)據(jù)庫概念設計就是用來表達實體與實體之間的相互聯(lián)系的過程,在數(shù)據(jù)庫概念設計所體現(xiàn)的概念模型,能充分反映了現(xiàn)實世界中實體與實體間的相互聯(lián)系,概念設計的成功與否將直接關系到整個數(shù)據(jù)庫系統(tǒng)設計的成功。下面用整體系統(tǒng)E-R圖來表示各功能模塊之間的關系。如圖4所示:
34、圖4系統(tǒng)整體E-R圖通過上面的E-R圖,我們能清晰的了解系統(tǒng)各個部分之間的關系。下面說明用圖來表示各實體包含的屬性:1)tb_Link包含的屬性,如圖5所示:圖5 tb_Link的屬性結構圖 2)tb_manager包含的屬性,如圖6所示:圖6 tb_manager的屬性結構圖3)tb_news包含的屬性,如圖7所示:圖7 tb_news的屬性結構圖 4)tb_newsType包含的屬性,如下圖8所示:圖8 tb_newsType的屬性結構圖 5)tb_Vote包含的屬性,如下圖9所示:圖9 tb_Vote的屬性結構圖 6)tb_Style包含的屬性,如下圖10所示:圖10 tb_Style的
35、屬性結構圖4.4.3數(shù)據(jù)庫邏輯結構設計數(shù)據(jù)庫中創(chuàng)建表的方法有兩種,一種是通過在企業(yè)管理器中直接添加,另一種是使用用查詢分析器的腳本命令添加,本次設計選擇在企業(yè)管理器中添加。在企業(yè)管理器的news數(shù)據(jù)庫中右鍵單擊“表”節(jié)點,在彈出的快捷菜單中選擇創(chuàng)建表命令,然后就進入表結構設計界面,可以在該界面中添加表的列名,以及各列的數(shù)據(jù)類型、長度,以及是否為空,是否為主鍵和描述。按照分析,本消息推送新聞網(wǎng)站一共需要建立六張數(shù)據(jù)表,下面分別介紹這些表的數(shù)據(jù)結構:(1)tb_Link(鏈接其他網(wǎng)站表)tb_Link主要是用于保存其他網(wǎng)站信息。表tb_Link的結構如表1所示: 表1 tb_Link字段名數(shù)據(jù)類型
36、長度描述IDint4數(shù)據(jù)庫流水號Namevarchar40鏈接其他網(wǎng)站名稱Addressvarchar40鏈接網(wǎng)站地址IssueDatedatetime8鏈接網(wǎng)站的日期(2)tb_manager(后臺管理員設置表)tb_manager是用來保存后臺管理員的基本信息。表tb_manager的結構如表2所示: 表2 tb_manager字段名數(shù)據(jù)類型長度描述IDint4數(shù)據(jù)庫流水號Namevarchar50管理員帳號Passwordvarchar50管理員密碼RealNamevarchar50管理員真實姓名IssueDatedatetime8管理員注冊日期Markvarchar50管理員標識(3)
37、tb_news(新聞管理表)tb_news主要是用于保存各類新聞信息內容。表tb_news的結構如表3所示: 表3 tb_news字段名數(shù)據(jù)類型長度描述IDint4數(shù)據(jù)庫流水號Titlevarchar100新聞標題Contenttext16新聞內容Typevarchar100新聞類型Stylevarchar50新聞詳細類型IssDatesmalldatetime4新聞發(fā)布日期linkNumint4獲取用戶的點擊量goodScoreint4獲取用戶提交的分數(shù)markvarchar100獲取用戶是否標記為喜歡selectNumint4獲取用戶的查詢量markNumint4獲取用戶的種類排名(4)t
38、b_newsType(新聞類別表)tb_newsType主要是用來保存新聞種類的信息。表tb_newsType的結構如表4所示: 表4 tb_newsType字段名數(shù)據(jù)類型長度描述IDint4數(shù)據(jù)庫流水號TypeNamevarchar50新聞類型名稱DateTimedatetime8新聞類型建立日期linkNumint4獲取用戶的點擊量(5)tb_Vote(新聞人物投票表)tb_Vote主要是用來保存用戶對新聞人物的投票信息。表tb_Vote的結構如表5所示: 表5 tb_Vote字段名數(shù)據(jù)類型長度描述IDint4數(shù)據(jù)庫流水號Namevarchar50新聞人物的姓名Addressvarchar
39、50新聞人物的地址Countryvarchar50新聞人物的籍貫Jobvarchar50新聞人物的工作Remarkvarchar50新聞人物的備注Numberint4新聞人物的票數(shù)(6)tb_Style(新聞人物投票表)tb_Style主要是用于保存新聞人物投票信息。表tb_Style的結構如表6所示:表6 tb_Style字段名數(shù)據(jù)類型長度描述IDint4數(shù)據(jù)庫流水號StyleNamevarchar50新聞詳細類型STNamevarchar50新聞類型DateTimedatetime50新聞日期4.4.4數(shù)據(jù)庫的物理實現(xiàn)對于數(shù)據(jù)庫的物理實現(xiàn),它主要分為數(shù)據(jù)庫的創(chuàng)建和數(shù)據(jù)庫的連接。1)創(chuàng)建數(shù)據(jù)
40、庫在創(chuàng)建數(shù)據(jù)庫的邏輯表結構之前,首先需要創(chuàng)建數(shù)據(jù)庫。創(chuàng)建數(shù)據(jù)庫有兩種方法,一種是在企業(yè)管理器的數(shù)據(jù)庫服務器組中點擊“添加”,另一種是在查詢分析器中創(chuàng)建編寫數(shù)據(jù)庫的腳本文件。本次設計選擇在企業(yè)管理器的數(shù)據(jù)庫服務器組中直接添加。在企業(yè)管理器中添加的方法:選擇企業(yè)管理器-Microsoft SQL Server-SQL Server組-NETSDK(Windows NT-數(shù)據(jù)庫節(jié)點,單擊右鍵可以看到“數(shù)據(jù)庫節(jié)點”,在此快捷菜單中選擇新建數(shù)據(jù)庫的命令,則在彈出數(shù)據(jù)庫屬性對話框中,將該對話框中設置數(shù)據(jù)庫的名字為“news”,并指定保存數(shù)據(jù)庫的路徑和其他屬性。2)數(shù)據(jù)庫的連接本網(wǎng)站系統(tǒng)開發(fā)采用的是JDBC
41、技術連接數(shù)據(jù)庫的。在第2章節(jié)介紹了系統(tǒng)開發(fā)使用的關鍵技術,其中就介紹了JDBC技術,這里就不再重述。東華理工大學畢業(yè)設計(論文) 系統(tǒng)總體設計5 系統(tǒng)總體設計5.1網(wǎng)站總體架構網(wǎng)站總體結構主要是要說明下網(wǎng)站的總體框架架構,包括前臺和后臺。5.1.1網(wǎng)站前臺架構網(wǎng)站前臺架構說明:此網(wǎng)站前臺包括系統(tǒng)網(wǎng)站導航欄、功能模塊、版塊新聞內容顯示以及管理員進入后臺的入口。此首頁負責版塊新聞標題信息的顯示,新聞信息的顯示、新聞詳細信息的顯示、新聞搜索確認查詢、年度新聞人物和投票數(shù)量的查看、消息推送點擊量前五名的顯示、消息推送搜索前三的顯示和消息推送種類排名的顯示。該系統(tǒng)中所有的新聞信息和新聞詳細信息以及投票信
42、息全在此模塊中顯示,用戶在瀏覽新聞信息的同時還可以鏈接訪問其他網(wǎng)站。用戶和管理員進入該系統(tǒng)必須首先進入訪問網(wǎng)站首頁。該頁面顯示所有新聞類別及部分新聞標題。網(wǎng)站前臺首頁的如圖11所示。 圖11 網(wǎng)站前臺首頁網(wǎng)站前臺框架圖說明如下表7所示:表7 網(wǎng)站前臺首頁頁面說明區(qū)域名稱說明對應文件1網(wǎng)站導航主要展示網(wǎng)站的特色內容和站內導航條typeTopAction.do2功能模塊主要用于顯示導航模塊中的功能left_main.jsp3內容顯示主要用于顯示功能模塊中的內容right_main.jsp5.1.2網(wǎng)站后臺架構網(wǎng)站后臺架構主要是用于對新聞的管理、其他網(wǎng)站鏈接、管理員權限管理和新聞人物的查看。網(wǎng)站后臺
43、首頁的運行結果如圖12所示。圖12 網(wǎng)站后臺首頁運行結果網(wǎng)站后臺首頁中的各部分說明如表8所示。區(qū)域名稱說明對應文件1網(wǎng)站導航主要展示網(wǎng)站的旗幟廣告和站內導航條typeNewWatch.do2功能模塊主要用于顯示導航模塊中的功能linkSelect.do3內容顯示主要用于顯示功能模塊中的內容dateNews.do?type=今日新聞 表8 網(wǎng)站后臺首頁頁面說明5.2 系統(tǒng)功能模塊設計與實現(xiàn)5.2.1系統(tǒng)后臺主要功能設計與實現(xiàn)系統(tǒng)后臺(即服務器端)主要是提供給管理員進入后臺對管理員權限進行設置,對新聞信息進行添加、修改、刪除操作,5.2.1.1 管理員登錄模塊設計管理員登錄的功能主要是為實現(xiàn)總管理
44、員和普通管理員能夠登錄后臺對新聞信息進行管理、以及其他一切系統(tǒng)功能操作。在本系統(tǒng)網(wǎng)站中,后臺管理員分為兩種:一個是普通管理員,他可以對新聞類型進行定義,也可以管理新聞信息、設置年度新聞人物管理和網(wǎng)站鏈接管理;另一個是總管理員,他除了可操作以上功能外,還可以對普通管理員進行設置,總管理員和普通管理員都能通過后臺登錄頁面登錄后臺。管理員在登錄界面(其界面如圖13所示)輸入代賬號和密碼后,由后臺的ManagerCheckAction.java來核對管理員賬號和密碼是否正確,若出現(xiàn)錯誤,則在頁面中將會提醒管理員輸入錯誤(adminPasswordFail.jsp);若正確,則可以成功登錄到后臺管理界面
45、。圖13 后臺登錄頁面在管理員進入后臺時,管理員需要輸入賬號和密碼進行驗證,若是和數(shù)據(jù)庫表中記錄的管理員賬號和密碼相同,則可以成功登錄。 以下是核對管理員登錄時,對輸入的賬戶和密碼進行判斷的重要語句: if (manager = null) return actionMapping.findForward(managerWrong); else if (!manager.getManagerPassword().equals(httpServletRequest. getParameter( managerPassWord) return actionMapping.findForward(m
46、anagerWrong); return actionMapping.findForward(managerRight);5. 2.1.2 新聞信息管理模塊和管理員設置模塊設計此模塊要實現(xiàn)對新聞信息的管理操作,管理員可以添加、修改、刪除和查看新聞的信息。實現(xiàn)對前臺頁面的信息操作。對于新聞信息的添加、修改、刪除和查看操作都是通過與Microsoft Server 2000數(shù)據(jù)庫的連接操作實現(xiàn)的,管理員對新聞信息的任何基本操作,在數(shù)據(jù)庫中都能查詢出來。本系統(tǒng)后臺使用的是JDBC技術訪問數(shù)據(jù)庫。下面我講講Java中訪問數(shù)據(jù)庫的操作是如何實現(xiàn)的。對于Java訪問數(shù)據(jù)庫一定要裝好驅動,本系統(tǒng)使用的是JD
47、BC驅動程序來訪問數(shù)據(jù)庫的,可以實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的增、刪、改、查操作。下面是本系統(tǒng)訪問數(shù)據(jù)庫SQL Server數(shù)據(jù)的連接代碼:url:jdbc:microsoft:sqlserver:/localhost:8080;databasename=news driver:com.microsoft.jdbc.sqlserver.SQLServerDriver管理員設置模塊包括總管理員設置、總管理員密碼更改、添加新的管理員和普通管理員設置功能,此模塊同樣是為了實現(xiàn)對管理員信息進行管理,必須要與訪問數(shù)據(jù)庫才能實現(xiàn)對管理員信息的增、刪、改、查等基本操作。此處不再對如何連接到數(shù)據(jù)庫進行闡述。在前面的新聞信
48、息管理模塊設計與分析中已經(jīng)著重講解了系統(tǒng)是如何成功連接到SQL Server數(shù)據(jù)庫的。5 .2 .1.3 鏈接管理模塊設計此模塊也是要實現(xiàn)對其他新聞網(wǎng)站的鏈接進行管理,管理員同樣也是只需要通過添加、修改和刪除操作就能實現(xiàn)對其他新聞網(wǎng)站鏈接的管理。其他網(wǎng)站鏈接管理模塊的過程:1)添加鏈接信息操作:點擊添加鏈接信息按鈕,輸入需要添加鏈接網(wǎng)站名稱和鏈接的地址。點擊提交鈕后,系統(tǒng)進入信息新增頁面linkInsert.jsp(如圖12所示),管理員可在這個頁面上添加鏈接網(wǎng)站的名稱和地址,提交后將添加的鏈接網(wǎng)站數(shù)據(jù)存入tb_Link表中。2)修改鏈接信息操作:點擊修改鏈接信息按鈕,修改需要修改的鏈接網(wǎng)站名
49、稱或鏈接地址。點擊提交鈕后,系統(tǒng)進入信息修改頁面linkUpdate.jsp(如圖14所示),管理員可在這個頁面上修改鏈接網(wǎng)站的名稱或地址,提交后將修改的鏈接網(wǎng)站數(shù)據(jù)存入tb_Link表中。 圖14 修改鏈接信息3)刪除鏈接信息操作: 點擊刪除按鈕,刪除鏈接網(wǎng)站的信息。點擊確定后將刪除鏈接網(wǎng)站的信息。刪除后,在后臺數(shù)據(jù)庫表tb_Link中將會執(zhí)行delete操作。5 .2 .1.4 查看新聞人物模塊設計功能描述:此模塊要實現(xiàn)對新聞人物的管理功能,管理員可以修改、刪除和添加新聞人物信息。新聞人物管理模塊的過程:1) 添加新聞人物操作:點擊添加新聞人物按鈕,輸入需要添加的人物名稱、人物籍貫、人物年
50、齡、人物工作和簡單介紹。點擊提交鈕后,系統(tǒng)進入新聞人物新增頁面voteInsert.jsp(如圖15所示),管理員可在這個頁面上添加新聞人物信息,提交后將添加的鏈接網(wǎng)站數(shù)據(jù)存入tb_Vote表中。 圖15 添加新聞人物信息2)修改新聞人物操作:點擊修改按鈕,修改需要修改的新聞人物信息。點擊提交鈕后,系統(tǒng)進入信息修改頁面voteUpdate.jsp(如圖16所示),管理員可在這個頁面上修改新聞人物信息,提交后將修改的鏈接網(wǎng)站數(shù)據(jù)存入tb_Vote表中。 圖16 修改新聞人物信息3)刪除新聞人物信息操作: 點擊刪除按鈕,刪除新聞人物信息。點擊確定后將刪除新聞人物的信息。前面都講到了在后臺系統(tǒng)頁面管
51、理員主要是對新聞網(wǎng)站前臺的各類新聞信息、新聞人物的投票數(shù)量情況以及消息推送的功能的信息進行維護,其主要表現(xiàn)在增、刪、改、查方面與數(shù)據(jù)庫的互動操作。5.2.2網(wǎng)站前臺主要功能模塊設計網(wǎng)站前臺是用戶與系統(tǒng)進行交互的頁面,用戶能夠通過點擊系統(tǒng)所具有的功能,則會發(fā)送請求對象給系統(tǒng),系統(tǒng)則會對獲取的request對象進行分析,把用戶需要新聞信息通過客戶端前端頁面顯示給用戶看。5.2.2.1 今日新聞的顯示這個功能就是查看當天的新聞,主要用到了sql語句中的select語句。查詢的條件是以時間為主,在前臺新聞管理中執(zhí)行dateNewsContent.jsp中的代碼,如圖17所示: 圖17 今日新聞的顯示5
52、.2.2.2輸入新聞關鍵字查詢新聞關鍵字查找新聞相當于搜索引擎的功能,它是現(xiàn)在各種類型網(wǎng)站普遍使用的一種技術,用戶可以根據(jù)本人的個人喜好類型,查詢自己喜歡看的新聞類型。用戶在文本框中輸入新聞的相關內容,執(zhí)行SQL語句,查找相關新聞信息,其中的下拉列表框是一個查詢的動作,實現(xiàn)過程與前面的后臺新聞相似。新聞查找運行結果如圖18所示:圖18 關鍵字查詢新聞實現(xiàn)關鍵字查詢新聞功能的主要代碼如下:public KeyNewsWatch() /以新聞類型和新聞題目進行模糊查詢操作 this.newsFacade = new NewsFacadeImpl(); public ActionForward pe
53、rform(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) Chinese chinese = new Chinese(); NewsActionForm newsActionForm = (NewsActionForm) actionForm; String key = chinese.str(httpServletRequest.getParameter(key); /取得新聞的關
54、鍵字 newsActionForm.setNewsType(chinese.str(httpServletRequest.getParameter( type); /取得新聞的類型 List list = this.newsFacade.keyNewsWatch(key, newsActionForm); httpServletRequest.setAttribute(listContent, list); return actionMapping.findForward(keyNewsWatch); 站內新聞信息的查詢就是通過關鍵字查詢技術實現(xiàn)的,這種技術應用相當廣泛,已經(jīng)成為人們搜索查找信
55、息的重要方法或途徑了。其實現(xiàn)方法就是通過上述關鍵代碼實現(xiàn)的。再次就不再重述。5.2.2.3 查看年度新聞人物與投票數(shù)量功能描述:主要是實現(xiàn)對年度新聞人物的信息查看與投票以及查看年度新聞人物投票數(shù)量,執(zhí)行SQL語句中的Select語句,進行查詢,實現(xiàn)過程與前面的新聞查詢相似。其查看新聞人物運行結果如圖19所示:圖19 查看新聞人物與投票在點擊了查看年度新聞人物后,用戶就可以查看有哪些年度新聞人物,并可以根據(jù)新聞人物信息對自己喜歡的新聞人物進行投票。在此,我主要是要講解下應用到了哪些技術,它是怎么樣實現(xiàn)的。帶著這些問題,我給大家講解下。本系統(tǒng)是基于B/S開發(fā),所以就能實現(xiàn)用戶與系統(tǒng)進行對話,即我們
56、所說的人機交互,即用戶提交請求,系統(tǒng)則根據(jù)用戶的請求做出相應的回答。其實現(xiàn)方式是通過動態(tài)頁面實現(xiàn)的,下面我就講講客戶端動態(tài)頁面的實現(xiàn)。即DHTML技術,大多數(shù)網(wǎng)頁還廣泛采用此種技術是網(wǎng)頁動起來。DHTML技術的實現(xiàn)并不是孤立的,他通常需要HTML標記與客戶端腳本語言、CSS層疊樣式表以及網(wǎng)頁的“層”布局技術組合在一起使用。此種網(wǎng)頁中的一些HTML元素是可以被動態(tài)操縱的,一些元素的CSS顯示樣式以及所在“層”面的顯示屬性也是能被動態(tài)操縱的,因此可以獲得這些元素的動態(tài)顯示效果。JavaScript或VBScript等客戶端腳本語言來編寫進行控制的腳本程序代碼,以實現(xiàn)動態(tài)網(wǎng)頁中的顯示屬性。5.2.2
57、.4 消息推送消息推送介紹,本系統(tǒng)為了實現(xiàn)消息推送功能,對其進行了重要分析?,F(xiàn)根據(jù)用戶點擊量數(shù)據(jù)、用戶習慣瀏覽的新聞種類數(shù)據(jù)、用戶查詢量數(shù)據(jù)、標記為喜歡的數(shù)量排名數(shù)據(jù)等屬性,將消息推送功能的實現(xiàn)劃分為以下5個子功能,其包括:消息推送點擊量前五、消息推送搜索前三、消息推送種類排名、消息推送分數(shù)排名、消息推送標記為喜歡排名。下面我以圖的形式說明下消息推送功能是如何實現(xiàn)的。在這里我主要是講解消息推送功能下的“消息推送點擊量前五”的實現(xiàn)方式,其余四個消息推送的方式的實現(xiàn)方法和“消息推送點擊量前五”是一樣的。第一,進入SQL Server數(shù)據(jù)庫,在數(shù)據(jù)庫news中的表tb_newsType添加字段linkNum(種類點擊量)如圖20所示:圖20 在數(shù)據(jù)庫表中添加字段linkNum這樣的話就可以通過用戶在前臺點擊新聞種類時,記錄下用戶訪問網(wǎng)站點擊的新聞種類的數(shù)量,從而得知哪些新聞是用戶最喜歡點擊查看的,再在前臺頁面以“消息推送點擊量排名前五
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。