2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩33頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  學(xué)號(hào):XXXXXXXXXXX</p><p>  XXXXXXXXXXX學(xué)院</p><p><b>  畢業(yè)論文</b></p><p><b>  新聞發(fā)布系統(tǒng)</b></p><p><b>  X X</b></p><

2、p>  2010 年 12 月 </p><p> 專業(yè)名稱軟件技術(shù)(WEB應(yīng)用方向) </p><p> 指導(dǎo)教師XX </p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><

3、;p>  1.1 新聞發(fā)布系統(tǒng)需求分析1</p><p>  1.2 開發(fā)工具的選用及介紹1</p><p>  1.3 數(shù)據(jù)庫的選用及介紹4</p><p>  1.4 B/S模式介紹5</p><p>  1.5 該系統(tǒng)特點(diǎn)介紹5</p><p><b>  2 概要設(shè)計(jì)6</

4、b></p><p>  2.1 系統(tǒng)結(jié)構(gòu)分析6</p><p>  2.2 系統(tǒng)模塊分析6</p><p>  3. 數(shù)據(jù)庫設(shè)計(jì)8</p><p>  3.1數(shù)據(jù)庫關(guān)系的設(shè)計(jì)8</p><p>  3.2 User表的設(shè)計(jì)8</p><p>  3.3 News表的設(shè)計(jì)8&l

5、t;/p><p>  3.4 category表的設(shè)計(jì)9</p><p>  3.5 comment表的設(shè)計(jì)9</p><p><b>  4 詳細(xì)設(shè)計(jì)10</b></p><p>  4.1普通用戶模塊10</p><p>  4.1.1 新聞瀏覽功能10</p><p

6、>  4.1.2 新聞搜索功能13</p><p>  4.1.3 顯示新聞及評(píng)論功能14</p><p>  4.2 管理員登錄模塊17</p><p>  4.3 新聞管理模塊20</p><p>  4.3.1 新聞添加、修改功能20</p><p>  4.3.2 新聞審核功能22</p

7、><p>  4.3.3 新聞或其評(píng)論刪除功能23</p><p>  4.4 類別管理模塊25</p><p>  4.5 用戶管理模塊27</p><p>  4.5.1 添加用戶功能27</p><p>  4.5.2 刪除用戶功能28</p><p><b>  5 總結(jié)

8、29</b></p><p><b>  致 謝30</b></p><p><b>  參考文獻(xiàn)31</b></p><p><b>  1 緒論</b></p><p>  1.1 新聞發(fā)布系統(tǒng)需求分析[1]</p><p>  

9、新聞發(fā)布系統(tǒng)(News Release System)是上個(gè)世紀(jì)九十年代互連網(wǎng)技術(shù)發(fā)展以后才出現(xiàn)的技術(shù),最初表現(xiàn)是解決一些網(wǎng)站的信息動(dòng)態(tài)發(fā)布而開發(fā),最初只是簡單的發(fā)布和顯示,應(yīng)用對(duì)于各種不同的站點(diǎn)需要構(gòu)建不同的系統(tǒng)來滿足需要,而且功能十分單一,在九十年代后期,互連網(wǎng)技術(shù)進(jìn)一步發(fā)展,網(wǎng)絡(luò)作為新起的新聞媒介工具,其用戶大大增加,對(duì)系統(tǒng)的要求也越來越高,新聞發(fā)布系統(tǒng)在這樣的一個(gè)環(huán)境中提出、開發(fā)、并改進(jìn),到現(xiàn)在,新聞系統(tǒng)開發(fā)的成功案例已經(jīng)不計(jì)其

10、數(shù),而且已經(jīng)應(yīng)用到各種站點(diǎn)上,可以說,各行各業(yè)的絕大部分的網(wǎng)站都使用到了新聞發(fā)布系統(tǒng),大量的用戶引發(fā)了新聞發(fā)布系統(tǒng)功能的進(jìn)一步擴(kuò)大和深化,給新聞發(fā)布系統(tǒng)提出了更高的要求。</p><p>  當(dāng)今社會(huì)是一個(gè)信息化的社會(huì),新聞作為信息的一部分有著信息量大,類別繁多,形式多樣的特點(diǎn),新聞發(fā)布系統(tǒng)的概念就此提出。新聞發(fā)布系統(tǒng)的提出使電視不再是唯一的新聞媒體,從此以后網(wǎng)絡(luò)也充當(dāng)了一個(gè)重要的新聞媒介的功能。簡單地說,新聞發(fā)

11、布系統(tǒng)就是充當(dāng)一個(gè)網(wǎng)絡(luò)新聞媒介的功能,主要實(shí)現(xiàn)對(duì)新聞的分類、上傳、審核、發(fā)布,模擬了一般新聞媒介的新聞發(fā)布的過程,通過不同權(quán)限的賬號(hào)分別實(shí)現(xiàn)以上所說功能,當(dāng)然這些功能也可以是某一個(gè)賬號(hào)全部具有。新聞發(fā)布系統(tǒng),又稱為信息發(fā)布系統(tǒng),是將網(wǎng)頁上的某些需要經(jīng)常變動(dòng)的信息,類似新聞、新產(chǎn)品發(fā)布和業(yè)界動(dòng)態(tài)等更新信息集中管理,并通過信息的某些共性進(jìn)行分類,最后系統(tǒng)化、標(biāo)準(zhǔn)化發(fā)布到網(wǎng)站上的一種網(wǎng)站應(yīng)用程序。網(wǎng)站信息通過一個(gè)操作簡單的界面加入數(shù)據(jù)庫,然后

