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

下載本文檔

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

文檔簡介

1、<p><b>  摘要</b></p><p>  個性化已逐漸成為當(dāng)今Web應(yīng)用的潮流。利用ASP.net技術(shù)開發(fā)的網(wǎng)站新聞管理系統(tǒng),實(shí)現(xiàn)了網(wǎng)站新聞的動態(tài)管理,因?yàn)榭梢杂脕韯討B(tài)發(fā)布新聞信息,所以使得對信息的管理更加及時、高效,提高了工作效率。隨著計(jì)算機(jī)科學(xué)的發(fā)展,數(shù)據(jù)庫技術(shù)在Internet中的應(yīng)用越來越廣泛,為廣大網(wǎng)絡(luò)用戶提供了更加周到和人性化的服務(wù)。計(jì)算機(jī)相關(guān)技術(shù)也在不斷地

2、提升.新聞發(fā)布系統(tǒng)是網(wǎng)站上用于用戶發(fā)布新聞,查詢?yōu)g覽新聞的一個系統(tǒng),是用戶查看社會信息的園地。現(xiàn)在的新聞發(fā)布要求實(shí)現(xiàn)與普通的用戶實(shí)現(xiàn)交互,用戶可以很方便地參加一些調(diào)查和相關(guān)新聞的評論,這一點(diǎn)也是其他一些媒體現(xiàn)在無法做到的(電視、電臺等),同時,Internet發(fā)展到當(dāng)今,可以說,只要你上Internet,你就會接觸到新聞發(fā)布系統(tǒng),新聞發(fā)布系統(tǒng)的用戶是相當(dāng)驚人的,其重要性是不容置疑的,當(dāng)然這也對新聞發(fā)布系統(tǒng)的開發(fā)提出了更高的要求。<

3、/p><p><b>  關(guān)鍵詞</b></p><p>  動態(tài)網(wǎng)頁建模,樣式層,持久層,服務(wù)層,控制層</p><p>  AbstractPersonalization has become the trend of today's Web applications. The use of ASP.NET technology ne

4、ws site management system, to achieve the dynamic management of the news site, because the dynamics can be used to publish news and information, it makes the management of information more timely, efficient, improve the

5、work efficiency. With the development of computer science, database technology application in the Internet more and more widely, for the vast number of network users with a </p><p><b>  Keywords</b&

6、gt;</p><p>  dynamic pages modeling, pattern layer, persistence layer, service layer, control layer</p><p><b>  目錄</b></p><p><b>  0 引言1</b></p><

7、;p><b>  1 系統(tǒng)分析2</b></p><p>  1.1 需求分析2</p><p>  1.2 可行性分析2</p><p>  2 開發(fā)平臺及工具軟件3</p><p>  2.1 ASP.NET 介紹3</p><p>  2.2 Visual Stu

8、dio簡介4</p><p>  2.3 SQL介紹4</p><p>  2.4 C#語言介紹6</p><p><b>  3 總體設(shè)計(jì)8</b></p><p>  3.1 項(xiàng)目規(guī)劃8</p><p>  3.2 系統(tǒng)功能結(jié)構(gòu)圖8</p><p>

9、;<b>  4 系統(tǒng)設(shè)計(jì)9</b></p><p>  4.1 設(shè)計(jì)目標(biāo)9</p><p>  4.2 開發(fā)及運(yùn)行環(huán)境9</p><p>  4.3 邏輯結(jié)構(gòu)設(shè)計(jì)9</p><p>  5 網(wǎng)站總體架構(gòu)10</p><p>  5.1 網(wǎng)站首頁的運(yùn)行結(jié)果10</p&g

10、t;<p>  6 網(wǎng)站后臺主要功能模塊設(shè)計(jì)12</p><p>  6.1 后臺登錄模塊設(shè)計(jì)12</p><p>  6.2 管理員設(shè)置模塊設(shè)計(jì)15</p><p>  6.3 新聞管理系統(tǒng)17</p><p>  6.4 總結(jié)21</p><p>  7 網(wǎng)站前臺主要功能模塊設(shè)計(jì)

11、22</p><p>  7.1 今日新聞的顯示22</p><p>  7.2 新聞詳細(xì)內(nèi)容瀏覽24</p><p>  7.3 輸入新聞的關(guān)鍵字查找新聞25</p><p><b>  8數(shù)據(jù)表26</b></p><p><b>  9 小結(jié)27</b&g

12、t;</p><p><b>  參考文獻(xiàn)28</b></p><p><b>  致謝29</b></p><p><b>  0 引言</b></p><p>  網(wǎng)站新聞發(fā)布系統(tǒng),又稱為信息發(fā)布系統(tǒng),是將網(wǎng)頁上的某些需要經(jīng)常變動的信息,類似新聞、新產(chǎn)品發(fā)布和業(yè)界動態(tài)

13、等更新信息集中管理,并通過信息的某些共性進(jìn)行分類,最后系統(tǒng)化、標(biāo)準(zhǔn)化發(fā)布到網(wǎng)站上的一種網(wǎng)站應(yīng)用程序。Internet的蓬勃發(fā)展,使新聞的傳播方式發(fā)生了巨大的變化,傳統(tǒng)的信息傳播媒體電視、廣播、報(bào)紙已經(jīng)不再是人們茶余飯后的主要精神甜點(diǎn),人們更多的開始關(guān)注網(wǎng)絡(luò)新聞。由于互聯(lián)網(wǎng)所容納的信息量大、內(nèi)容豐富、信息及時、準(zhǔn)確,更有相關(guān)信息的全面的介紹與比較,大大地方便了人們的閱讀,因此在短短幾年的時間里,互聯(lián)網(wǎng)便濟(jì)身于眾多媒體之間,并具有相當(dāng)一部分

