版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 新聞發(fā)布系統(tǒng)(畢業(yè)論文)
- 畢業(yè)論文——新聞發(fā)布系統(tǒng)
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——新聞發(fā)布系統(tǒng)
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 畢業(yè)論文---基于java新聞發(fā)布系統(tǒng)
- 畢業(yè)論文——新聞發(fā)布及管理系統(tǒng)
- 朱先輝--畢業(yè)論文(新聞發(fā)布系統(tǒng))
- asp.net新聞發(fā)布系統(tǒng)畢業(yè)論文
- 新聞發(fā)布系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- asp.net新聞發(fā)布系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——基于web的學(xué)校新聞發(fā)布系統(tǒng)
- 畢業(yè)論文——基于web的學(xué)校新聞發(fā)布系統(tǒng)
- 新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 畢業(yè)論文——基于web的學(xué)校新聞發(fā)布系統(tǒng)
- 基于web的校園新聞發(fā)布系統(tǒng)畢業(yè)論文
- 結(jié)業(yè)畢業(yè)論文新聞發(fā)布系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)分析方案結(jié)業(yè)畢業(yè)論文
- 畢業(yè)論文(設(shè)計(jì))基于web的學(xué)校新聞發(fā)布系統(tǒng)
評(píng)論
0/150
提交評(píng)論