12、通過已有的網(wǎng)頁模板格式與審核流程發(fā)布到網(wǎng)站上。</p><p>  它的出現(xiàn)大大減輕了網(wǎng)站更新維護(hù)的工作量,通過網(wǎng)絡(luò)數(shù)據(jù)庫的引用,將網(wǎng)站的更新維護(hù)工作簡化到只需錄入文字和上傳圖片,從而使網(wǎng)站的更新速度大大縮短,在某些專門的網(wǎng)上新聞?wù)军c(diǎn),如新浪的新聞中心等,新聞的更新速度已經(jīng)縮短到五分鐘一更新,從而大大加快了信息的傳播速度,也吸引了更多的長期用戶群,時(shí)時(shí)保持網(wǎng)站的活動(dòng)力和影響力。</p><p&

13、gt;  1.2 開發(fā)工具的選用及介紹[7]</p><p>  開發(fā)工具選用Microsoft Visual Studio 2005,其中開發(fā)語言Active Server Pages.NET語言,縮寫為ASP.NET,其測試版曾經(jīng)成為ASP+,但并不僅僅是ASP的簡單升級(jí),而是MicroSoft推出的新一代Active Server Pages腳本語言。ASP.NET是微軟發(fā)展的新型體系結(jié)構(gòu).NET的一部分,

14、它的全新技術(shù)架構(gòu)會(huì)讓每一個(gè)人的網(wǎng)絡(luò)生活都變得更簡單。 首先需要特別指出的是,ASP.NET不僅僅只是有了一個(gè)新界面并且修復(fù)了一些缺陷的ASP3.0的升級(jí)版本(即不同于ASP2.0升級(jí)到ASP3.0的轉(zhuǎn)變)。更為重要的是,ASP.NET吸收了ASP以前版本的最大優(yōu)點(diǎn)并參照J(rèn)ava、VB語言的開發(fā)優(yōu)勢加入了許多新的特色,同時(shí)也修正了以前的ASP版本的運(yùn)行錯(cuò)誤。從Internet興起的那一天起,人們就開始了開發(fā)Web技術(shù)的進(jìn)程,從最初的靜態(tài)頁

15、面(HTML)到后來的動(dòng)態(tài)交互式頁面技術(shù)(DHMTL,CGI,ASP,JSP,PHP)的發(fā)展,短短十多年,這個(gè)網(wǎng)絡(luò)世界已經(jīng)變得豐富多彩了?,F(xiàn)在,微軟推出了全新的Microsoft.NET,這是一個(gè)革命性的新平臺(tái)</p><p>  MicroSoft .NET平臺(tái)的基本思想是: 側(cè)重點(diǎn)從連接到互聯(lián)網(wǎng)的單一網(wǎng)站或設(shè)備上,轉(zhuǎn)移到計(jì)算機(jī)、設(shè)備和服務(wù)群組上,使其通力合作,提供更廣泛更豐富的解決方案。用戶將能夠控制信息的傳

16、送方式、時(shí)間和內(nèi)容。計(jì)算機(jī)、設(shè)備和服務(wù)將能夠相輔相成,從而提供豐富的服務(wù),而不是像孤島那樣,由用戶提供唯一的集成。企業(yè)可以提供一種方式,允許用戶將它們的產(chǎn)品和服務(wù)無縫地嵌入自己的電子構(gòu)架中。這種思路將擴(kuò)展二十世紀(jì)八十年代首先由PC賦予的個(gè)人權(quán)限。 MicroSoft .NET將開創(chuàng)互聯(lián)網(wǎng)的新局面,基于HTML的顯示信息將通過可編程的基于XML的信息得到增強(qiáng)。XML是經(jīng)“萬維網(wǎng)聯(lián)盟”定義的受到廣泛支持的行業(yè)標(biāo)準(zhǔn),Web瀏覽器標(biāo)準(zhǔn)也是由該組

17、織創(chuàng)建的。微軟公司為開發(fā)它投入了大量精力,但它并不是MicroSoft的專有技術(shù),XML提供了一種從數(shù)據(jù)的演示視圖分離出實(shí)際數(shù)據(jù)的方式,這是新一代互聯(lián)網(wǎng)的關(guān)鍵。 </p><p>  Microsoft.NET平臺(tái)帶來的重要意義:</p><p>  對(duì)于開發(fā)人員,MicroSoft .NET的策略是將互聯(lián)網(wǎng)本身作為構(gòu)建新一代操作系統(tǒng)的基礎(chǔ),對(duì)互聯(lián)網(wǎng)和操作系統(tǒng)的設(shè)計(jì)思想進(jìn)行合理延伸。這樣,