14、媒體人群。借此東風(fēng),新聞網(wǎng)也迅速發(fā)展起來,它內(nèi)容豐富,涉及到商業(yè)、工業(yè)、農(nóng)業(yè)、銀行、財(cái)政、教育、娛樂、信息等各個產(chǎn)業(yè),信息量大,不僅有實(shí)事新聞,還有相關(guān)的行業(yè)信息,同時新聞網(wǎng)具有互聯(lián)網(wǎng)所具備的一切特性。在全球網(wǎng)絡(luò)化、信息化的今天,新聞網(wǎng)迅速發(fā)展,大大地豐富了人們的生活,不知不覺中,它已經(jīng)成為人們生活中不可或缺的重要組成部分。</p><p><b>  1 系統(tǒng)分析</b></p&g

15、t;<p><b>  1.1 需求分析</b></p><p>  隨著網(wǎng)絡(luò)的發(fā)展,Web開發(fā)技術(shù)也不斷的推陳出新,迅速發(fā)展,本系統(tǒng)是利用ASP技術(shù)進(jìn)行基于Web的新聞發(fā)布系統(tǒng)的開發(fā)。本章從實(shí)際出發(fā)簡要的分析了為什么要開發(fā)此系統(tǒng),怎么來開發(fā)此系統(tǒng),系統(tǒng)應(yīng)實(shí)現(xiàn)哪些功能。本論文后續(xù)章節(jié)將詳細(xì)講解系統(tǒng)開發(fā)過程,從系統(tǒng)分析到數(shù)據(jù)庫的組建,最后介紹系統(tǒng)開發(fā)的詳細(xì)設(shè)計(jì)過程。</p

16、><p>  通過相關(guān)調(diào)查,要求網(wǎng)站具有以下功能;</p><p>  展示各行各業(yè)新聞及相關(guān)詳細(xì)內(nèi)容。</p><p><b>  新聞搜索。</b></p><p>  收藏本頁,設(shè)本頁為首頁。</p><p>  可以用管理員登陸后臺進(jìn)行新聞管理和管理員身份管理。</p><

17、p>  1.2 可行性分析</p><p>  新聞發(fā)布系統(tǒng)前臺以分類形式顯示新聞的詳細(xì)信息,后臺對新聞作了詳細(xì)的分類,滿足了瀏覽新聞網(wǎng)時分類查看新聞的要求,方便瀏覽者查找相關(guān)的新聞信息。同時也提供新聞信息查詢功能,新聞網(wǎng)后臺則通過對總管理員設(shè)置和管理員添加等模塊對網(wǎng)站管理員進(jìn)行管理,網(wǎng)站的安全性得到提高。</p><p>  2 開發(fā)平臺及工具軟件</p><

18、;p>  2.1 ASP.NET 介紹</p><p>  ASP.net構(gòu)架是可以用Microsoft(R)公司最新的產(chǎn)品 Visual Studio.net開發(fā)環(huán)境進(jìn)行開發(fā),WYSIWYG(What You See Is What You Get所見即為所得)的編輯。這些僅是ASP.net強(qiáng)大化軟件支持的一小部分。</p><p>  因?yàn)锳SP.net是基于通用語言的編譯運(yùn)行

19、的程序,所以它的強(qiáng)大性和適應(yīng)性,可以使它運(yùn)行在Web應(yīng)用軟件開發(fā)者的幾乎全部的平臺上(筆者到現(xiàn)在為止只知道它只能用在Windows 2000 Server上)。通用語言的基本庫,消息機(jī)制,數(shù)據(jù)接口的處理都能無縫的整合到ASP.net的Web應(yīng)用中。ASP.net同時也是language-independent語言獨(dú)立化的,所以,你可以選擇一種最適合你的語言來編寫你的程序,或者把你的程序用很多種語言來寫,現(xiàn)在已經(jīng)支持的有C#(C++和Ja

20、va的結(jié)合體),VB,Jscript。將來,這樣的多種程序語言協(xié)同工作的能力保護(hù)您現(xiàn)在的基于COM+開發(fā)的程序,能夠完整的移植向ASP.net。</p><p>  ASP.net使用一種字符基礎(chǔ)的,分級的配置系統(tǒng),使你服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡單。因?yàn)榕渲眯畔⒍急4嬖诤唵挝谋局?,新的設(shè)置有可能都不需要啟動本地的管理員工具就可以實(shí)現(xiàn)。這種被稱為"Zero Local Administration&

21、quot;的哲學(xué)觀念使Asp.net的基于應(yīng)用的開發(fā)更加具體,和快捷。一個ASP.net的應(yīng)用程序在一臺服務(wù)器系統(tǒng)的安裝只需要簡單的拷貝一些必須得文件,不需要系統(tǒng)的重新啟動,一切就是這么簡單。多處理器環(huán)境的可靠性 ASP.net已經(jīng)被刻意設(shè)計(jì)成為一種可以用于多處理器的開發(fā)工具,它在多處理器的環(huán)境下用特殊的無縫連接技術(shù),將很大的提高運(yùn)行速度。即使你現(xiàn)在的ASP.net應(yīng)用軟件是為一個處理器開發(fā)的,將來多處理器運(yùn)行時不需要任何改變都能提高他

22、們的效能,但現(xiàn)在的ASP確做不到這一點(diǎn)。自定義性和可擴(kuò)展性 ASP.net設(shè)計(jì)時考慮了讓網(wǎng)站開發(fā)人員可以在自己的代碼中自己定義"plug-in"的模塊。這與原來的包含關(guān)系不同,ASP.net可以加入自己定義的如何組件。網(wǎng)站程序的開發(fā)從來沒有這么簡單過。安全性基于Windows認(rèn)證技術(shù)和每應(yīng)用程序配置,你可以確性你的原程序時絕對安</p><p>  2.2 Visual Studio簡介&l

