ASP.NET的網(wǎng)站新聞管理系統(tǒng)設(shè)計與實現(xiàn)_第1頁
ASP.NET的網(wǎng)站新聞管理系統(tǒng)設(shè)計與實現(xiàn)_第2頁
ASP.NET的網(wǎng)站新聞管理系統(tǒng)設(shè)計與實現(xiàn)_第3頁
ASP.NET的網(wǎng)站新聞管理系統(tǒng)設(shè)計與實現(xiàn)_第4頁
ASP.NET的網(wǎng)站新聞管理系統(tǒng)設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

ASP.NET的網(wǎng)站新聞管理系統(tǒng)設(shè)計與實現(xiàn)

【摘要】利用和技術(shù)開發(fā)的網(wǎng)站新聞管理系統(tǒng),實現(xiàn)了網(wǎng)站新聞的動態(tài)管理,使得對信息的管理更加及時、高效,提高了工作效率。同時對系統(tǒng)的開發(fā)原理、系統(tǒng)的功能特點和設(shè)計方案進行了介紹。

【關(guān)鍵詞】新聞管理數(shù)據(jù)庫

隨著Internet的普及,越來越多的企業(yè)建立了自己的WWW網(wǎng)站,企業(yè)通過網(wǎng)站可以展示產(chǎn)品,發(fā)布最新動態(tài),與用戶進行交流和溝通,與合作伙伴建立聯(lián)系,以及開展電子商務(wù)等。其中新聞管理系統(tǒng)是構(gòu)成企業(yè)網(wǎng)站的一個重要組成部分,它擔(dān)負著雙層作用,一方面可以用來動態(tài)發(fā)布有關(guān)新產(chǎn)品或新開發(fā)項目,另一方面又可以及時向顧客公告企業(yè)經(jīng)營業(yè)績、技術(shù)與研發(fā)進展、特別推薦或優(yōu)惠的工程項目、產(chǎn)品和服務(wù),從而吸引顧客,擴大顧客群。

傳統(tǒng)的網(wǎng)站新聞管理方式有兩種,一是靜態(tài)HTML頁面,更新信息時需要重新制作頁面然后上傳頁面并修改相應(yīng)鏈接,這種方式因為效率太低已不多用。二是基于ASP和腳本語言,將動態(tài)網(wǎng)頁和數(shù)據(jù)庫結(jié)合,通過應(yīng)用程序來處理新聞,這是目前較為流行的做法。但是由于ASP本身的局限性使得系統(tǒng)有一些不可克服的缺陷,而采取了技術(shù)的系統(tǒng)性能上有了很大的改善,其主要表現(xiàn)在以下幾方面:

1.由于ASP頁面每次打開都必須經(jīng)過先編譯后解釋的過程,所以頁面在反復(fù)打開時速度沒有任何提升,而頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或Web應(yīng)用程序重新啟動。這使得在多次訪問時速度有了極大的提升。

2.由于ASP沒有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用ASP撰寫數(shù)據(jù)庫頁面時只能借助ADO的RecordSet對象逐筆讀取記錄,而通過提供的DataGrid等數(shù)據(jù)庫元件可以直接和數(shù)據(jù)庫聯(lián)系。

3.支持應(yīng)用程序的實時更新。管理員不必關(guān)掉網(wǎng)絡(luò)服務(wù)器或者甚至不用停止應(yīng)用程序的運行就可以更新應(yīng)用文件。應(yīng)用程序文件永遠不會被加鎖,因此甚至在程序運行時文件就可以被覆蓋。當(dāng)文件更新后,系統(tǒng)會溫和地轉(zhuǎn)換到新的版本。

4.采取"code-behind"方式編寫代碼使得代碼更易于編寫,結(jié)構(gòu)更清晰,降低了系統(tǒng)的開發(fā)與維護的復(fù)雜度和費用。

1系統(tǒng)的開發(fā)原理

基于技術(shù)的系統(tǒng)結(jié)構(gòu)模型

結(jié)構(gòu)是一個三層系統(tǒng):UI層、業(yè)務(wù)邏輯層和數(shù)據(jù)層,如圖1所示。

圖1的系統(tǒng)結(jié)構(gòu)模型

UI層負責(zé)與用戶交互,接收用戶的輸入并將服務(wù)器端傳來的數(shù)據(jù)呈現(xiàn)給客戶。