18、開發(fā)人員必將創(chuàng)建出擺脫設(shè)備硬件束縛的應(yīng)用程序,以便輕松實(shí)現(xiàn)互聯(lián)網(wǎng)連接。MicroSoft .NET無疑是當(dāng)今計(jì)算機(jī)技術(shù)通向計(jì)算時(shí)代的一個(gè)非常重要的里程碑。</p><p>  .NET對(duì)最終用戶來說非常重要,因?yàn)橛?jì)算機(jī)的功能將會(huì)得到大幅度提升,同時(shí)計(jì)算機(jī)操作也會(huì)變得非常簡單。特別地,用戶將完全擺脫人為的硬件束縛:用戶可以自由沖浪于互聯(lián)網(wǎng)的多維時(shí)空,而不是束縛在便攜式電腦的方寸空間——可通過任何桌面系統(tǒng)、任何便攜式

19、電腦、任何移動(dòng)電話或PDA進(jìn)行訪問,并可對(duì)其進(jìn)行跨應(yīng)用程序的集成。 .NET可使用戶輕松進(jìn)行互聯(lián)網(wǎng)連接,并輕松完成那些在當(dāng)今看來十分費(fèi)時(shí)而且費(fèi)力的事務(wù),它們往往要求用戶進(jìn)行數(shù)據(jù)重輸入并需運(yùn)行幾個(gè)小時(shí)才能完成。通過將多項(xiàng)安全數(shù)據(jù)流合并到單一的用戶界面(或者甚至是可編程決策引擎),.NET架構(gòu)將用戶從充斥于當(dāng)今Web的數(shù)據(jù)豎井的束縛中解脫出來。用戶可以自由訪問、自由查看、自由使用他們的數(shù)據(jù)。 .NET對(duì)開發(fā)人員來說也十分重要,因?yàn)樗坏珪?huì)改

20、變開發(fā)人員的開發(fā)應(yīng)用程序的方式,而且使得開發(fā)人員能創(chuàng)建出全新的各種應(yīng)用程序。 </p><p>  在過去,開發(fā)人員通過集成本地系統(tǒng)服務(wù)來構(gòu)建應(yīng)用程序。在這種模型下,開發(fā)人員可以訪問豐富的開發(fā)資源并能嚴(yán)格控制應(yīng)用程序的行為。這樣,開發(fā)人員便可把精力集中在充分挖掘軟件獨(dú)特的商業(yè)價(jià)值,而不是構(gòu)建基本結(jié)構(gòu)上??上驳木置鎸?yīng)運(yùn)而生:軟件投放市場的時(shí)間大大縮短、開發(fā)人員的編程效率明顯提高,最終把質(zhì)量上乘的軟件呈現(xiàn)給用戶。

21、我們正在進(jìn)入一個(gè)嶄新的計(jì)算時(shí)代——一個(gè)由互聯(lián)網(wǎng)(尤其是Internet核心技術(shù)XML)實(shí)現(xiàn)的時(shí)代。利用XML,能夠創(chuàng)建出可供任何人從任何地方使用的、功能非常強(qiáng)大的應(yīng)用程序。它極大地拓展了應(yīng)用程序的功能,并實(shí)現(xiàn)了軟件的動(dòng)態(tài)提供。在這種情況下,軟件已不完全指那些從光盤進(jìn)行安裝的程序,而是演變成了一種服務(wù)——類似于ID調(diào)用程序或按收看次數(shù)進(jìn)行收費(fèi)的電視——人們可通過通信媒體訂購的服務(wù)。 </p><p>  1.3 數(shù)

22、據(jù)庫的選用及介紹[2]</p><p>  在此次設(shè)計(jì)中,我們采用了SQL SERVER2005數(shù)據(jù)庫, SQL(Structured Query Language,譯為結(jié)構(gòu)化查詢語言)在關(guān)系型數(shù)據(jù)庫中的地位就猶如英語在世界上的地位。它是數(shù)據(jù)庫系統(tǒng)的通用語言,利用它,用戶可以用幾乎同樣的語句在不同的數(shù)據(jù)庫系統(tǒng)上執(zhí)行同樣的操作。比如“select * from 數(shù)據(jù)表名”代表要從某個(gè)數(shù)據(jù)表中取出全部數(shù)據(jù),在Orac

23、le 9i、SQL Server 2000、FoxPro等關(guān)系型數(shù)據(jù)庫中都可以使用這條語句。SQL已經(jīng)被ANSI(美國國家標(biāo)準(zhǔn)化組織)確定為數(shù)據(jù)庫系統(tǒng)的工業(yè)標(biāo)準(zhǔn)。</p><p>  在數(shù)據(jù)庫的版本上,我們選用Microsoft SQL Server2005簡稱SQL Server),它是由一系列相互協(xié)作的組件構(gòu)成,能滿足最大的Web站點(diǎn)和企業(yè)數(shù)據(jù)處理系統(tǒng)存儲(chǔ)和分析數(shù)據(jù)的需求。</p><p&

24、gt;  SQL Server提供了在服務(wù)器系統(tǒng)上運(yùn)行的服務(wù)器軟件和在客戶端運(yùn)行的客戶端軟件,連接客戶和服務(wù)器計(jì)算機(jī)的網(wǎng)絡(luò)軟件則由Windows NT/2000提供。</p><p>  它的數(shù)據(jù)庫系統(tǒng)的服務(wù)器運(yùn)行在Windows NT/2000系統(tǒng)上,負(fù)責(zé)創(chuàng)建和維護(hù)表和索引等數(shù)據(jù)庫對(duì)象,確保數(shù)據(jù)完整性和安全性,能夠在出現(xiàn)各種錯(cuò)誤時(shí)恢復(fù)數(shù)據(jù)。</p><p>  客戶端應(yīng)用程序可以運(yùn)行在W