23、t;/p><p>  Visual Studio 是微軟公司推出的開發(fā)環(huán)境。是目前最流行的 Windows 平臺應(yīng)用程序開發(fā)環(huán)境。目前已經(jīng)開發(fā)到 9.0 版本,也就是 Visual Studio 2008。 </p><p>  Visual Studio 可以用來創(chuàng)建 Windows 平臺下的 Windows 應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和 Office

24、插件。</p><p>  2005 年,微軟發(fā)布了 Visual Studio 2005。.NET 字眼從各種語言的名字中被抹去,但是這個版本的 Visual Studio 仍然還是面向 .NET 框架的(版本2.0)。它同時也能開發(fā)跨平臺的應(yīng)用程序,如開發(fā)使用微軟操作系統(tǒng)的手機(jī)的程序等??傮w來說是一個非常龐大的軟件,甚至包含代碼測試功能。</p><p>  2.3 SQL介紹<

25、;/p><p>  SQL全稱是“結(jié)構(gòu)化查詢語言(Structured Query Language)”</p><p>  SQL(Structured Query Language)是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。</p><p>  SQL同時也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。</p><p>  

26、SQL是高級的非過程化編程語言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。他不要求用戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng)可以使用相同的SQL語言作為數(shù)據(jù)輸入與管理的接口。它以記錄集合作為操作對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語句可以嵌套,這使他具有極大的靈活性和強(qiáng)大的功能,在多數(shù)情況下,在其

27、他語言中需要一大段程序?qū)崿F(xiàn)的功能只需要一個SQL語句就可以達(dá)到目的,這也意味著用SQL語言可以寫出非常復(fù)雜的語句。</p><p>  結(jié)構(gòu)化查詢語言(Structured Query Language)最早是IBM的圣約瑟研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫管理系統(tǒng)SYSTEM R開發(fā)的一種查詢語言,它的前身是SQUARE語言。SQL語言結(jié)構(gòu)簡潔,功能強(qiáng)大,簡單易學(xué),所以自從IBM公司1981年推出以來,SQL語言得到了廣

28、泛的應(yīng)用。如今無論是像Oracle、Sybase、Informix、SQL Server這些大型的數(shù)據(jù)庫管理系統(tǒng),還是像Visual Foxporo、PowerBuilder這些PC上常用的數(shù)據(jù)庫開發(fā)系統(tǒng),都支持SQL語言作為查詢語言。</p><p>  美國國家標(biāo)準(zhǔn)局(ANSI)與國際標(biāo)準(zhǔn)化組織(ISO)已經(jīng)制定了SQL標(biāo)準(zhǔn)。ANSI是一個美國工業(yè)和商業(yè)集團(tuán)組織,負(fù)責(zé)開發(fā)美國的商務(wù)和通訊標(biāo)準(zhǔn)。ANSI同時也是

29、ISO和International Electrotechnical Commission(IEC)的成員之一。ANSI 發(fā)布與國際標(biāo)準(zhǔn)組織相應(yīng)的美國標(biāo)準(zhǔn)。1992年,ISO和IEC發(fā)布了SQL國際標(biāo)準(zhǔn),稱為SQL-92。ANSI隨之發(fā)布的相應(yīng)標(biāo)準(zhǔn)是ANSI SQL-92。ANSI SQL-92有時被稱為ANSI SQL。盡管不同的關(guān)系數(shù)據(jù)庫使用的SQL版本有一些差異,但大多數(shù)都遵循 ANSI SQL 標(biāo)準(zhǔn)。SQL Server使用AN

30、SI SQL-92的擴(kuò)展集,稱為T-SQL,其遵循ANSI制定的 SQL-92標(biāo)準(zhǔn)。</p><p>  假設(shè)你是在SQL操作Microsoft SQL Sever 的數(shù)據(jù)庫。你也可以用SQL操作許多其它類型的數(shù)據(jù)庫。SQL是操作數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。(事實(shí)上,關(guān)于SQL語言有一個專門的ANSI標(biāo)準(zhǔn)〕  注意 不要在你的站點(diǎn)上試圖用Microsoft Access代替Microsoft SQL Sever。SQL S

31、ever可以同時服務(wù)于許多用戶,如果你希望你的站點(diǎn)有較高的訪問率,MS Access是不能勝任的。   在學(xué)習(xí)SQL的細(xì)節(jié)之前,你需要理解它的兩大特點(diǎn)。一個特點(diǎn)容易掌握,另一個掌握起來有點(diǎn)困難。 第一個特點(diǎn)是所有SQL數(shù)據(jù)庫中的數(shù)據(jù)都存儲在表中。一個表由行和列組成。一個數(shù)據(jù)表可以有幾十個記錄,也可以有幾千甚至幾十億個記錄。雖然你也許永遠(yuǎn)不需要存儲十億個Email地址,但知道你能這樣做總是好的,也許有一天你會有這樣的需要。 你的數(shù)據(jù)庫很有

32、可能包含幾十個表,所有存儲在你數(shù)據(jù)庫中的信息都被存儲在這些表中。當(dāng)你考慮怎樣把信息存儲在數(shù)據(jù)庫中時,你應(yīng)該考慮怎樣把它們存儲在表中。 SQL的第二個特點(diǎn)有些難于掌握。這種語言被設(shè)計(jì)為不允許你按照某種特定的順序來取出記錄,因?yàn)檫@樣做會降低SQL Sev</p><p>  2.4 C#語言介紹</p><p>  C#(讀做 "C sharp",中文譯音暫時沒有.專業(yè)人