業(yè)務(wù)邏輯層負責(zé)接收瀏覽器傳來的請求并將請求傳給數(shù)據(jù)層,同時將請求處理結(jié)果發(fā)給瀏覽器。它由Web表單、XMLWeb服務(wù)和組件服務(wù)組成。其中Web表單是應(yīng)用程序的核心所在,它是向客戶呈現(xiàn)數(shù)據(jù)和信息的基礎(chǔ),也是響應(yīng)和處理客戶與顯示的Web表單交互生成的信息和數(shù)據(jù)的基礎(chǔ)。

數(shù)據(jù)層是通過操縱數(shù)據(jù)為事務(wù)邏輯層提供數(shù)據(jù)服務(wù),如存儲數(shù)據(jù)操作結(jié)果、返回數(shù)據(jù)檢索結(jié)果等。

訪問數(shù)據(jù)庫的原理

與數(shù)據(jù)庫相連,提供了如下3種方式:通過ODBC相連;通過OLEDB相連;直接與SQLServer相連。3種方式由于應(yīng)用層次的差異,使得效率由低到高,獨立性由高到低。對于相連數(shù)據(jù)庫的數(shù)據(jù)處理,也有2種方式,即一種是通過DataSet來隔離異構(gòu)的數(shù)據(jù)源,另一種是以流方式從數(shù)據(jù)源讀取(DataReader方式)。

傳統(tǒng)的應(yīng)用程序是通過先建立到數(shù)據(jù)庫的連接,在程序的整個運行過程中維護連接的方式來設(shè)計的。采取了斷開連接方式的數(shù)據(jù)結(jié)構(gòu)。當(dāng)瀏覽器向Web服務(wù)器請求網(wǎng)頁時,服務(wù)器處理這個請求,并將所請求的網(wǎng)頁發(fā)送給瀏覽器,然后連接就被斷開,直到瀏覽器發(fā)出下一個請求。

的另一個創(chuàng)新是引入了數(shù)據(jù)集(Dataset)。一個數(shù)據(jù)集是內(nèi)存中提供數(shù)據(jù)關(guān)系圖的高速緩沖區(qū)。數(shù)據(jù)集對數(shù)據(jù)源一無所知,它們可以由程序或通過從數(shù)據(jù)倉庫中調(diào)入數(shù)據(jù)而被生成、填充。不論數(shù)據(jù)從何處獲取,數(shù)據(jù)集都是通過使用同樣的程序模板而被操作的,并且它使用相同的潛在的數(shù)據(jù)緩沖區(qū)。

2系統(tǒng)的功能設(shè)計

系統(tǒng)的功能結(jié)構(gòu)

該新聞管理系統(tǒng)可以在Windows2000Server操作系統(tǒng)平臺上運行,Web服務(wù)器為IIS,數(shù)據(jù)庫服務(wù)器為MicrosoftSQLServer2000,開發(fā)工具采用的MicrosoftVisualStudio.NET和DreamWeaver。圖2給出系統(tǒng)的功能結(jié)構(gòu)圖。其工作流程為:用戶登錄通過權(quán)限判斷,普通用戶只能瀏覽、閱讀和查詢新聞,注冊用戶除了可以完成普通用戶的操作外,還可以進入新聞管理模塊進行新聞錄入、修改和刪除的操作。注冊用戶除系統(tǒng)管理員外只能對自己錄入的新聞進行刪改操作。

系統(tǒng)的功能特點

操作簡單、界面友好:完全控件式的頁面布局,使得新聞的錄入工作更簡便;許多選項包括新聞類別、來源部門等只需要點擊鼠標就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶隨時清楚自己的操作情況。

即時可見:對新聞的處理將立即在主頁的對應(yīng)欄目顯示出來,達到"即時發(fā)布、即時見效"的功能。

圖2系統(tǒng)功能結(jié)構(gòu)圖

功能完善:包括常見網(wǎng)站的新聞管理的各個方面:新聞錄入、瀏覽、刪除、修改、檢索等各個方面,完整地實現(xiàn)了網(wǎng)站對即時新聞的管理要求。

方便移植:針對不同的企業(yè),只需要稍作修改就可以開發(fā)出適合本企業(yè)特點的網(wǎng)站新聞管理系統(tǒng)!

3系統(tǒng)的詳細設(shè)計