25、indows9x/NT/2000系統(tǒng)上,完成所有的用戶交互操作。將數(shù)據(jù)從服務(wù)器檢索出來后,可以生成拷貝,以便在本地保留,也可以進(jìn)行操作。</p><p>  SQL Server建立于Microsoft Window NT的可伸縮性和可管理性之上,提供了功能強(qiáng)大的客戶服務(wù)器平臺(tái),高性能客戶服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng)可以將Visual FoxPro、Visual Basic、Visual C#、.NET作為客戶端開

26、發(fā)工具,而將SQL Server作為存儲(chǔ)數(shù)據(jù)的后臺(tái)服務(wù)器軟件。它是基于客戶/服務(wù)器的數(shù)據(jù)庫管理系統(tǒng)。用戶通過使用客戶系統(tǒng)從服務(wù)器檢索信息并進(jìn)行本地操作,服務(wù)器關(guān)注數(shù)據(jù)庫進(jìn)程,而客戶則關(guān)注信息的表示。 </p><p>  1.4 B/S模式介紹[12]</p><p>  B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一

27、種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本。</p><p>  以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,采用“瘦”客戶機(jī),“胖”服務(wù)器的方式來設(shè)計(jì)系統(tǒng)是相對(duì)合理的。它是一次性到位的開發(fā),能實(shí)現(xiàn)

28、不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全 。特別是在.NET這樣的跨平臺(tái)語言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。</p><p>  1.5 該系統(tǒng)特點(diǎn)介紹[16]</p><p>  本新聞發(fā)布系統(tǒng)具有以下特點(diǎn):</p&

29、gt;<p>  (1) 可視性:對(duì)新聞的處理(包括發(fā)布、修改、刪除)將立即在主頁的對(duì)應(yīng)欄目顯示出來,達(dá)到"即時(shí)發(fā)布、即時(shí)見效"的功能;</p><p>  (2) 功能完善:包括常見網(wǎng)站的新聞(消息)管理的各個(gè)方面:新聞發(fā)布、瀏覽、刪除、修改、檢索等各個(gè)方面;完整地實(shí)現(xiàn)了網(wǎng)站對(duì)即時(shí)新聞的管理要求;</p><p>  (3) 操作簡單、界面友好:完全控件

30、式的頁面布局,使你即便不熟悉文字錄入,仍可以用拷貝+粘貼的方式錄入新聞內(nèi)容;一些選項(xiàng)包括新聞?lì)悇e等只需要點(diǎn)擊鼠標(biāo)就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶隨時(shí)清楚自己的操作情況。</p><p>  (4) 代碼少:新聞瀏覽、查詢輸出兩大功能也使用了同一頁面(NewsContent.aspx),極大地減少了程序代碼。</p><p> ?。?)安全性強(qiáng):此系統(tǒng)中比較核心的功能都用在數(shù)據(jù)庫

31、中用存儲(chǔ)過程來實(shí)現(xiàn),不僅提高了反應(yīng)速度,同時(shí)安全性大大加強(qiáng)。</p><p>  (6)易于管理:此系統(tǒng)采用三層架構(gòu)來實(shí)現(xiàn)功能的,遇到問題可以準(zhǔn)確找到出錯(cuò)的位置,對(duì)號(hào)入座,提高了后期維護(hù)的效率。 </p><p><b>  2 概要設(shè)計(jì)</b></p><p>  2.1 系統(tǒng)結(jié)構(gòu)分析[13]</p><p>  通過

32、對(duì)各網(wǎng)站新聞發(fā)布系統(tǒng)的調(diào)查,本系統(tǒng)需要設(shè)計(jì)兩個(gè)角色訪問模塊:普通用戶模塊、管理員模塊、記者模塊。</p><p><b>  圖1 系統(tǒng)結(jié)構(gòu)圖</b></p><p>  普通用戶模塊功能包括瀏覽新聞、搜索新聞、查看新聞和評(píng)論新聞功能。</p><p>  后臺(tái)管理模塊又包括系統(tǒng)管理員模塊和記者模塊。</p><p> 

33、 系統(tǒng)管理員模塊功能包括新聞管理、分類管理和用戶管理等功能。</p><p>  記者模塊功能則只包括新聞管理中添加修改新聞,添加的新聞狀態(tài)未發(fā)布。</p><p>  2.2 系統(tǒng)模塊分析</p><p>  該系統(tǒng)主要包括5個(gè)功能模塊:</p><p>  普通用戶模塊:普通用戶模塊包括瀏覽新聞、搜索新聞、查看新聞和評(píng)論新聞的功能。<

34、;/p><p>  管理員登錄模塊:該系統(tǒng)管理員分為兩類,即系統(tǒng)管理員和記者,其中,系統(tǒng)管理員權(quán)限高于記者。</p><p>  新聞管理模塊:該系統(tǒng)中,系統(tǒng)管理員能夠賦予或收回記者管理某一類新聞的權(quán)利。該模塊能夠?qū)崿F(xiàn)添加新聞、修改新聞、審核新聞、刪除新聞或其相應(yīng)評(píng)論的功能。</p><p>  分類管理模塊:該系統(tǒng)中,只有系統(tǒng)管理員具有管理分類的權(quán)限。該模塊能夠?qū)崿F(xiàn)分