33、士一般讀"C sharp",現(xiàn)在很多非專業(yè)一般讀"C井"。C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NET Framework之上的高級程序設(shè)計(jì)語言。并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運(yùn)行的過程。但是C#與Java

34、有著明顯的不同,它借鑒了Delphi的一個特點(diǎn),與COM(組件對象模型)是直接集成的,而且它是微軟公司.NET windows網(wǎng)絡(luò)框架的主角。</p><p>  C#是一種安全的、穩(wěn)定的、簡單的,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。它在繼承C和C++強(qiáng)大功能的同時去掉了一些它們的復(fù)雜特性(例如沒有宏和模版,不允許多重繼承)。C#綜合了VB簡單的可視化操作和C++的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語法

35、風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言。</p><p>  并且C#成為ECMA與ISO標(biāo)準(zhǔn)規(guī)范。C#看似基于C++寫成,但又融入其它語言如Delphi、Java、VB等。</p><p>  在本文中,我將考察創(chuàng)建一種新計(jì)算機(jī)語言的一般動機(jī),并將特別指明是什么原因?qū)е铝薈#的出現(xiàn).然后我將介紹C#和它與Java,c,c++的相似之處.其次我將討論一些存

36、在于Java和C#之間的高層次的,和基礎(chǔ)的差別.我將以衡量在用多種語言開發(fā)大型應(yīng)用程序的時候所需的知識(或者對這種知識的缺乏程度)來結(jié)束本文,而這正是.NET和C#的一個主要戰(zhàn)略.目前,C#和.NET還只能以C#語言規(guī)則,以及Windows 2000的一個"d預(yù)覽版本",還有MSDN上迅速增多的文檔集子的形式獲得(還沒有最終定型). </p><p>  微軟c#語言定義主要是從C和C++繼承

37、而來的,而且語言中的許多元素也反映了這一點(diǎn).C#在設(shè)計(jì)者從C++繼承的可選選項(xiàng)方面比Java要廣泛一些(比如說struts),它還增加了自己新的特點(diǎn)(比方說源代碼版本定義).但它還太不成熟,不可能擠垮Java.C#還需要進(jìn)化成一種開發(fā)者能夠接受和采用的語言.而微軟當(dāng)前為它的這種新語言大造聲勢也是值得注意的.目前大家的反應(yīng)是:"這是對Java的反擊." </p><p>  C#從C和C++繼承

38、的特點(diǎn):編譯:程序直接編譯成標(biāo)準(zhǔn)的二進(jìn)制可執(zhí)行形式.但C#的源程序并不是被編譯成二進(jìn)制可執(zhí)行形式,而是一中中間語言,類似于JAVA字節(jié)碼。如果前面的Hello World程序被保存成一個文本文件并被命名為Hello.cs,它將被編譯成命名Hello.exe的可執(zhí)行程序.</p><p>  當(dāng)人們訪問Usenet或一些新聞組時,會有一些諸如新語言和平臺有效性之類的問題。什么時間和努力能解決這些問題呢?當(dāng)然,如沒有

39、牢固的事實(shí)和有說服力的證據(jù),即使是最有幫助的響應(yīng)者,權(quán)威機(jī)構(gòu)也會對他的斷言持保留意見。我沒有參加今年的專業(yè)開發(fā)者會議(PDC),因此我的發(fā)現(xiàn)都是基于那些與會者的反饋。 </p><p>  人們對微軟過去幾周的大肆宣傳,最基本的錯誤理解就是C#只是Visual C 的改進(jìn)版本。完全不是這么回事。C#和Java沒有直接聯(lián)系。它的特征設(shè)定是從Java獲得的靈感。它的語法同Java一樣,源自C和C ,但它的執(zhí)行是完全新

40、的,只依靠.NET結(jié)構(gòu)。 </p><p>  C#也并非字節(jié)碼(bytecode)。微軟一位員工羅伯特.舒密特詳細(xì)描述道:“C#編譯程序產(chǎn)生的是‘微軟中間語言’(MSIL)……但虛擬機(jī)或其他類似的技術(shù)則不能用于解釋這種中間語言(IL)。相反地,每當(dāng)應(yīng)用程序載入或JIT編譯程序需要編譯它時,IL就會被轉(zhuǎn)換成本地代碼。一旦這種轉(zhuǎn)換完成,可以執(zhí)行的代碼實(shí)際上是本地代碼?!睂?shí)質(zhì)上,雖然這種方案有點(diǎn)像Java程序通過一個

41、JIL編譯程序,但這里最終的JIT編譯是100%的本地代碼,而Java的JIT產(chǎn)生的結(jié)果是不同的。 </p><p><b>  C#的弱點(diǎn) </b></p><p>  這個方案也暴露了微軟對C#和.NET介紹中的一些有趣的漏洞。MSIL是.NET提供的一個新特性,允許很流行的程序設(shè)計(jì)語言編譯到一個單獨(dú)的公用語言。(.NET支持的語言種類是相當(dāng)驚人的)。這些語言都要

42、服從一種叫“通用語言規(guī)范(CLS)”的構(gòu)架。微軟稱之為“CLS兼容語言和類庫之間可互操作的通用語言”。 </p><p>  編譯所有的語言到一個單一的公用語言上,能讓“繼承”通過多重語言真正執(zhí)行。這輕而易舉的掃除了C#可能遇到的錯誤概念。.NET組件使用COM的IDispatch,它只允許接口執(zhí)行。它比先前C#被評定為一種OOP語言的看法容易接受得多。它在程序設(shè)計(jì)上或許像Java一樣是面向?qū)ο蟮摹?</p