系統(tǒng)的主要功能是通過幾個功能模塊來實現(xiàn)的。具體的設(shè)計過程

⑴系統(tǒng)登錄:該模塊負責(zé)將用戶分為普通用戶和注冊用戶來實現(xiàn)用戶權(quán)限的管理。

⑵新聞瀏覽:該模塊負責(zé)分頁列出網(wǎng)站所有新聞的信息,包括標題、類型、來源部門字段及發(fā)布日期,每條新聞的標題被做成一個超鏈接,點擊它們就能跳轉(zhuǎn)頁面進行新聞閱讀。

⑶新聞閱讀:在其他頁面中點擊標題鏈接即進入新聞閱讀頁面,此時,每條新聞的詳細信息將被取出,包括內(nèi)容、標題、關(guān)鍵字等,并按照相對固定的格式放置在頁面的不同區(qū)域,所有新聞使用大致相同的頁面布局,只是各字段對應(yīng)的內(nèi)容不同而已,另外,頁面其它位置,可以動態(tài)放置其他元件,如網(wǎng)站標志logo、頁面廣告banner等鏈接圖片,這樣可以很容易地實現(xiàn)圖文并茂的閱讀效果。

⑷新聞查詢:該模塊提供了新聞查詢功能,輸入待查找的內(nèi)容及選定分類信息可以快速地找到符合條件的新聞,并輸出查詢結(jié)果。

⑸新聞管理:該模塊負責(zé)分頁羅列登錄的注冊用戶曾發(fā)布過且未刪除的新聞信息,用戶可以對該條新聞進行刪除、修改。非新聞發(fā)布者除系統(tǒng)管理員外不具有對該條新聞的處理權(quán)限,所以不同用戶進入此頁面將顯示不同的內(nèi)容。

⑹新聞錄入和修改:注冊用戶錄入一條新聞所需要的內(nèi)容,包含標題、關(guān)鍵字、類型、來源部門、發(fā)布日期等,同時從登錄模塊得到用戶名,這些信息將被寫入數(shù)據(jù)庫中保存。該模塊還負責(zé)編輯狀態(tài)下的更新,這時,它將根據(jù)取得的Title字段值對頁面控件初始化。

下面以系統(tǒng)登錄頁面的編寫為例給出主要事件和函數(shù),說明該系統(tǒng)的開發(fā)過程。

//IsRegUserOk函數(shù):判斷用戶是否已經(jīng)注冊和密碼是否正確

publicboolIsRegUserOk()

{

stringname=();

stringpwd=();

//建立/打開數(shù)據(jù)庫連接

SqlConnectionconn=newSqlConnection();

="server=(local);uid=sa;pwd=;database=jxdb";

();

//建立sql字符串

stringsql="select*fromregwherename=‘"+name+"‘";

SqlDataReaderdr;

SqlCommandcmd=newSqlCommand(sql,conn);

dr=();

//保留用戶注冊與否信息

boolisRegUserExist=();

//關(guān)閉DataReader

();

//取得用戶名的密碼

stringsqlBoth="select*fromregwherename=‘"+name+"‘";

sqlBoth+="andpwd=‘"+pwd+"‘";

SqlCommandcmdBoth=newSqlCommand(sqlBoth,conn);

SqlDataReaderdrBoth;

drBoth=();

//保留用戶名+密碼同時存在信息

boolisBothExist=();

//關(guān)閉DataReader

();

();

//判斷用戶是否注冊

if(!isRegUserExist)

{

("scriptalert(‘此用戶尚未注冊!‘)");

returnfalse;

}

//判斷用戶名與密碼是否一致

elseif(!isBothExist)

{

("scriptalert(‘用戶名和密碼不一致,不能進入!‘)");

returnfalse;

}

else

returntrue;

}

最后給出系統(tǒng)后端數(shù)據(jù)存儲方案:

利用MicrosoftSQLServer2000建立數(shù)據(jù)庫及其存儲過程。這里給出兩個必需的數(shù)據(jù)表,一是數(shù)據(jù)表News包含的字段有:編號、姓名、標題、關(guān)鍵字、內(nèi)容、類型、來源部門和日期。字段說明

二是數(shù)據(jù)表Reg包含的字段有:編號、姓名、密碼、所屬部門、電子郵箱和電話。字段說明

參考文獻

[1]天極網(wǎng)新技術(shù)研究室

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論