35、類的添加、修改和刪除。</p><p>  用戶管理模塊:該模塊能夠?qū)崿F(xiàn)用戶的添加與刪除,用戶角色的修改以及賬號(hào)密碼的更改。其中用戶的添加、修改和用戶權(quán)限的修改只有系統(tǒng)管理員才能操作,而記者只具有更改自己賬號(hào)密碼的權(quán)限。</p><p>  3. 數(shù)據(jù)庫設(shè)計(jì)[4] </p><p>  數(shù)據(jù)庫是系統(tǒng)的靈魂,數(shù)據(jù)庫設(shè)計(jì)的好壞直接關(guān)系到后邊系統(tǒng)的可維護(hù)性、可擴(kuò)展性

36、等。但只有在全面了解業(yè)務(wù)流程的前提下才能設(shè)計(jì)出完善的數(shù)據(jù)庫。</p><p>  3.1數(shù)據(jù)庫關(guān)系的設(shè)計(jì)</p><p><b>  圖1 數(shù)據(jù)關(guān)系圖</b></p><p>  3.2 User表的設(shè)計(jì)</p><p>  表User用于記錄所有用戶的所有信息,表db_Admin的設(shè)計(jì)視圖如表1所示:</p>

37、;<p><b>  表1 User表</b></p><p>  3.3 News表的設(shè)計(jì)</p><p>  表News用于記錄新聞的所有信息,表News的設(shè)計(jì)視圖如表2所示:</p><p><b>  表2 news表</b></p><p>  3.4 category表

38、的設(shè)計(jì)</p><p>  表comment用于記錄分類的所有留言信息,表comment的設(shè)計(jì)視圖如表3所示:</p><p>  表3 category表</p><p>  3.5 comment表的設(shè)計(jì)</p><p>  表comment用于記錄新聞評(píng)論的所有信息,表comment的設(shè)計(jì)視圖如表4所示:</p><

39、;p>  表4 comment表</p><p><b>  4 詳細(xì)設(shè)計(jì)</b></p><p><b>  4.1普通用戶模塊</b></p><p>  普通用戶模塊包括新聞瀏覽功能、新聞搜索功能、新聞閱讀功能和新聞評(píng)論功能。</p><p>  4.1.1 新聞瀏覽功能</p&g

40、t;<p>  本系統(tǒng)首頁便是新聞瀏覽頁面,整個(gè)頁面顯示了新聞的分類,將所有新聞分為熱點(diǎn)新聞、分類新聞和最新新聞三大塊。并且列出了網(wǎng)站所有新聞的信息, 包括標(biāo)題、類型、發(fā)布日期, 每條新聞的標(biāo)題被做成一個(gè)超鏈接, 直接點(diǎn)擊它們就能跳轉(zhuǎn)頁面進(jìn)行新聞閱讀。如圖2所示:</p><p><b>  圖2 系統(tǒng)首頁</b></p><p>  新聞瀏覽功能部分代

41、碼如下:</p><p><b>  使用的存儲(chǔ)過程:</b></p><p>  (1) set ANSI_NULLS ON</p><p>  set QUOTED_IDENTIFIER ON</p><p><b>  go</b></p><p>  -- =====

42、========================================</p><p>  -- Author:</p><p>  -- Create date:</p><p>  -- Description:取出最新條新聞(所屬分類、新聞標(biāo)題、發(fā)布時(shí)間)</p><p>  -- ===================

43、==========================</p><p>  ALTER PROCEDURE [dbo].[news_selectNewNews]</p><p><b>  AS</b></p><p><b>  BEGIN</b></p><p>  select top 8 n.

44、id,n.title,n.createTime,n.pic,c.[name],c.id as caId from news n</p><p>  inner join categoryc on n.caId=c.id</p><p>  where status='已發(fā)布'</p><p>  order by n.createTime desc

45、</p><p><b>  END</b></p><p> ?。?)set ANSI_NULLS ON</p><p>  set QUOTED_IDENTIFIER ON</p><p><b>  go</b></p><p>  -- ===============

46、==============================</p><p>  -- Description:取出條熱點(diǎn)新聞(評(píng)論最多的條)</p><p>  -- =============================================</p><p>  ALTER PROCEDURE [dbo].[news_selectHotNews]

47、</p><p><b>  AS</b></p><p><b>  BEGIN</b></p><p>  select top 10 n.id,n.title,n.createTime,c.[name],count(com.id) as comCount,c.id as caId from news n</p&

48、gt;<p>  inner join categoryc on n.caId=c.id</p><p>  inner join comment com on com.newsId=n.id</p><p>  group by n.id,n.title,n.createTime,c.[name],c.id</p><p>  order by c

49、omCount desc</p><p><b>  END</b></p><p>  DAL層主要代碼: ##region 選擇10條熱點(diǎn)新聞</p><p>  /// <summary></p><p>  /// 取出10條熱點(diǎn)新聞</p><p>  /// </s