43、><p>  但不幸的是CLS這種包括MSIL的共享語言基礎(chǔ),只讓RAD開發(fā)者受益,而損害了硬件的核心開發(fā)者,有人認(rèn)為創(chuàng)造一種新程序設(shè)計(jì)語言的目的就是有能力充分運(yùn)用它和服務(wù)于可微調(diào)的執(zhí)行能力,這一點(diǎn)在CLS世界里是做不到的。老實(shí)說,加速充分利用從來不是許多語言的唯一目標(biāo)。許多語言的唯一目標(biāo)(最矚目的是像Visual Basic和Java的RAD語言)是加速和美化開發(fā)和展開能力,而不僅僅是運(yùn)行時刻的速度。 </p

44、><p>  C#將把微軟領(lǐng)向何方就一目了然了。因?yàn)樗许?xiàng)目編寫會只依靠MSIL和CLS JIT編譯程序。這樣C#或任何MSIL前端語言比Java任何時候都快。但很不幸,程序設(shè)計(jì)和編譯程序級的優(yōu)化不能在非微軟的平臺上充分利用,想在非Windows平臺上展開.NET,再充分運(yùn)用它們也是不現(xiàn)實(shí)的。</p><p><b>  3 總體設(shè)計(jì)</b></p><

45、;p><b>  3.1 項(xiàng)目規(guī)劃</b></p><p>  該網(wǎng)站是一個功能比較完善的新聞類網(wǎng)站,由客戶前臺瀏覽系統(tǒng)和后臺管理兩大部分組成。</p><p>  前臺功能模塊:前臺主要包括新聞分類、顯示新聞詳細(xì)信息、新聞信息查詢、提供后臺登錄口。</p><p>  后臺管理模塊:后臺主要包括后臺總管理員設(shè)置及密碼修改、添加管理員、管

46、理員信息設(shè)置、新聞類型管理、新聞詳細(xì)類型管理、新聞信息管理、退出后臺。</p><p>  3.2 系統(tǒng)功能結(jié)構(gòu)圖</p><p>  新聞發(fā)布系統(tǒng)前臺功能結(jié)構(gòu),如圖3.1所示。</p><p>  圖3.1 新聞網(wǎng)前臺功能結(jié)構(gòu)圖</p><p>  新聞網(wǎng)后臺功能結(jié)構(gòu),如圖3.2所示。</p><p>  圖3.2

47、 新聞網(wǎng)后臺功能結(jié)構(gòu)圖</p><p><b>  4 系統(tǒng)設(shè)計(jì)</b></p><p><b>  4.1 設(shè)計(jì)目標(biāo)</b></p><p>  隨著計(jì)算機(jī)技術(shù)的發(fā)展,網(wǎng)絡(luò)技術(shù)對我們生活和工作顯得越來越重要,特別是信息高度發(fā)達(dá)的今天,人們對最新信息的需求依賴于信息發(fā)布的及時性,而動態(tài)交互式網(wǎng)頁剛好提供了這些功能。HT

48、ML作為一種樣式語言,出現(xiàn)了在Internet上信息量的增多和交互性的加強(qiáng)使HTML顯得越來越難以勝任的情況,在ASP編程語言高度發(fā)展的形式下,我們開始了對新聞發(fā)布系統(tǒng)的開發(fā)。</p><p>  傳統(tǒng)的網(wǎng)站新聞管理方式有兩種,一是靜態(tài)HTML頁面,更新信息時需要重新制作頁面然后上傳頁面并修改相應(yīng)鏈接,這種方式因?yàn)樾侍鸵巡欢嘤?。二是基于ASP.NET,將動態(tài)網(wǎng)頁和數(shù)據(jù)庫結(jié)合,通過應(yīng)用程序來處理新聞,這是目前較

49、為流行的做法。人們對最新信息的需求和發(fā)布迫切的需要及時性,而動態(tài)交互式網(wǎng)頁剛好提供了這些功能,本系統(tǒng)就是一個能夠在網(wǎng)上實(shí)現(xiàn)新聞的網(wǎng)上多用戶發(fā)布,多欄目管理,實(shí)時的進(jìn)行行為統(tǒng)計(jì)和記錄的網(wǎng)上交互系統(tǒng)。</p><p>  本網(wǎng)站是根據(jù)各行業(yè)新聞信息分類進(jìn)行開發(fā)設(shè)計(jì)的,主要實(shí)現(xiàn)如下目標(biāo):</p><p>  分類展示各行業(yè)新聞。</p><p>  顯示新聞的詳細(xì)信息。&

50、lt;/p><p>  設(shè)置新聞搜索功能模塊。</p><p>  4.2 開發(fā)及運(yùn)行環(huán)境</p><p><b>  硬件平臺:</b></p><p>  CPU:P3以上電腦</p><p>  內(nèi)存:128MB以上。</p><p><b>  軟件平臺:&

51、lt;/b></p><p>  操作系統(tǒng):Windows XP;</p><p>  數(shù)據(jù)庫:SQL Server 2000;</p><p>  開發(fā)工具包:VS2005;</p><p><b>  瀏覽器:IE6.0</b></p><p>  分辨率:最佳效果1024*768像素。

52、</p><p>  4.3 邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  本系統(tǒng)數(shù)據(jù)庫采用SQL server 2000數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為db_news。數(shù)據(jù)庫db_news中具體表和內(nèi)容詳情后面會有顯示</p><p><b>  5 網(wǎng)站總體架構(gòu)</b></p><p>  5.1 網(wǎng)站首頁的運(yùn)行結(jié)果</p&

