预览加载失败,请重新加载试试~
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 引 言</b></p><p> ASP.NET是微軟公司最新推出的一種統(tǒng)一Web開發(fā)平臺,與最新的數(shù)據(jù)訪問技術ADO.NET一起可構建出強大、安全和可靠的企業(yè)級Web應用程序。ASP.NET的語法在很大程度上與ASP兼容,同時它還提供一種新的編程模型和結(jié)構,用于生成更安全、可伸縮和穩(wěn)定的應用程序。</p><p> 采取了ASP.
2、NET技術的系統(tǒng)在性能上有了很大的改善,主要表現(xiàn)在以下幾方面: </p><p> ● 由于ASP頁面每次打開都必須經(jīng)過先編譯后解釋的過程,所以頁面在反復打開時速度沒有任何提升,而ASP.NET頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或Web應用程序重新啟動。這使得在多次訪問時速度有了極大的提升;</p><p> ● 由于ASP沒有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用
3、ASP撰寫數(shù)據(jù)庫頁面時只能借助ADO的RecordSet對象逐筆讀取記錄,而ASP.NET通過ADO.NET提供的DataGrid等數(shù)據(jù)庫元件可以直接和數(shù)據(jù)庫聯(lián)系;</p><p> ● ASP.NET支持應用程序的實時更新,管理員不必關掉網(wǎng)絡服務器或者甚至不用停止應用程序的運行就可以更新應用文件。應用程序文件永遠不會被加鎖,因此甚至在程序運行時文件就可以被覆蓋,當文件更新后,系統(tǒng)會溫和地轉(zhuǎn)換到新的版本;<
4、;/p><p> ●ASP.NET采取"CodeBehind(代碼分離)技術"方式編寫代碼使得代碼更易于編寫,結(jié)構更清晰,降低了系統(tǒng)開發(fā)與維護的復雜度和費用。</p><p> 因為ASP.NET是基于通用語言的編譯運行的程序,所以它的強大性和適應性,可以使它運行在Web應用軟件開發(fā)者的幾乎全部的平臺上通用語言的基本庫,消息機制,數(shù)據(jù)接口的處理都能無縫的整合到ASP.n
5、et的Web應用中。ASP.net同時也是language-independent語言獨立化的,所以,你可以選擇一種最適合你的語言來編寫你的程序,或者把你的程序用很多種語言來寫,現(xiàn)在已經(jīng)支持的有C#,VB,Jscript。將來,這樣的多種程序語言協(xié)同工作的能力保護您現(xiàn)在的基于COM+開發(fā)的程序,能夠完整的移植向ASP.net。</p><p><b> 第一章 研究背景</b></p
6、><p> 1. 1 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢</p><p> 傳統(tǒng)的網(wǎng)站新聞管理方式有兩種:一種是靜態(tài)HTML頁面,更新信息時需要重新制作頁面然后上傳頁面并修改相應鏈接,這種方式因為效率太低已不多用;另一種是基于ASP和腳本語言,將動態(tài)網(wǎng)頁和數(shù)據(jù)庫結(jié)合,通過應用程序來處理新聞,這是目前較為流行的做法。但是由于ASP技術本身的局限性使得系統(tǒng)有一些不可克服的缺陷。</p>&
7、lt;p> ASP.NET不僅僅是下一版本的ASP(Active Server Pages,動態(tài)服務器頁面),而且是建立動態(tài)Web應用程序而重新打造的全新技術,其主要特色包括:</p><p><b> ● 語言的獨立性;</b></p><p> ● 簡單的開發(fā)操作,分離程序代碼和網(wǎng)頁內(nèi)容;</p><p> ● 提高了執(zhí)行效率
8、;</p><p> ● 簡化部署與組態(tài)的操作;</p><p> ● 支持客戶端類型;</p><p> ● 支持下一代的Web服務;</p><p><b> ● 增進適用性;</b></p><p><b> ● 增進延展性;</b></p>&
9、lt;p> ● 更多的支持工具;</p><p> ● 更佳的安全機制;</p><p> ● 會話(Session)可以跨進程、跨機器。</p><p> ASP.NET是把基于通用語言的程序在服務器上運行。不像以前的ASP即時解釋程序,而是將程序在服務器端首次運行時進行編譯,這樣的執(zhí)行效果,當然比一條一條的解釋強很多。ASP.NET使運行一些很平常
10、的任務如表單的提交客戶端的身份驗證、分布系統(tǒng)和網(wǎng)站配置變得非常簡單。</p><p> 由于ASP.NET的眾多優(yōu)點,技術發(fā)展和各種客觀實際的需要,該系統(tǒng)選用了ASP.NET來開發(fā)設計,實現(xiàn)了對校園新聞的動態(tài)管理操作,使得對新聞信息的發(fā)布與管理更加及時、高效,提高了工作效率。</p><p> 1. 2 研究目的、意義和范圍</p><p> Interner
11、的蓬勃發(fā)展,使新聞傳播方式發(fā)生了巨大的變化,傳統(tǒng)的信息傳播媒體電視、廣播、報紙已經(jīng)不再是人們茶余飯后的主要精神甜點,人們開始更多的關注網(wǎng)絡新聞。由于互聯(lián)網(wǎng)所容納的信息量大,內(nèi)容豐富,信息及時、準確,更有相關信息的全面介紹與比較,大大的方便了人們的閱讀,因此在短短幾年里,互聯(lián)網(wǎng)便躋身于眾多媒體之中,并具有相當一部分媒體人群。借此東風新聞網(wǎng)也迅速發(fā)展起來,它內(nèi)容豐富,涉及商業(yè)、工業(yè)、農(nóng)業(yè)、銀行、財政、教育、娛樂、和信息等各個產(chǎn)業(yè),信息量大,
12、不僅有時事新聞,還有相關的行業(yè)信息,同時新聞呢網(wǎng)具有互聯(lián)網(wǎng)所具備的一起特征。</p><p> 其次,隨著Internet的普及,越來越多的企業(yè)建立了自己的WWW網(wǎng)站,企業(yè)通過網(wǎng)站可以展示產(chǎn)品,發(fā)布最新動態(tài)信息,與用戶進行交流和溝通,與合作伙伴建立聯(lián)系,以及開展電子商務等。</p><p> 其中新聞管理系統(tǒng)是構成企業(yè)網(wǎng)站的一個重要組成部分,它擔負著雙層作用:</p>&
13、lt;p> 一方面可以用來動態(tài)發(fā)布有關新產(chǎn)品或新開發(fā)項目;</p><p> 另一方面又可以及時向顧客公告企業(yè)經(jīng)營業(yè)績、技術與研發(fā)進展、特別推薦或優(yōu)惠的工程項目、產(chǎn)品和服務,從而吸引顧客,擴大顧客群。</p><p> 該系統(tǒng)使用ASP.NET(C#語言)和ADO.NET技術開發(fā), 實現(xiàn)了網(wǎng)站新聞的動態(tài)管理,使得對信息的管理更加及時、高效,提高了工作效率。該新聞系統(tǒng)具有一般新聞
14、系統(tǒng)的功能,主要包括前臺新聞查看區(qū)和后臺管理區(qū),可為學校各部門發(fā)布新聞,為校園網(wǎng)站提供新聞發(fā)布與管理的服務。</p><p> 該系統(tǒng)是基于B/S(Browser/Server,瀏覽器/客戶端)模式實現(xiàn),基于.NET平臺架構開發(fā)設計,主要實現(xiàn)對校園新聞的發(fā)布與管理功能,對新聞內(nèi)容信息的瀏覽閱讀等。 隨著Internet/Intranet技術的興起,將原本在單機或本地局域網(wǎng)上運行的數(shù)據(jù)庫系統(tǒng)移植到因特網(wǎng)中
15、,即開發(fā)基于B/S模式的新一代MIS(Management Information System,管理信息系統(tǒng))系統(tǒng),正成為技術發(fā)展的趨勢。為了保證系統(tǒng)性能的高效性、可擴展性,以及達到數(shù)據(jù)共享和網(wǎng)絡化管理的目的,本系統(tǒng)采用B/S體系結(jié)構進行設計開發(fā)。</p><p><b> 第二章 課題分析</b></p><p><b> 2.1 需求分析</
16、b></p><p> 該系統(tǒng)的用戶為校園網(wǎng)站,需要經(jīng)常發(fā)布一些新聞,如何能有效地管理和發(fā)布新聞呢?最初用戶的需求為:“該新聞系統(tǒng)具有一般新聞系統(tǒng)的功能,同時具有新聞審核和不同管理員不同管理權限的功能” 。</p><p> 通過對其它一些新聞系統(tǒng)的調(diào)查發(fā)現(xiàn),一般新聞系統(tǒng)功能如下:</p><p> 前臺按分類顯示新聞;</p><p
17、><b> 搜索新聞;</b></p><p><b> 后臺管理:</b></p><p> ● 添加、刪除和修改新聞</p><p> ● 添加、刪除和修改用戶</p><p> ● 添加、刪除和修改新聞分類</p><p><b> ● 添加
18、新聞</b></p><p> (添加成功后的新聞根據(jù)權限分為可發(fā)布新聞和待審核新聞)</p><p> 需要新聞審核,說明添加后的新聞分為兩種:直接發(fā)布新聞和待審核新聞,同時待審核的新聞通過管理員或?qū)徍藛T經(jīng)審核后才可以上傳到網(wǎng)站,管理員有不同的權限,需要有個管理權限的功能,在系統(tǒng)中應該有個超級管理員,具有所有權限,能夠?qū)ο到y(tǒng)進行全面管理,同時管理員可以修改自己的一些信息。
19、</p><p> 根據(jù)校園網(wǎng)站新聞發(fā)布管理的實際需求,在首頁中能顯示最熱門新聞、頭條新聞和最近發(fā)布的幾條新聞等,同時在后臺發(fā)布新聞時可以添加圖片,也可以添加HTML語法,在前臺能自動根據(jù)所顯示的圖片和HTML語法來顯示新聞。</p><p> 在后臺管理中,因為有權限的管理員才能登錄管理后臺,所以需要有個登錄驗證模塊,而且需要根據(jù)用戶權限的不同顯示不同的管理目錄,在管理新聞和用戶時,
20、當數(shù)據(jù)少時管理起來還比較方便,如果一多則想找到某條新聞或某個用戶就很難,所以需要有個查找(新聞標題、用戶)模塊用于查找新聞或用戶。</p><p> 根據(jù)以上需求分析,該系統(tǒng)要實現(xiàn)的主要功能為:</p><p><b> 前臺顯示新聞部分</b></p><p><b> ● 用戶登錄區(qū)</b></p>
21、<p> ● 顯示最熱門的前幾條新聞</p><p> ● 顯示推薦的前幾條新聞</p><p> ● 顯示最新的前幾條新聞</p><p><b> ● 搜索新聞功能</b></p><p> ● 顯示所有新聞分類(即部門)</p><p> ● 按分類/部門顯示其下的所
22、有新聞</p><p> ● 新聞詳細信息瀏覽閱讀</p><p> ● 圖片新聞(自動生成縮略圖)</p><p> ● 網(wǎng)站友情鏈接(可在管理中添加設置)</p><p> ● 網(wǎng)站公告可顯示發(fā)布了新聞沒通過審核的相關通知后臺管理部分</p><p><b> ● 登錄驗證</b>&
23、lt;/p><p> ● 根據(jù)權限顯示相應的管理目錄</p><p> ● 添加、修改和刪除新聞</p><p><b> ● 管理發(fā)布新聞</b></p><p><b> ● 管理審核新聞</b></p><p><b> ● 分類管理</b>
24、</p><p><b> ● 用戶管理</b></p><p> ● 網(wǎng)站風格設置、系統(tǒng)設置等</p><p> 2.2 新聞系統(tǒng)的性能需求</p><p> 該系統(tǒng)在性能功能上應達到如下需求:</p><p> 操作簡單、界面友好: 完全控件式的頁面布局,使得新聞的錄入工作更簡便,許
25、多選項包括新聞分類、來源部門等只需要點擊鼠標就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶隨時清楚自己的操作情況。對常見網(wǎng)站的新聞管理的各個方面:新聞錄入、瀏覽、刪除、修改、搜索等方面都大體實現(xiàn),實現(xiàn)了網(wǎng)站對即時新聞的管理要求;</p><p> 服務個性化系統(tǒng)針對不同級別和不同工作的客戶可提供非常個性化的界面內(nèi)容和界面形式,以滿足客戶的個性化需求。如管理員登錄系統(tǒng)之后,可以只看到系統(tǒng)所有的內(nèi)容。對于有些不必要的
26、細節(jié),系統(tǒng)會自動進行屏蔽。</p><p> 即時可見,對新聞的處理(包括錄入、修改、刪除)將立即在主頁的對應欄目顯示出來,達到“即時發(fā)布、即時見效”的功能。</p><p> 系統(tǒng)運行應該快速、穩(wěn)定、高效和可靠;</p><p> 在結(jié)構上應具有很好的可擴展性和可維護性,便于將來的功能擴展和維護。</p><p> 2.3 運行環(huán)境
27、要求</p><p><b> 2.3.1設備</b></p><p><b> 客戶機硬件要求</b></p><p> 具有 Pentium III 處理器以上且滿足以下要求計算機;</p><p> 最低 64 MB 內(nèi)存,最小 2.1 GB 硬盤。</p><p&
28、gt;<b> 服務器硬件要求</b></p><p> 具有 Pentium III 處理器以上且滿足以下要求計算機;</p><p> 最低 256MB 內(nèi)存,最小 8 GB 硬盤。</p><p><b> 2.3.2支持程序</b></p><p><b> 客戶端<
29、;/b></p><p> 操作系統(tǒng):Windows 98/NT/2000/XP或更高版本</p><p> 瀏覽器:IE 5.0以上或Netscape同等版本以上</p><p><b> 服務器</b></p><p> 操作系統(tǒng):Windows 2000 Server或</p><
30、p> Windows 2003 Server</p><p> Web服務器:MS IIS</p><p> 應用服務器:IIS、COM+等企業(yè)級應用服務器</p><p> 數(shù)據(jù)庫:ACCESS </p><p> 第三章 系統(tǒng)結(jié)構流程</p><p> 3.1 新聞系統(tǒng)的模型結(jié)構</p>
31、;<p> 該系統(tǒng)的模型結(jié)構如圖3-1所示:</p><p> 圖3-1-1新聞系統(tǒng)的模型結(jié)構圖示</p><p> 該系統(tǒng)結(jié)構分為三個邏輯層:</p><p> Web 層:Web層為客戶端瀏覽器提供對應用程序的訪問,這一層是作為解決方案文件中的 Web 項目實現(xiàn)的。Web 層由 ASP.NET Web 窗體和代碼隱藏文件組成,Web 窗體只
32、是用 HTML 提供用戶操作,而代碼隱藏文件實現(xiàn)各種控件的事件處理程序; </p><p> 業(yè)務層:包含各種業(yè)務規(guī)則和邏輯的實現(xiàn),業(yè)務規(guī)則完成如客戶帳戶的驗證和字符串處理這樣的任務;</p><p> 數(shù)據(jù)訪問層:數(shù)據(jù)訪問層為業(yè)務層提供數(shù)據(jù)服務,這一層是作為解決方案文件中的 Conn類(數(shù)據(jù)訪問類,實現(xiàn)公共操作的一個通用類)實現(xiàn)的;</p><p> 3.2
33、 新聞系統(tǒng)的功能模塊簡介</p><p> 圖3-2-1系統(tǒng)的功能模塊</p><p><b> 工作流程為:</b></p><p> 打開該系統(tǒng)網(wǎng)站,普通瀏覽者能瀏覽、閱讀和搜索新聞,能進行注冊,注冊后為新聞輸入員,登錄進入新聞后臺管理區(qū), 只有添加新聞的權限;如登錄時為新聞審核員,其不但有添加新聞的權限,還有審核和管理新聞的權限;如
34、為系統(tǒng)管理員,其有新聞后臺管理區(qū)內(nèi)的所有權限,除具有新聞審核員所有的權限外,還有添加和管理新聞分類、添加和管理用戶、系統(tǒng)、風格和友情鏈接設置。</p><p> 在添加新聞時,除常規(guī)的添加新聞標題、新聞內(nèi)容、新聞作者和新聞簡介外,還可選擇是否為首頁新聞、是否為推薦新聞和是否在首頁滾動圖片(上傳圖片)等,對新聞內(nèi)容的字體、字號和字體顏色可以調(diào)整,類似Word的一些簡單的編輯功能,還可設置超鏈接和插入表格等。如添加
35、新聞者為新聞輸入員,其所添加的新聞需要系統(tǒng)管理員或?qū)徍藛T經(jīng)審核后才能發(fā)布到網(wǎng)上;如是管理員或者審核員添加新聞的話,不需要再經(jīng)誰審核,直接可以發(fā)布到網(wǎng)上。</p><p> 管理新聞功能包括對任一條新聞內(nèi)容可作相應修改,也可刪除任何一條不再需要保留的新聞。管理新聞分類包括對新聞分類名稱作修改,也可將任一分類名刪除,刪除后其分類下的所有新聞也將被刪除。添加用戶時,用戶等級可為管理員、審核員或者輸入員之一,管理用戶包
36、括修改用戶名、密碼和用戶等級,也可將任一用戶刪除。</p><p> 系統(tǒng)設置包括設置網(wǎng)站標題、網(wǎng)站地址、首頁圖片、網(wǎng)站公告(可用來顯示當前有哪些新聞輸入員所添加的新聞沒有通過審核,具體的原因理由等)、網(wǎng)站鏈接(此文本內(nèi)容可更改)和底部信息(可放置一些與站點相關的文本內(nèi)容等),對系統(tǒng)設置里的內(nèi)容,隨時可做相應的修改,這權限只有系統(tǒng)管理員才擁有。風格設置指從系統(tǒng)八種風格里任選一種作為當前網(wǎng)站的默認風格。友情鏈接主
37、要是以圖片的形式鏈接到其它網(wǎng)站,作用跟系統(tǒng)設置里的網(wǎng)站鏈接功能一樣。</p><p> 第四章 使用技術的介紹</p><p> 4.1 .NET Framework概述</p><p> .NET Framework 是用于 .NET 平臺的編程模型,其關鍵組件是公共語言運行庫(CLR,Common Language Runtime)和 .NET Fram
38、ework 類庫(包括 ADO.NET、ASP.NET 和 Windows 窗體),它提供了托管執(zhí)行環(huán)境、簡化的開發(fā)和部署以及與各種編程語言的集成,是支持生成和運行下一代應用程序和 XML Web services 的內(nèi)部 Windows 組件。</p><p> .NET Framework 旨在實現(xiàn)下列目標:</p><p> 提供一個一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對象代碼是在本
39、地存儲和執(zhí)行,還是在本地執(zhí)行但在 Internet 上分布,或者是在遠程執(zhí)行的;</p><p> 提供一個將軟件部署版本控制沖突最小化的代碼執(zhí)行環(huán)境;</p><p> 提供一個可提高代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)執(zhí)行安全性的代碼執(zhí)行環(huán)境;</p><p> 提供一個可消除腳本環(huán)境或解釋環(huán)境的性能問題的代碼執(zhí)行環(huán)境;使開發(fā)人員的經(jīng)驗在面
40、對類型大不相同的應用程序(如基于 Windows 的應用程序和基于 Web 的應用程序)時保持一致;</p><p> 按照工業(yè)標準生成所有通信,以確保基于 .NET Framework 的代碼可與任何其他代碼集成。</p><p> 公共語言運行庫是 .NET Framework 的基礎,可以將運行庫看作一個在執(zhí)行時管理代碼的代理,它提供內(nèi)存管理、線程管理和遠程處理等核心服務,并且還
41、強制實施嚴格的類型安全以及可提高安全性和可靠性的其他形式的代碼準確性。事實上,代碼管理的概念是運行庫的基本原則。以運行庫為目標的代碼稱為托管代碼,而不以運行庫為目標的代碼稱為非托管代碼。</p><p> .NET Framework 類庫是一個綜合性的面向?qū)ο蟮目芍赜妙愋图?,可以使用它開發(fā)多種應用程序,這些應用程序包括傳統(tǒng)的命令行或圖形用戶界面 (GUI) 應用程序,也包括基于 ASP.NET 所提供的最新
42、創(chuàng)建的應用程序(如 Web 窗體和 XML Web Services)。</p><p> 4.2 ASP.NET、ADO.NET和C#語言簡介</p><p> ASP.NET結(jié)構是一個三層系統(tǒng):UI層、業(yè)務邏輯層和數(shù)據(jù)層,結(jié)構模型如圖</p><p><b> 4-2-1所示:</b></p><p> 圖
43、4-2-1 ASP.NET的結(jié)構模型</p><p> ● UI層負責與用戶交互,接收用戶的輸入并將服務器端傳來的數(shù)據(jù)呈現(xiàn)給客戶;</p><p> ● 業(yè)務邏輯層負責接收瀏覽器傳來的請求并將請求傳給數(shù)據(jù)層,同時將請求處理結(jié)果發(fā)給瀏覽器。它由Web表單、XML Web Services和組件服務組成,其中Web表單是ASP.NET應用程序的核心所在,它是向客戶呈現(xiàn)數(shù)據(jù)和信息的基礎,也
44、是響應和處理客戶與顯示的Web表單交互生成的信息和數(shù)據(jù)的基礎;</p><p> ● 數(shù)據(jù)層是通過ADO.NET操縱數(shù)據(jù)為事務邏輯層提供數(shù)據(jù)服務,如存儲數(shù)據(jù)操作結(jié)果、返回數(shù)據(jù)檢索結(jié)果等。</p><p> ADO.NET提供對Microsoft SQL Server、OLEDB和XML公開的數(shù)據(jù)源的一致性訪問,數(shù)據(jù)共享用戶應用程序可以使用ADO.NET來連接到這些數(shù)據(jù)源,并檢索、操作和
45、更新數(shù)據(jù)。</p><p> ADO.NET 有兩個核心組件:DataSet 和 .NET Framework 數(shù)據(jù)提供程序,后者是一組包括 Connection、Command、DataReader 和 DataAdapter 4個對象在內(nèi)的組件,其組件結(jié)構如圖4-2-2所示:</p><p> 圖4-2-2 ADO.NET的組件結(jié)構圖示</p><p>
46、DataSet對象是 ADO.NET 的斷開式結(jié)構的核心組件,實現(xiàn)獨立于任何數(shù)據(jù)源的數(shù)據(jù)訪問。Connection 對象提供與數(shù)據(jù)源的連接,是操作數(shù)據(jù)庫的基礎,表示應用程序和數(shù)據(jù)源之間的惟一會話。Command 對象能夠訪問用于返回數(shù)據(jù)、修改數(shù)據(jù)、運行存儲過程以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫命令,實現(xiàn)對數(shù)據(jù)源的操作,如查詢、插入、修改和刪除等。DataReader 對象從數(shù)據(jù)源中讀取只進且只讀的數(shù)據(jù)流。DataAdapter 對象是Dat
47、aSet 對象和數(shù)據(jù)源之間關聯(lián)的橋梁,用數(shù)據(jù)源填充DataSet并解析更新。設計 ADO.NET 組件的目的是為了從“數(shù)據(jù)操作”中分解出“數(shù)據(jù)訪問”。</p><p> C#語言是.NET中一種嶄新的語言,C#是由C和C++派生而來的一種“簡單、流行、面向?qū)ο蟆㈩愋桶踩钡某绦蛟O計語言,C#意在綜合Visual Basic的高效率和C++的強大功能。</p><p> C#是微軟公司發(fā)
48、布的一種面向?qū)ο蟮?、運行于.NET Framework之上的高級程序設計語言。并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司.NET w
49、indows網(wǎng)絡框架的主角。</p><p> 第五章 新聞系統(tǒng)的主要開發(fā)過程</p><p><b> 5.1 數(shù)據(jù)庫設計</b></p><p> 數(shù)據(jù)庫設計是系統(tǒng)設計中非常重要的一個關鍵環(huán)節(jié),因為數(shù)據(jù)庫設計就像在建設高樓大廈一樣,有穩(wěn)固的基礎,才能有優(yōu)秀的成果。如果設計不好,在后面的系統(tǒng)維護、變更和功能擴充時,甚至在系統(tǒng)開發(fā)過程中,
50、將會出現(xiàn)問題,會遇到非常大的困難,大量工作將會重新進行。</p><p> 本實例采用SQL server 2000數(shù)據(jù)庫系統(tǒng),在該系統(tǒng)中新建一個數(shù)據(jù)庫,并將其命名為db_news。然后,在該數(shù)據(jù)庫創(chuàng)建三個數(shù)據(jù)表,分別為用戶信息表(tbUser)、新聞信息表(tbNews)和網(wǎng)站友情鏈接表(tbLink)。</p><p> ●tbUser(用戶信息表)</p><
51、p> 用戶信息表主要用于保存管理員的基本信息,tbUser數(shù)據(jù)表的結(jié)構如表5-1-1所示。</p><p> 表5-1-1用戶信息表</p><p> ●tbNews(新聞信息表)</p><p> 新聞信息表主要用于保存新聞的基本信息,tbNews數(shù)據(jù)表的結(jié)構如表5-1-2所示。</p><p> 表5-1-2新聞信息表&l
52、t;/p><p> ●tbLink(網(wǎng)站友情鏈接表)</p><p> 網(wǎng)站友情鏈接表主要用于保存其他網(wǎng)站信息,該數(shù)據(jù)表的結(jié)構如表5-1-3所示。</p><p> 表5-1-3網(wǎng)站友情鏈接表</p><p> 5.2各主要窗體頁的圖形界面介紹</p><p> 首頁:主要功能是顯示最熱門、最新和推薦的前8條新聞
53、,顯示新聞搜索功能、頁面風格設置、新聞分類、滾動新聞圖片和網(wǎng)站公告等;如圖5-2-1所示:</p><p><b> 如圖5-2-1</b></p><p> 新聞詳細內(nèi)容查看頁:在首頁里點擊新聞標題所進入的頁面,顯示當前所點擊新聞的詳細內(nèi)容,新聞標題正中加粗顯示,在添加新聞時,根據(jù)所編輯的新聞內(nèi)容對應顯示;如圖5-2-2</p><p>
54、<b> 如圖5-2-2</b></p><p> 新聞輸入員頁面:新聞輸入員只具有添加新聞的權限,任何瀏覽者都可注冊成為新聞輸入員,但所添加的新聞并不能直接發(fā)布到網(wǎng)站上顯示,而需經(jīng)過審核員或管理員審核是否給予通過,這保證了網(wǎng)站內(nèi)容管理的合理性,并不是隨便添加的新聞都能發(fā)布;如圖5-2-3</p><p><b> 如圖5-2-3</b>&
55、lt;/p><p> 新聞管理員頁面:管理員具有系統(tǒng)的所有權限,除審核員的審核新聞、添加新聞和管理新聞外,還可添加新聞部門和用戶。對用戶和新聞部門進行管理,包括修改用戶ID和密碼,刪除用戶,更改部門名稱,刪除新聞部門,管理員所添加的新聞也不再需要審核而可以直接發(fā)布。如圖:5-2-4</p><p><b> 如圖:5-2-4</b></p><p&
56、gt; 5.3 頁面的風格設計</p><p> 為使該系統(tǒng)的頁面美觀多樣,在設計時使用了8種樣式風格。為了在頁面設計時方便調(diào)用,將其存儲于數(shù)據(jù)庫的Lb_Skins(風格樣式)表中,各窗體通過調(diào)用style.css文件來設計界面外觀。</p><p> CSS是Cascading Style Sheets(層疊樣式表單)的簡稱,簡稱樣式表,它是一種設計網(wǎng)頁樣式的技術。CSS代碼的基本
57、語句結(jié)構為:選擇符{屬性名:屬性值},選擇符可以是HTML中任何的標簽或自定義標識符,比如P、DIV、IMG甚至BODY都可以作為選擇符。</p><p> CSS在HTML文檔中有三種用法:</p><p> 一種是把CSS文檔放到<head>文檔中:</p><p> <style type=“text/css”> …… </
58、style>;</p><p> 另一種方法是采用<style=“ ”>的格式把樣式寫在任何html標簽中的行內(nèi),這種方法比較方便靈活;</p><p> 還有一種方法是:把編輯好的CSS文檔保存成“.CSS”文件,然后在<head>中定義,定義的格式為:<head> <link href="style.css" ty
59、pe="text/css" rel="stylesheet">…… </head> ,<link>和“rel=stylesheet”指連接的元素是一個樣式表文檔,“href=‘style.css’”指的是需要連接的文件地址。這種方法非常適宜同時定義多個文檔,能使多個文檔同時使用相同的樣式,從而減少了大量的冗余代碼。</p><p><b&
60、gt; 5.4 系統(tǒng)配置</b></p><p> 5.4.1 Web.config文件配置</p><p> ASP.NET應用程序的配置功能放在Web.config文件中,它包含每一個具體Web應用程序的配置信息。在程序運行時,ASP.NET使用分層虛擬目錄結(jié)構的Web.config文件提供的配置信息為每個惟一的URL資源計算一組配置設置,然后緩存結(jié)果配置設置,以供所
61、有頁面對資源的請求使用。</p><p> Web.config文件對于訪問站點的用戶來說是不可見的,而且也是不可訪問的,它基于XML,每個配置文件都包含XML標記和子標記的嵌套層次結(jié)構。</p><p> 新聞系統(tǒng)的Web.config文件中的配置:</p><p> <configuration></p><p> &
62、lt;appSettings></p><p> <addkey="conStr”value="Server=(local);database=db_news;Uid=sa;Pwd=;"/></p><p> </appSettings> </p><p> </configuration>
63、;</p><p><b> 說明:</b></p><p> Data Source是數(shù)據(jù)庫服務器的名稱;</p><p> Uid是鏈接數(shù)據(jù)庫用戶名;</p><p> Pwd鏈接數(shù)據(jù)庫的密碼;</p><p> Database是使用的數(shù)據(jù)庫名稱。</p><p
64、> 5.4.2 配置發(fā)布主頁</p><p> 首先要創(chuàng)建虛擬目錄,新建虛擬目錄的步驟如下:</p><p> ● 打開IIS(Internet 信息服務),在默認網(wǎng)站上右擊 </p><p> 在快捷菜單中選擇新建—>虛擬目錄; </p><p> ● 在彈出的虛擬目錄創(chuàng)建向?qū)υ捒蚶稂c擊“下一步”; </p&
65、gt;<p> ● 輸入虛擬目錄別名;</p><p> ● 選擇網(wǎng)站內(nèi)容所在目錄路徑; </p><p> ● 設置“訪問”權限。 </p><p> 在所建虛擬目錄上右擊,在彈出菜單中選擇瀏覽,或在瀏覽器里輸入相應網(wǎng)址,都可運行瀏覽程序。虛擬目錄不在目錄列表中顯示(也稱為 WWW 服務的“目錄瀏覽”),要訪問虛擬目錄,用戶必須知道虛擬目錄的
66、別名并在瀏覽器中鍵入 URL。對于 WWW 服務,也可以在 HTML 頁面中創(chuàng)建鏈接。發(fā)布網(wǎng)站的時候,把程序首頁的名字(index.aspx或default.aspx)寫在IIS當中就可以訪問了。</p><p> 5.5 系統(tǒng)部分重要功能及其代碼</p><p> 5.5.1 Web用戶控件</p><p> 該系統(tǒng)中創(chuàng)建了兩個Web用戶控件top.ascx
67、和bottom.ascx,在首頁、新聞詳細內(nèi)容查看、新聞分類等頁面的HTML代碼里都進行了引用,調(diào)用方式為:</p><p> <%@RegisterTagPrefix="uc1"Tag"bottom"Src="bottom.ascx"%></p><p> <%@ Register TagPrefix=&q
68、uot;uc1" TagName="top" Src="top.ascx" %></p><p> @ Register指令注冊用戶控件,同時把屬性TagName(標簽名)和TagPrefix(標簽前綴)添加到@ Register指令中,Src屬性表示該用戶控件相對于父頁面的相對地址。用戶控件也是服務器端控件,還必須在用戶控件代碼中添加Runat=serv
69、er屬性,用法如下:</p><p> <uc1:top id="Top1" runat="server"></uc1:top></p><p> <uc1:bottom id="Bottom1" runat="server"></uc1:bottom><
70、;/p><p> 其中top.ascx用戶控件作用是顯示首頁圖片、“首頁”文本字體、新聞分類、新聞風格和當前日期,bottom.ascx用戶控件作用是顯示底部相關網(wǎng)站信息等。</p><p> 用戶控件是非常易于代碼重用的,可以把許多相關功能和用戶界面封裝在一個用戶控件中,然后在任何需要該功能的地方重用此控件。</p><p> 5.5.2 通用類代碼</p
71、><p> 在所有相關頁面顯示文件和Web用戶控件的代碼隱藏文件.aspx.cs或.ascx.cs中,通過對數(shù)據(jù)訪問類的引用(以創(chuàng)建類實例方式),調(diào)用數(shù)據(jù)訪問類里的相應函數(shù)完成相關功能,如建立數(shù)據(jù)庫連接、打開和關閉數(shù)據(jù)庫、對數(shù)據(jù)庫執(zhí)行查詢、插入、刪除和更新操作、頁面登陸檢驗等。</p><p> 此處列舉Conn類(數(shù)據(jù)訪問類)中主要函數(shù)的源碼:</p><p>
72、 public class Conn</p><p><b> {</b></p><p> Public OleDbConnection Lb_Conn=new OleDbConnection(strConn);</p><p> public static string strConn </p><p>&l
73、t;b> {</b></p><p><b> get </b></p><p><b> {</b></p><p> StringBuilder strResult = new StringBuilder();</p><p> strResult.Append(
74、"Provider = Microsoft.Jet.OLEDB.4.0");</p><p> strResult.Append("; ");</p><p> strResult.Append("Data Source = ");</p><p> strResult.Append(HttpCont
75、ext.Current.Server.MapPath("."));</p><p> strResult.Append("\\");</p><p> strResult.Append(ConfigurationSettings.AppSettings["MdbPath"]);</p><p> re
76、turn strResult.ToString(); </p><p><b> }</b></p><p><b> } </b></p><p> public OleDbDataReader ExecuteOleDbDataReader(string strSql)</p><p>&l
77、t;b> { </b></p><p> OleDbCommand cmd=new OleDbCommand(strSql,Lb_Conn)</p><p> OleDbDataReader rd=cmd.ExecuteReader();</p><p> return rd;</p><p><b>
78、}</b></p><p> public DataSet CreateDataSet(string strSql,string tableName)</p><p><b> {</b></p><p> OleDbDataAdapter da=new OleDbDataAdapter(strSql,Lb_Conn);<
79、;/p><p> DataSet dst=new DataSet();</p><p> da.Fill(dst,tableName);</p><p> return dst;</p><p><b> }</b></p><p> public int ExecuteSql(string
80、 strSql) </p><p><b> {</b></p><p> OleDbCommand cmd2=new OleDbCommand(strSql,Lb_Conn);</p><p> intresult=cmd2.ExecuteNonQuery();</p><p> return result
81、;</p><p><b> }</b></p><p><b> }</b></p><p> '數(shù)據(jù)起始位置:2個CRLF開始 </p><p> DataStart = InStrB(PosOpenBoundary,FormData,str2bin(VbCrLf & V
82、bCrLf)) + 4 </p><p> If FormFileName 〈〉 "" Then </p><p> B(DataStart,FormData,DivStr) - DataStart - 1 </p><p> FormFieldData = MidB(FormData,DataStart,DataSize) </p&
83、gt;<p><b> Else </b></p><p> '數(shù)據(jù)長度,減2是因為分隔標志串前有一個CRLF </p><p> DataSize = InStrB(DataStart,FormData,DivStr) - DataStart - 2 </p><p> FormFieldData = bin2s
84、tr(MidB(FormData,DataStart,DataSize)) </p><p><b> End If </b></p><p> '建立一個Dictionary集存儲Form中各個Field的相關數(shù)據(jù) </p><p> Set Field = CreateUploadField() </p><
85、;p> Field.Name = FormFieldName </p><p> Field.FilePath = FormFileName </p><p> Field.FileName = GetFileName(FormFileName) </p><p> Field.ContentType = FormFileCT </p>
86、<p> Field.Length = LenB(FormFieldData) </p><p> Field.Value = FormFieldData </p><p> Fields.Add FormFieldName, Field </p><p> PosOpenBoundary = PosCloseBoundary </p>
87、<p> PosCloseBoundary = InStrB(PosOpenBoundary + 1,FormData,DivStr) </p><p><b> Wend </b></p><p> Set GetUpload = Fields </p><p> End Function </p><
88、;p> '把二進制字符串轉(zhuǎn)換成普通字符串函數(shù) </p><p> Function bin2str(binstr) </p><p> Dim varlen,clow,ccc,skipflag </p><p> '中文字符Skip標志 </p><p> skipflag=0 </p><
89、p><b> ccc = "" </b></p><p> If Not IsNull(binstr) Then </p><p> varlen=LenB(binstr) </p><p> For i=1 To varlen </p><p> If skipflag=0 Then
90、 </p><p> clow = MidB(binstr,i,1) </p><p> '判斷是否中文的字符 </p><p> If AscB(clow) 〉 127 Then </p><p> ccc =ccc & Chr(AscW(MidB(binstr,i+1,1) & clow)) </p&
91、gt;<p> skipflag=1 </p><p><b> Else </b></p><p> ccc = ccc & Chr(AscB(clow)) </p><p><b> End If </b></p><p><b> Else </
92、b></p><p> skipflag=0 </p><p><b> End If </b></p><p><b> Next </b></p><p><b> End If </b></p><p> bin2str = ccc
93、 </p><p> End Function </p><p> '把普通字符串轉(zhuǎn)成二進制字符串函數(shù) </p><p> Function str2bin(varstr) </p><p> str2bin="" </p><p> For i=1 To Len(varstr)
94、</p><p> varchar=mid(varstr,i,1) </p><p> varasc = Asc(varchar) </p><p> ' asc對中文字符求出來的值可能為負數(shù), </p><p> ' 加上65536就可求出它的無符號數(shù)值 </p><p> ' -1
95、在機器內(nèi)是用補碼表示的0xffff, </p><p> ' 其無符號值為65535,65535=-1+65536 </p><p> ' 其他負數(shù)依次類推。 </p><p> If varasc〈0 Then </p><p> varasc = varasc + 65535 </p><p&g
96、t;<b> End If </b></p><p> '對中文的處理:把雙字節(jié)低位和高位分開 </p><p> If varasc〉255 Then </p><p> varlow = Left(Hex(Asc(varchar)),2) </p><p> varhigh = right(Hex(
97、Asc(varchar)),2) </p><p> str2bin = str2bin & chrB("&H" & varlow) & chrB("&H" & varhigh) </p><p><b> Else </b></p><p> str
98、2bin = str2bin & chrB(AscB(varchar)) </p><p><b> End If </b></p><p><b> Next </b></p><p> End Function </p><p> Function GetFileName(Ful
99、lPath) </p><p> If FullPath 〈〉 "" Then </p><p> FullPath = StrReverse(FullPath) </p><p> FullPath = Left(FullPath, InStr(1, FullPath, "\") - 1) </p>&l
100、t;p> GetFileName = StrReverse(FullPath) </p><p><b> Else </b></p><p> GetFileName = "" </p><p><b> End If </b></p><p> End Fun
101、ction </p><p> 〈/SCRIPT〉 </p><p> 〈SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT〉 </p><p> function CreateUploadField(){ return new uf_Init() } </p><p> function uf_Init(){
102、</p><p> this.Name = null </p><p> this.FileName = null </p><p> this.FilePath = null </p><p> this.ContentType = null </p><p> this.Value = null <
103、/p><p> this.Length = null </p><p><b> } </b></p><p><b> 〈/SCRIPT〉</b></p><p> 〈!--#include file="news_session.asp"--〉</p><
104、;p><b> 〈html〉</b></p><p><b> 〈head〉 </b></p><p> 〈meta http-equiv="Content-Language" content="zh-cn"〉</p><p> 〈meta http-equiv=&qu
105、ot;Content-Type" content="text/html; charset=gb2312"〉</p><p> 〈style type="text/css"〉</p><p> .buttonface {</p><p> BACKGROUND-COLOR: #0079F2; BORDER-BOT
106、TOM: #333333 1px outset; BORDER-LEFT: #333333 1px outset; BORDER-RIGHT: #ffffff 1px outset; BORDER-TOP: #ffffff 1px outset; COLOR: #ffffff; FONT-SIZE: 9pta { color: #000000; text-decoration: none}</p><p><
107、;b> 〈/style〉</b></p><p> 〈SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript〉 </p><p><b> 〈!-- </b></p><p> function client_onblur(ii) { </p><p&
108、gt; server=eval("form1.server"+ii) </p><p> if(server.value==""){ </p><p> client=eval("form1.client"+ii) </p><p> clientvalue=client.value+"&
109、quot; </p><p> varlen=clientvalue.length </p><p> a=clientvalue.lastIndexOf('\\') </p><p> clientvalue=clientvalue.substring(a+1)</p><p> //alert(clientvalu
110、e); </p><p> server.value=clientvalue </p><p><b> } </b></p><p><b> } </b></p><p> function form1_onsubmit() { </p><p> for(i=
111、1;i〈1;i++){ </p><p> client=eval("form1.client"+i) </p><p> server=eval("form1.server"+i) </p><p> if(client.value!="" && server.value==&quo
112、t;")</p><p> {alert("上傳后的文件名不能空!");server.focus();return false} </p><p><b> } </b></p><p><b> } </b></p><p><b> 〈/SCRIP
113、T〉</b></p><p> 〈title〉新聞發(fā)布系統(tǒng)〈/title〉</p><p><b> 〈/head〉</b></p><p> 〈body bgcolor=#EDF0F5 topmargin=10 marginheight=5 leftmargin=4 marginwidth=0〉</p><
114、;p> 〈form method="POST" action="news_input.asp" name="form1" enctype="multipart/form-data" LANGUAGE=javascript onsubmit="return form1_onsubmit()"〉</p><p>
115、; 〈div align="left"〉</p><p> 〈table border="1" width="754" height="404"〉</p><p> 〈tr align="center"〉 </p><p> 〈td width="7
116、54" height="28" colspan="3" style="font-size:11pt"〉〈strong〉新聞發(fā)布系統(tǒng)后臺管理--新聞添加〈/strong〉〈/td〉</p><p><b> 〈/tr〉</b></p><p><b> 〈tr〉</b><
117、;/p><p> 〈td width="121" height="16" align="center" style="font-size:9pt"〉新聞標題〈/td〉</p><p> 〈td width="617" height="16" colspan="2
118、"〉 </p><p> 〈input type="text" name="news_title" size="87"〉〈/td〉</p><p><b> 〈/tr〉</b></p><p><b> 〈tr〉</b></p>&l
119、t;p> 〈td width="121" height="165" align="center" style="font-size:9pt"〉新聞內(nèi)容〈/td〉</p><p> 〈td width="617" height="165" colspan="2"〉〈t
120、extarea rows="11" name="news_content" cols="85"〉〈/textarea〉〈/td〉</p><p><b> 〈/tr〉</b></p><p><b> 〈tr〉</b></p><p> 〈td width=
121、"121" height="21" align="center" style="font-size:9pt"〉新聞來源〈/td〉</p><p> 〈td width="617" height="21" colspan="2"〉</p><p>
122、〈input type="text" name="news_src" size="87"〉〈/td〉</p><p><b> 〈/tr〉</b></p><p><b> 〈tr〉</b></p><p> 〈td width="121"
123、; height="20" align="center" style="font-size:9pt" 〉圖片上傳〈/td〉</p><p> 〈td width="617" height="20" colspan="2"〉</p><p> 〈input type=&
124、quot;file" name="client1" size="20" readonly LANGUAGE=javascript onblur="return client_onblur(1)" 〉 </p><p> 〈span style="font-size:9pt"〉〈/span〉 〈INPUT type=&quo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- web課程設計--校內(nèi)新聞系統(tǒng)的設計與開發(fā)
- web新聞系統(tǒng)畢業(yè)論文
- web開發(fā)課程設計-新聞發(fā)布系統(tǒng)
- web高級程序課程設計---新聞發(fā)布系統(tǒng)
- java-web新聞發(fā)布系統(tǒng)課程設計
- web課程設計--課程管理系統(tǒng)
- web應用基礎課程設計-----新聞管理與發(fā)布系統(tǒng)
- 畢業(yè)論文——新聞系統(tǒng)
- 新聞發(fā)布系統(tǒng)課程設計
- 新聞發(fā)布系統(tǒng)課程設計
- 新聞發(fā)布系統(tǒng)課程設計
- 新聞發(fā)布系統(tǒng)課程設計
- web課程設計(宿舍管理系統(tǒng))
- web課程設計--酒店管理系統(tǒng)
- 《web系統(tǒng)開發(fā)課程設計》
- jsp新聞發(fā)布課程設計---新聞發(fā)布系統(tǒng)
- 電子新聞系統(tǒng)的研究.pdf
- jsp課程設計-新聞發(fā)布系統(tǒng)
- 校園導航系統(tǒng)課程設計
- 校園導游系統(tǒng)課程設計報告
評論
0/150
提交評論