50、ummary></p><p>  /// <returns></returns></p><p>  public DataTable SelectHotNews()</p><p><b>  {</b></p><p>  return sqlhelper.ExecuteQuery(&

51、quot;news_selectHotNews", CommandType.StoredProcedure); </p><p><b>  }</b></p><p>  #endregion</p><p>  /// <summary></p><p>  /// 取出最新10

52、條新聞(所屬分類、新聞標(biāo)題、發(fā)布時(shí)間)</p><p>  /// </summary></p><p>  /// <returns></returns></p><p>  public DataTable SelectNewNews()</p><p><b>  {</b>&l

53、t;/p><p>  return sqlhelper.ExecuteQuery("news_selectNewNews", CommandType.StoredProcedure);</p><p><b>  }</b></p><p>  public partial class index : System.Web.UI

54、.Page</p><p><b>  {</b></p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if(!Page.IsPostBack)</p>

55、<p><b>  {</b></p><p>  //第一次進(jìn)入該頁面時(shí)</p><p>  NewsManager nm = new NewsManager();</p><p><b>  //綁定最新新聞</b></p><p>  gvNewNews.DataSource =

56、nm.SelectNewNews();</p><p>  gvNewNews.DataBind();</p><p>  DataListNewNews.DataSource = nm.SelectNewNews();</p><p>  DataListNewNews.DataBind();</p><p><b>  }<

57、;/b></p><p><b>  }</b></p><p>  /// <summary> </p><p>  /// 將指定字符串按指定長度進(jìn)行剪切超出部分用“...”代替</p><p>  /// </summary> </p><p>  

58、/// <param name= "oldStr "> 需要截?cái)嗟淖址?</param> </p><p>  /// <param name= "maxLength "> 字符串的最大長度 </param> </p><p>  /// <param name= &qu

59、ot;endWith "> 超過長度的后綴 </param> </p><p>  /// <returns> 如果超過長度,返回截?cái)嗪蟮男伦址由虾缶Y,否則,返回原字符串 </returns> </p><p>  public static string StringTruncat(string oldStr, int maxL

60、ength, string endWith)</p><p><b>  {</b></p><p>  if (string.IsNullOrEmpty(oldStr))</p><p>  return oldStr + endWith;</p><p>  if (maxLength < 1)</p&g

61、t;<p>  throw new Exception("返回的字符串長度必須大于[0] ");</p><p>  if (oldStr.Length > maxLength)</p><p><b>  {</b></p><p>  string strTmp = oldStr.Substring(

62、0, maxLength);</p><p>  if (string.IsNullOrEmpty(endWith))</p><p>  return strTmp;</p><p><b>  else</b></p><p>  return strTmp + endWith;</p><p&g

63、t;<b>  }</b></p><p>  return oldStr;</p><p><b>  }</b></p><p>  4.1.2 新聞搜索功能</p><p>  每個(gè)用戶都可以在該系統(tǒng)中進(jìn)行新聞的搜索,通過標(biāo)題或是內(nèi)容的搜索找到自己感興趣的新聞。</p><

64、p>  新聞搜索功能和搜索結(jié)果界面如圖3和圖4所示:</p><p><b>  圖3 新聞搜索</b></p><p><b>  圖4 搜索結(jié)果</b></p><p><b>  相關(guān)代碼如下:</b></p><p>  -- =================

65、============================</p><p>  -- Description:根據(jù)內(nèi)容搜索新聞</p><p>  -- =============================================</p><p>  ALTER PROCEDURE [dbo].[news_selectByContent]</p&

66、gt;<p>  @content varchar(1000)</p><p><b>  AS</b></p><p><b>  BEGIN</b></p><p>  select n.id,n.title,n.createTime,c.[name],n.caid from news n</p&g

67、t;<p>  inner join category c on n.caId=c.id</p><p>  where n.[content] like '%'+@content+'%'</p><p>  order by n.createTime desc</p><p><b>  END</b&

68、gt;</p><p>  -- Description:根據(jù)新聞ID取出該條新聞主體內(nèi)容</p><p>  ALTER PROCEDURE [dbo].[news_selectById]</p><p><b>  @id int</b></p><p><b>  AS</b></p&

69、gt;<p><b>  BEGIN</b></p><p>  select title,[content],createTime,caId,author,status from news where id=@id</p><p><b>  END</b></p><p>  4.1.3 顯示新聞及評(píng)論功

70、能</p><p>  點(diǎn)擊鏈接即可進(jìn)入新聞顯示界面,在該界面不僅能夠進(jìn)行新聞的閱讀,還能對(duì)該條新聞進(jìn)行評(píng)論。</p><p>  新聞顯示及評(píng)論界面如圖5所示:</p><p>  圖5 新聞顯示及評(píng)論</p><p>  新聞顯示及評(píng)論功能部分代碼如下所示:</p><p>  public partial cla