53、gt;<p>  網(wǎng)站前臺首頁的運(yùn)行結(jié)果如圖5.1所示。</p><p>  圖5.1 網(wǎng)站前臺首頁運(yùn)行結(jié)果</p><p>  網(wǎng)站后臺首頁的運(yùn)行結(jié)果如圖5.2所示。</p><p>  圖5.2 網(wǎng)站后臺首頁運(yùn)行結(jié)果</p><p>  6 網(wǎng)站后臺主要功能模塊設(shè)計(jì)</p><p>  6.1

54、 后臺登錄模塊設(shè)計(jì)</p><p>  在新聞發(fā)布系統(tǒng)中,在前臺的頁面底部單擊“后臺入口”超鏈接,即可進(jìn)入到后臺登錄頁面,如圖6.1所示。</p><p>  點(diǎn)擊前臺底部的后臺入口</p><p>  圖6.1 后臺登錄頁面</p><p><b>  后臺登陸代碼如下:</b></p><p>

55、;<b>  登陸代碼:</b></p><p>  public int checkLogin(string loginName, string loginPwd)</p><p><b>  {</b></p><p>  SqlConnection myConn = GetConnection();</p>

56、;<p>  SqlCommand myCmd = new SqlCommand("select count(*) from tb_User where Name=@loginName and PassWord=@loginPwd", myConn);</p><p>  myCmd.Parameters.Add(new SqlParameter("@loginName

57、", SqlDbType.VarChar, 20));</p><p>  myCmd.Parameters["@loginName"].Value = loginName;</p><p>  myCmd.Parameters.Add(new SqlParameter("@loginPwd", SqlDbType.VarChar, 50)

58、);</p><p>  myCmd.Parameters["@loginPwd"].Value = loginPwd;</p><p>  myConn.Open();</p><p>  int i = (int)myCmd.ExecuteScalar();</p><p>  myCmd.Dispose();<

59、/p><p>  myConn.Close();</p><p><b>  return i;</b></p><p>  }………………………………………………….</p><p><b>  隨機(jī)生成驗(yàn)證碼:</b></p><p>  /// <summary>

60、;</p><p>  /// 實(shí)現(xiàn)隨機(jī)驗(yàn)證碼</p><p>  /// </summary></p><p>  /// <param name="n">顯示驗(yàn)證碼的個數(shù)</param></p><p>  /// <returns>返回生成的隨機(jī)數(shù)</return

61、s></p><p>  public string RandomNum(int n) //</p><p><b>  {</b></p><p>  //定義一個包括數(shù)字、大寫英文字母和小寫英文字母的字符串</p><p>  string strchar = "0,1,2,3,4,5,6,7,8,9

62、,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";</p><p>  //將strchar字符串轉(zhuǎn)化為數(shù)組</p><p>  //String.Split 方法返回包含此實(shí)例中的子字符串(由指定Char數(shù)組的元素分隔

63、)的 String 數(shù)組。</p><p>  string[] VcArray = strchar.Split(',');</p><p>  string VNum = "";</p><p>  //記錄上次隨機(jī)數(shù)值,盡量避免產(chǎn)生幾個一樣的隨機(jī)數(shù) </p><p>  int te

64、mp = -1; </p><p>  //采用一個簡單的算法以保證生成隨機(jī)數(shù)的不同</p><p>  Random rand = new Random();</p><p>  for (int i = 1; i < n + 1; i++)</p><p><b>  {<

65、/b></p><p>  if (temp != -1)</p><p><b>  {</b></p><p>  //unchecked 關(guān)鍵字用于取消整型算術(shù)運(yùn)算和轉(zhuǎn)換的溢出檢查。</p><p>  //DateTime.Ticks 屬性獲取表示此實(shí)例的日期和時間的刻度數(shù)。</p><

66、p>  rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));</p><p><b>  }</b></p><p>  //Random.Next 方法返回一個小于所指定最大值的非負(fù)隨機(jī)數(shù)。</p><p>  int t = rand.Next(61);&l

67、t;/p><p>  if (temp != -1 && temp == t)</p><p><b>  { </b></p><p>  return RandomNum(n);</p><p><b>  }</b></p><p><b>  t

68、emp = t;</b></p><p>  VNum += VcArray[t];</p><p><b>  }</b></p><p>  return VNum;//返回生成的隨機(jī)數(shù)</p><p><b>  }</b></p><p><b>

69、;  登陸驗(yàn)證代碼:</b></p><p>  public partial class AdminManage_Login : System.Web.UI.Page</p><p><b>  {</b></p><p>  CommonClass CC = new CommonClass();</p><p

70、>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (!IsPostBack)</p><p><b>  {</b></p><p>  this.labCode.T

71、ext =CC.RandomNum(4);//產(chǎn)生驗(yàn)證碼</p><p><b>  }</b></p><p><b>  }</b></p><p>  protected void btnLogin_Click(object sender, EventArgs e)</p><p><b

72、>  {</b></p><p>  if (txtAdminName.Text.Trim() == "" || txtAdminPwd.Text.Trim() == "")</p><p><b>  {</b></p><p>  Response.Write(CC.MessageB

73、ox("登錄名和密碼不能為空!", "Login.aspx"));</p><p>  //Response.Write("<script>alert('登錄名和密碼不能為空!');location='javascript:history.go(-1)';</script>");</p>

74、<p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  //判斷用戶輸入的驗(yàn)證碼是否正確</p><p>  if (txtAdminCode.Text.Trim() == labC

75、ode.Text.Trim())</p><p><b>  {</b></p><p>  //調(diào)用CommonClass類中的checkLogin方法,判斷用戶是否為合法用戶</p><p>  int IntUserIn = CC.checkLogin(txtAdminName.Text.Trim(), txtAdminPwd.Text.

76、Trim());</p><p>  if (IntUserIn > 0)</p><p><b>  {</b></p><p>  //該用戶為合法用戶,跳轉(zhuǎn)到后臺首頁(AdminIndex.aspx)中</p><p>  Response.Write("<script language=ja

77、vascript>window.open('AdminIndex.aspx');window.close();</script>");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b>

78、;</p><p>  //該用戶不是合法用戶,調(diào)用CommonClass類中的MassageBox方法,彈出提示框</p><p>  Response.Write(CC.MessageBox("您輸入的用戶名或密碼錯誤,請重新輸入!", "Login.aspx"));</p><p><b>  }</b&

79、gt;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Write(CC.MessageBox("驗(yàn)證碼輸入有誤,請重新輸入!", "

80、;Login.aspx"));</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  6.2 管理員設(shè)置模塊設(shè)計(jì)</p><p>  管理員在數(shù)據(jù)庫中是惟一

81、的,總管理員的信息在頁面中不會顯示出來,在此頁面中只能修改自己的密碼及對普通管理員進(jìn)行設(shè)置。</p><p>  用戶單擊“管理員設(shè)置”超鏈接,進(jìn)入總管理員設(shè)置頁面。系統(tǒng)首先對用戶輸入的賬戶和密碼進(jìn)行核對。因?yàn)椴⒉皇撬械墓芾韱T都能夠有這個權(quán)利,所以在SQL語句中應(yīng)體現(xiàn)惟一性的條件,樣式層所要調(diào)用的類是ActionForm,跟用戶登錄時調(diào)用的actionForm是同一個類,在這里就不做介紹了。</p>

82、<p>  6.2.1 對管理員的查詢操作</p><p>  總管理員登錄成功后,系統(tǒng)將對除了總管理員以外的所有普通管理員進(jìn)行查詢操作。此時頁面運(yùn)行結(jié)果如圖6.2所示。</p><p>  圖6.2 管理員查詢功能</p><p><b>  代碼如下:</b></p><p>  public voi

83、d bind()</p><p><b>  {</b></p><p>  this.gvEditMember.DataSource = CC.GetDataSet("select * from tb_User order by ID", "tbUser");</p><p>  this.gvEdit

84、Member.DataKeyNames=new string []{"ID"};</p><p>  this.gvEditMember.DataBind();</p><p><b>  }</b></p><p>  6.2.2添加,刪除,修改管理員</p><p>  圖6.3 更新管理員的名稱

85、和密碼</p><p><b>  修改管理員代碼:</b></p><p>  protected void gvEditMember_RowEditing(object sender, GridViewEditEventArgs e)</p><p><b>  {</b></p><p>  

86、gvEditMember.EditIndex = e.NewEditIndex;</p><p><b>  bind();</b></p><p>  圖6.4 添加管理員</p><p><b>  添加管理員代碼:</b></p><p>  protected void gvEditMemb

87、er_RowUpdating(object sender, GridViewUpdateEventArgs e)</p><p><b>  {</b></p><p>  int IntAdminID = Convert.ToInt32(gvEditMember.DataKeys[e.RowIndex].Value.ToString());</p>&

88、lt;p>  string strAdmin = ((TextBox)(gvEditMember.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString();</p><p>  string strPassword = ((TextBox)(gvEditMember.Rows[e.RowIndex].Cells[2].Controls[0])).Text

89、.ToString();</p><p>  CC.ExecSQL("Update tb_User set Name='" + strAdmin + "',PassWord='" + strPassword + "' where ID='" + IntAdminID + "'");<

90、;/p><p>  gvEditMember.EditIndex = -1;</p><p><b>  bind();</b></p><p><b>  }</b></p><p><b>  刪除管理員代碼:</b></p><p>  protect

91、ed void gvEditMember_RowDeleting(object sender, GridViewDeleteEventArgs e)</p><p><b>  {</b></p><p>  int IntAdminID = Convert.ToInt32(gvEditMember.DataKeys[e.RowIndex].Value.ToStrin

92、g());</p><p>  CC.ExecSQL("Delete from tb_User where ID='" + IntAdminID + "'");</p><p><b>  bind();</b></p><p><b>  }</b></p&g

93、t;<p><b>  }</b></p><p>  管理員在修改信息之前,可以查看以前的信息,這樣可以方便用戶進(jìn)行信息修改。</p><p>  6.3 新聞管理系統(tǒng)</p><p>  在后臺管理系統(tǒng)內(nèi),新聞管理是最重要的一環(huán)。新聞管理系統(tǒng)包括了新聞的添加,新聞的編輯和新聞的刪除。其中各個分類的新聞都有各自的新聞管理系統(tǒng)。

94、</p><p><b>  新聞的添加:</b></p><p>  圖6.5 新聞添加界面</p><p><b>  后臺代碼:</b></p><p>  public partial class manage_fzAdd : System.Web.UI.Page</p>&l

95、t;p><b>  {</b></p><p>  CommonClass CC = new CommonClass();</p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><

96、;p>  //使用Request對象獲取頁面?zhèn)鬟f的值</p><p>  //使用switch語句,獲取添加的新聞類別名</p><p>  switch (Convert.ToInt32(Request["id"].ToString()))</p><p><b>  {</b></p><p&g

97、t;<b>  case 1:</b></p><p>  this.labTitle.Text = "時政要聞";</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  this.labT

98、itle.Text = "經(jīng)濟(jì)動向";</p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  this.labTitle.Text = "世界軍事";</p><p><b>  b

99、reak;</b></p><p><b>  case 4:</b></p><p>  this.labTitle.Text = "科學(xué)教育";</p><p><b>  break;</b></p><p><b>  case 5:</b&g

100、t;</p><p>  this.labTitle.Text = "法治道德";</p><p><b>  break;</b></p><p><b>  case 6:</b></p><p>  this.labTitle.Text = "社會現(xiàn)象"

101、;</p><p><b>  break;</b></p><p><b>  case 7:</b></p><p>  this.labTitle.Text = "體育世界";</p><p><b>  break;</b></p>&

102、lt;p><b>  case 8:</b></p><p>  this.labTitle.Text = "時尚娛樂";</p><p><b>  break;</b></p><p><b>  default:</b></p><p>  th

103、is.labTitle.Text = "";</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  protected void btnAdd_Click(obj

104、ect sender, EventArgs e)</p><p><b>  {</b></p><p>  //調(diào)用CommonClass類的ExecSQL方法,將填寫的新聞信息添加到數(shù)據(jù)庫中</p><p>  CC.ExecSQL("INSERT INTO tb_News( Title, Content, Style, Type

105、, IssueDate)VALUES ('" + this.txtNewsTitle.Text.Trim() + "', '" + this.txtNewsContent.Text.Trim() + "', '" + this.labTitle.Text.Trim()+ "', '" + this.ddlNews

106、Type.SelectedValue.ToString() + "', '" + DateTime.Now.ToString("yyyy-MM-dd") + "')");</p><p>  //調(diào)用CommonClass類的MessageBox方法,彈出提示框,提示用戶添加成功</p><p>  Res

107、ponse.Write(CC.MessageBox("添加成功!"));</p><p><b>  }</b></p><p>  protected void btnReset_Click(object sender, EventArgs e)</p><p><b>  {</b></p&g

108、t;<p>  this.txtNewsContent.Text = "";</p><p>  this.txtNewsTitle.Text = "";</p><p><b>  }</b></p><p>  新聞的編輯和刪除有點(diǎn)類似管理員的編輯和刪除。但為了便于處理大量數(shù)據(jù)時方便找到

109、所要編輯的新聞,因此還在頁面中添加了搜索關(guān)鍵字的功能。搜索功能類似于首頁中的搜索功能。</p><p>  圖6.6 新聞的編輯和刪除</p><p>  新聞編輯的后臺代碼:</p><p>  public partial class manage_govEdit : System.Web.UI.Page</p><p><b>

110、;  {</b></p><p>  CommonClass CC = new CommonClass();</p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (!Is

111、PostBack)</p><p><b>  {</b></p><p>  //調(diào)用CommonClass類中的GetDataSet獲取數(shù)據(jù)集</p><p>  DataSet ds = CC.GetDataSet("select * from tb_News where id='" + Request.Que

112、ryString["id"] + "'", "tbNews");</p><p>  DataRow[] row = ds.Tables["tbNews"].Select();</p><p>  foreach (DataRow rs in row)</p><p><b

113、>  {</b></p><p>  //顯示編輯的新聞類別名</p><p>  this.txtNewsTitle.Text = rs["title"].ToString();</p><p>  //顯示編輯的新聞內(nèi)容</p><p>  this.txtNewsContent.Text = rs[

114、"content"].ToString();</p><p>  //顯示編輯的新聞標(biāo)題</p><p>  this.labTitle.Text = rs["Style"].ToString();</p><p>  //顯示編輯的新聞類型</p><p>  switch (rs["typ

115、e"].ToString())</p><p><b>  {</b></p><p>  case "國內(nèi)新聞":</p><p>  this.ddlNewsType.SelectedIndex =1;</p><p><b>  break;</b></p&

116、gt;<p>  case "國際新聞":</p><p>  this.ddlNewsType.SelectedIndex =0;</p><p><b>  break;</b></p><p><b>  default:</b></p><p><b&

117、gt;  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  prot

118、ected void btnSave_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  CC.ExecSQL("UPDATE tb_News SET Title = '"+this.txtNewsTitle.Text+"', Content =

119、'"+this.txtNewsContent.Text+"', Style = '"+this.labTitle.Text.Trim()+"', Type = '"+this.ddlNewsType.SelectedValue.ToString()+"' WHERE (ID = '"+Request.QueryS

120、tring["id"]+"')");</p><p>  Response.Write(CC.MessageBox("數(shù)據(jù)修改成功!","list.aspx"));</p><p><b>  }</b></p><p><b>  6.4 總結(jié)

121、</b></p><p>  對新聞信息管理的操作,主要應(yīng)用到添加、刪除、修改和查詢的功能,在本小節(jié)反復(fù)的應(yīng)用到這四種sql語句,只是條件上的不同。</p><p>  7 網(wǎng)站前臺主要功能模塊設(shè)計(jì)</p><p>  7.1 今日新聞的顯示</p><p>  這個功能就是當(dāng)天的新聞的查看,主要用到了sql語句中的selec

122、t語句,查詢的條件是以時間為主,所用到的actionForm是后臺新聞中的樣式層的代碼。這里就不做介紹了。</p><p>  圖7.1 新聞的顯示</p><p>  在主頁面顯示新聞的前臺代碼:</p><p>  <tr style ="font-size :9pt;height: 136px; width :397px">&

123、lt;/p><p>  <td style="margin-top: 0px; padding-top: 0px; width: 141px; " align="center"></p><p>  &nbsp;<asp:Image ID="Image1" runat="server"

124、 Height="79px" ImageUrl="~/Images/圖片時政要聞.jpg" Width="86px" /></p><p><b>  </td></b></p><p>  <td style="font-size :9pt;width :240px&quo

125、t;></p><p>  <asp:DataList ID="dlJJ" runat="server" OnItemCommand="dlJJ_ItemCommand" BackColor="White"></p><p>  <ItemTemplate></p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論