71、ss NewsContent : System.Web.UI.Page</p><p><b>  {</b></p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  i

72、f (!Page.IsPostBack)</p><p><b>  {</b></p><p>  string newsid = Request.QueryString["newsid"];</p><p>  NewsManager nm = new NewsManager();</p><p>

73、;<b>  //新聞內(nèi)容</b></p><p>  News news = nm.SelectById(newsid);</p><p>  lblTitle.Text = news.Title;</p><p>  lblAuthor.Text = news.Author;</p><p>  lblcontent

74、.Text = news.Content;</p><p>  lblCreateTime.Text = news.CreateTime; </p><p>  DataTabledt=new ommentManager().SelectByNewsId(newsid);</p><p>  if (dt.Rows.Count == 0)<

75、/p><p><b>  {</b></p><p>  emptyData.Visible = true;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b>&

76、lt;/p><p>  emptyData.Visible = false;</p><p>  repComment.DataSource = dt;</p><p>  repComment.DataBind();</p><p><b>  }</b></p><p><b>  }&

77、lt;/b></p><p><b>  }</b></p><p>  protected void lbtnDelComment_Click(object sender, EventArgs e)</p><p>  { //當(dāng)前點(diǎn)擊的按鈕</p><p>  LinkButton lb = (LinkBu

78、tton)sender;</p><p>  //獲取傳過來的CommentId</p><p>  string comId = lb.CommandArgument;</p><p>  bool b = new CommentManager().Delete(comId);</p><p><b>  if (b)</b

79、></p><p>  { //重新綁定評(píng)論</p><p>  string newsid = Request.QueryString["newsid"];</p><p>  DataTable dt = new CommentManager().SelectByNewsId(newsid);</p><p>

80、  if (dt.Rows.Count == 0)</p><p><b>  {</b></p><p>  emptyData.Visible = true;</p><p>  repComment.DataSource = dt;</p><p>  repComment.DataBind();</p>

81、;<p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  emptyData.Visible = false;</p><p>  repComment.DataSource = d

82、t;</p><p>  repComment.DataBind();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b&g

83、t;</p><p>  Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('刪除失??!');</script>");</p><

84、p><b>  }</b></p><p><b>  }</b></p><p>  protected void btnSub_Click(object sender, EventArgs e)</p><p><b>  { </b></p><p> 

85、 if (Session["LoginName"] != null)</p><p>  { //添加評(píng)論</p><p>  string com_content = txtComment.Text;</p><p>  string newsid = Request.QueryString["newsid"];<

86、/p><p>  string userIp = Request.ServerVariables["REMOTE_ADDR"];</p><p>  Comment com = new Comment(com_content, userIp, newsid);</p><p>  bool b = new CommentManager().Inser

87、t(com);</p><p><b>  if (b)</b></p><p><b>  {</b></p><p>  txtComment.Text = "";</p><p>  //隱藏“該新聞暫無評(píng)論”</p><p>  emptyData

88、.Visible = false;</p><p>  repComment.DataSource=new CommentManager().SelectByNewsId(newsid);</p><p>  repComment.DataBind();</p><p><b>  } else</b></p><p>

89、<b>  {</b></p><p>  Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('評(píng)論添加失?。?#39;);</script>&q

90、uot;);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Redirec

91、t("login.aspx");</p><p><b>  }</b></p><p><b>  }</b></p><p>  4.2 管理員登錄模塊</p><p>  管理員登錄模塊包括系統(tǒng)管理員和記者登錄。登錄后會(huì)進(jìn)入相應(yīng)的操作界面。其登錄界面和登錄后界面如圖6和圖7

92、所示:</p><p><b>  圖6 后臺(tái)登錄界面</b></p><p>  圖7 管理員登錄后界面</p><p>  管理員登錄功能部分代碼如下:</p><p>  -- =============================================</p><p>  -

93、- Description:<用戶登錄,,></p><p>  -- =============================================</p><p>  ALTER proc [dbo].[User_GetLogin]</p><p>  (@LoginId varchar(20),@LoginPwd varchar(20

94、))</p><p><b>  AS</b></p><p><b>  BEGIN</b></p><p>  select LoginId,LoginPwd,userRole from [User]</p><p>  where LoginId = @LoginId and LoginPw

95、d = @LoginPwd </p><p><b>  END</b></p><p>  protected void btnLogin_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (this.txtNam

96、e.Text.Trim() == "")</p><p><b>  {</b></p><p>  Response.Write("<script>alert('請(qǐng)輸入用戶名!')</script>");</p><p><b>  }</b>

97、;</p><p>  else if (this.txtPassword.Text.Trim() == "")</p><p><b>  {</b></p><p>  Response.Write("<script>alert('請(qǐng)輸入密碼!')</script>&qu

98、ot;);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  User uib = new User();</p><p>  LoginManager us

99、erBll = new LoginManager();</p><p>  uib.LoginId = this.txtName.Text.Trim();</p><p>  uib.LoginPwd = this.txtPassword.Text.Trim();</p><p>  string pwd = this.txtPassword.Text.Trim()

100、; </p><p>  pwd=FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "MD5");</p><p>  // Response.Write(pwd);</p><p>  if (this.DropDownListRole.SelectedValu

101、e =="0")</p><p><b>  {</b></p><p>  if (userBll.GetLoginByAdmin(uib))</p><p><b>  {</b></p><p>  Session["LoginName"] = this

102、.txtName.Text.Trim();</p><p>  Response.Redirect("CategoryManager.aspx");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {&l

103、t;/b></p><p>  Response.Write("<script>alert('用戶名或密碼錯(cuò)誤!')</script>");</p><p><b>  }</b></p><p><b>  }</b></p><p&g

104、t;<b>  else</b></p><p><b>  {</b></p><p>  if (userBll.GetLoginByReporter(uib))</p><p><b>  {</b></p><p>  Session["LoginName&q

105、uot;] = this.txtName.Text.Trim();</p><p>  Response.Redirect("NewsManager_Reporter.aspx");</p><p><b>  }</b></p><p><b>  else</b></p><p&

106、gt;<b>  {</b></p><p>  Response.Write("<script>alert('用戶名或密碼錯(cuò)誤!')</script>");</p><p>  } </p><p>  4.3 新聞管理模塊</p><p>

107、;  新聞管理模塊包括添加、修改新聞功能、審核新聞功能、刪除新聞或其評(píng)論功能。其中,記者只能添加和修改自己發(fā)布的新聞。</p><p>  4.3.1 新聞添加、修改功能</p><p>  在本系統(tǒng)中,新聞的添加和修改功能的界面大同小異,這里就只具體介紹新聞的添加功能。</p><p>  新聞添加功能界面如圖8所示:</p><p>&l

108、t;b>  圖8 添加新聞</b></p><p>  新聞添加功能部分代碼如下:</p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  //判斷是否登錄 session

109、里是否存在管理員</p><p>  if (Session["LoginName"] != null)</p><p>  { </p><p>  if (!Page.IsPostBack)</p><p>  {//綁定新聞分類 </p><p&

110、gt;  DataTable dt= new CategoryManager().SelectAll();</p><p>  ddlCategory.DataSource = dt;</p><p>  ddlCategory.DataTextField = "name";</p><p>  ddlCategory.DataValueFie

111、ld = "id";</p><p>  ddlCategory.DataBind();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p>&

112、lt;b>  {</b></p><p><b>  //未登錄</b></p><p>  Response.Redirect("Login.aspx");</p><p><b>  }</b></p><p><b>  }</b>&

113、lt;/p><p>  protected void btnAdd_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  string fullfileName = FileUp.PostedFile.FileName;</p><p>  strin

114、g fileName = fullfileName.Substring(fullfileName.LastIndexOf("\\") + 1);</p><p>  string type = fullfileName.Substring(fullfileName.LastIndexOf(".") + 1);</p><p>  if (type =

115、= "jpg" || type == "JPG" || type == "gif" || type == "GIF" || type == "BMP" || type == "bmp"||type=="png")</p><p><b>  { try</b

116、></p><p><b>  {</b></p><p>  Stringpath= HttpContext.Current.Request.MapPath(("~/img/") + fileName);</p><p>  FileUp.PostedFile.SaveAs(path);

117、 Response.Write("<Script Language='JavaScript'>alert('上傳成功!')</Script>");</p><p><b>  }</b></p><p><b>  catch</b></p><p&g

118、t;<b>  {</b></p><p>  Response.Write("<Script Language='JavaScript'>alert('Error!')</Script>");</p><p><b>  }</b></p><p&g

119、t;<b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Write("<Script Language='JavaScript'>alert('文件類型錯(cuò)誤!&

120、#39;)</Script>");</p><p><b>  }</b></p><p>  this.lblAuthor.Text= Session["LoginName"].ToString();</p><p>  string srcPic = "~/img/" + fil

121、eName;</p><p>  string title = txtTitle.Text.Trim();</p><p>  string content = ftbContent.Text.Trim();</p><p>  string caid = ddlCategory.SelectedValue;</p><p>  string

122、 pic = srcPic;</p><p>  string status = "未發(fā)布";</p><p>  string author = lblAuthor.Text.Trim();</p><p>  News news = new News(title, content, caid, pic, author, status);<

123、;/p><p>  bool b= new NewsManager().Insert(news);</p><p><b>  if (b)</b></p><p><b>  {</b></p><p>  //Response.Write(pic);</p><p>  Pa

124、ge.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('新聞添加成功!');</script>");</p><p><b>  }</b&g

125、t;</p><p><b>  else</b></p><p><b>  {</b></p><p>  Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language=

126、9;javascript' defer>alert('添加失?。?#39;);</script>");</p><p><b>  } </b></p><p><b>  }</b></p><p>  4.3.2 新聞審核功能</p><p> 

127、 擁有審核新聞權(quán)限的管理員即可進(jìn)入該界面對(duì)新聞進(jìn)行審核。其功能界面如圖9所示(此處代碼省略):</p><p><b>  圖9 新聞審核</b></p><p>  4.3.3 新聞或其評(píng)論刪除功能</p><p>  管理員只要擁有相應(yīng)權(quán)限就可以通過此頁面進(jìn)入新聞修改頁面、刪除某條新聞或刪除其有關(guān)評(píng)論。</p><p&g

128、t;  其功能界面如圖10所示: </p><p>  圖10 刪除新聞及其評(píng)論</p><p><b>  其部分代碼如下:</b></p><p>  protected void Page_Load(object sender, EventArgs e)</p><p>  { if (Session[&q

129、uot;LoginName"] != null )</p><p><b>  {</b></p><p><b>  //已經(jīng)登錄</b></p><p>  if (!Page.IsPostBack)</p><p><b>  {</b></p>

溫馨提示

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