摘要:該文從信息發(fā)布和管理實際需求出發(fā),分析文章發(fā)布系統(tǒng)的構(gòu)建結(jié)構(gòu)和框架,提出基于ASP.NET平臺的文章發(fā)布系統(tǒng)的功能、系統(tǒng)安全的分析和設(shè)計方案,并以C#為開發(fā)工具對其方案以具體實現(xiàn)。
關(guān)鍵詞:ASP.NET;系統(tǒng)分析;系統(tǒng)設(shè)計;模塊實現(xiàn)
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2012)14-3295-03
隨著信息化的普及,越來越多的信息都放到網(wǎng)絡(luò)上進行發(fā)布。這樣文章管理系統(tǒng)的應(yīng)用越來越廣泛。在實際工作中,如果采用傳統(tǒng)的靜態(tài)頁面進行保存文章內(nèi)容,然后再傳到服務(wù)器中,那么管理員每天就不得不花費很多時間來制作靜態(tài)網(wǎng)頁。但是如果利用數(shù)據(jù)庫和動態(tài)網(wǎng)頁技術(shù)來保存文章信息,就可以很大程度上減少信息管理人員的工作量,提高工作效率。
在互聯(lián)網(wǎng)上,新聞資訊以文章發(fā)布系統(tǒng)的形式存在的居多,其應(yīng)用非常廣泛。它可以用來添加、修改、查詢、刪除文章和公告等。這些操作過程其實就是對數(shù)據(jù)庫或者其他數(shù)據(jù)組織文件的操作過程。在學(xué)校、機關(guān)、公司等機構(gòu)中,都建立了屬于自己的網(wǎng)站,用來進行新聞和公告等對外公司信息的發(fā)布。因此開發(fā)基于.NET的文章發(fā)布系統(tǒng)具有非常重要的意義。
1需求分析
一個比較完善的文章發(fā)布系統(tǒng)不只是添加文章,它還能根據(jù)用戶選擇的版塊進行內(nèi)容分類,發(fā)布所添加的信息內(nèi)容。同時,可以根據(jù)不同的管理員權(quán)限進行后臺文章管理操作。自動生成首頁的文章連接,同時產(chǎn)生歷史文章列表,提供文章頁面的管理界面,自動發(fā)布相關(guān)文章,并且可以在文章內(nèi)容頁中插入圖片和網(wǎng)頁代碼等。除此之外,還能設(shè)置文章類別,進行文章檢索等。它能大大減輕網(wǎng)站信息更新維護的工作量,加快了信息的傳播速度,使網(wǎng)站時時保持著活力和影響力。在實際處理中,是為各個欄目設(shè)計不同的顯示模板,使在讓整個網(wǎng)站保持風格統(tǒng)一的前提下能夠各有特色。
一般地,文章發(fā)布系統(tǒng)的主要功能包括文章分類管理、文章發(fā)布管理、文章信息管理、文章查詢管理、文章信息瀏覽等5大模塊。具體功能如下:簡潔的展示文章界面;對閱讀文章的次數(shù)統(tǒng)計;對來訪人數(shù)統(tǒng)計;對特定文章的搜索;管理員有對系統(tǒng)進行管理的權(quán)限。
2系統(tǒng)分析及設(shè)計
2.1功能結(jié)構(gòu)分析
在一個文章發(fā)布系統(tǒng)中,通常有搜索文章、推薦文章、為閱讀過的文章計數(shù)、后臺發(fā)布文章、添加文章分類等功能。文章發(fā)布系統(tǒng)功能結(jié)構(gòu)如圖1所示。文章發(fā)布系統(tǒng)前臺結(jié)構(gòu)如圖2所示。
圖2文章發(fā)布系統(tǒng)后臺管理
2.2系統(tǒng)文件結(jié)構(gòu)分析
根據(jù)文章發(fā)布系統(tǒng)功能分析,文章發(fā)布系統(tǒng)的文件結(jié)構(gòu)分為6個部分,分別用于存放程序腳本(Scripts文件夾)、樣式表(Style文件夾)、使用的圖片(Image文件夾)、動畫(Swf文件夾)、后臺系統(tǒng)文件(Admin文件夾)。
2.3前臺結(jié)構(gòu)設(shè)計
網(wǎng)站的前臺主要是用于呈現(xiàn)內(nèi)容,以及和網(wǎng)友互動的平臺。所以對于功能結(jié)構(gòu)要能清晰展示,讓訪問者能體會到功能實用的同時,也要在整個界面的視覺上處理好,不同種類的網(wǎng)站,應(yīng)該用不同主題的風格。文章發(fā)布系統(tǒng)的工作還要包括:功能的策劃、界面的設(shè)計等。在此主要介紹導(dǎo)航條、數(shù)據(jù)綁定、搜索文章、推薦文章、閱讀文章計數(shù)等功能的開發(fā)。
前臺各模塊功能如下:
網(wǎng)站首頁:進行主要模塊的顯示及形象的展示。
文章搜索:進行站內(nèi)特定文章的搜索,按照輸入的關(guān)鍵詞進行。可以搜索標題、內(nèi)容和分類;文章推選:把點擊量高的文章提到首頁;
站點統(tǒng)計:進行相關(guān)數(shù)據(jù)的統(tǒng)計,包括來訪人數(shù)據(jù)、IP等;分類導(dǎo)航:將所有分類按類別列出。
2.4后臺管理系統(tǒng)分析設(shè)計
后臺管理系統(tǒng)主要實現(xiàn)文章管理功能,同時不能讓普遍訪問者能夠使用它,所以要對它進行登錄驗證。該文通過學(xué)習(xí)session進行簡單的驗證。
后臺管理系統(tǒng)功能如下:管理員登錄實現(xiàn);添加文章分類;發(fā)布、修改、刪除文章;安全退出系統(tǒng);登錄認證。
3系統(tǒng)實現(xiàn)
3.1公共類的實現(xiàn)
數(shù)據(jù)庫操作類用于返回一個數(shù)據(jù)集。在這個類中定義一個靜態(tài)的方法GetDataSet(),用于返回指定的數(shù)據(jù)集。當字段、方法、屬性、事件、運算符和構(gòu)造函數(shù)聲明中含有static關(guān)鍵詞時,它聲明為靜態(tài)成員。靜態(tài)成員不能作用于具體的實例,在這類函數(shù)中引用this會導(dǎo)致編譯時錯誤。
CDBOP類主要用于對文章系統(tǒng)數(shù)據(jù)庫操作的支持,在此處不一定全都使用到CDBOP類的所有方法,讀者可以在每一頁中按前面學(xué)習(xí)過的知識進行數(shù)據(jù)庫操作。在公共類COBOP.cs中定義8個方法以供其他功能頁面調(diào)用。分別是:SqlCon方法:用于創(chuàng)建數(shù)據(jù)庫連接;ExecSqlCom方法主要用于執(zhí)行insert、update、delete等SQL語句,返回受影響的行數(shù);DataListDataKeyField方法主要用于綁定DataList控件;ExecAdapterBind方法主要用于綁定GridView控件,并通過該控件將數(shù)據(jù)表中數(shù)據(jù)在頁面中顯示出來;Exec? AdapterBindInfoString方法首先傳遞三個參數(shù),分別為GridView控件對象、SQL語句和主鍵字段名,然后創(chuàng)建與SQL Server數(shù)據(jù)對庫的連接。
3.2導(dǎo)航的實現(xiàn)
文章分類導(dǎo)航主要位于網(wǎng)站的頂部。當單擊某個超鏈接時,就會跳轉(zhuǎn)到相應(yīng)的地方。在本例中,為了初學(xué)者能夠更好地理解,沒有用太難的方法實現(xiàn),只需用一個HTML語言即可開發(fā)導(dǎo)航。
3.3推薦文章的實現(xiàn)
在添加文章的時候,如果沒有推薦,就插入值為0。如果推薦該文章,就將其article_Recommand列的屬性值插入1。在前臺讀了文章的時候,用SQL語句根據(jù)這個列的值是否為1來判斷,如果為1,則推薦文章,則將它讀取到文章推薦的位置中。并將標題綁定到Repeater控件中。
3.4搜索文章的實現(xiàn)
文章搜索是根據(jù)URL接收參數(shù)內(nèi)容進行搜索的。在一般情況下,會將傳遞的內(nèi)容進行加密。然后調(diào)用Request對象的QueryS tring屬性獲取參數(shù)的內(nèi)容。
3.5閱讀文章的實現(xiàn)
閱讀文章的實現(xiàn)也是通過URL參數(shù)獲取文章的ID列的值,然后查詢文章。該文中主要獲取的參數(shù)是文章表中的“article_ID”列,調(diào)用Request對象的QueryString屬性獲取參數(shù)的內(nèi)容。它是文章的唯一標識,猶如身份證。
3.6閱讀文章計數(shù)的實現(xiàn)
閱讀文章計數(shù)的實現(xiàn)主要是對文章表的article_Hit列進行更新。每點擊一次,就進行一次更新。更新操作是將article_Hit列的內(nèi)容加1。但是,這會帶來一個問題,每當用戶在刷新時候,它也會更新,這就需要對更新策略有一定的限制。
3.7管理員登錄模塊的實現(xiàn)
管理員登錄過程是通過查詢數(shù)據(jù)庫中管理員信息表實現(xiàn)的。管理員在輸入用戶名和密碼后,揭底表單,然后根據(jù)用戶名和密碼查詢數(shù)據(jù)表中是否有相關(guān)的表行。如果存在,表示存在此管理員,然后通過登錄驗證。
發(fā)布文章,實質(zhì)上就是向文章表中插入數(shù)據(jù)的過程。系統(tǒng)使用SQL語言的Insert into命令。
修改文章是一個文章系統(tǒng)中,最常的功能之一,它們兩者都是對數(shù)據(jù)庫進行操作。修改文章實際上就是對文章進行更新。
3.8安全退出系統(tǒng)
安全退出功能極為重要,在一個系統(tǒng)中,這個功能通常是必需的。安全退出能使登錄信息的本地消除,他人無法再繼續(xù)用自己的權(quán)限進行操作。在ASP.NET中實現(xiàn)安全退出有很多種方式。
登錄認證也是一種安全策略,其基本意義就是判斷用戶是否登錄。
4結(jié)束語
本文對文章發(fā)布系統(tǒng)進行了詳細的分析、設(shè)計和實現(xiàn),此方案以C#為開發(fā)平臺,也可適用于其他的開發(fā)平臺,此結(jié)構(gòu)簡略,隨著功能需求的不斷提出,還需要對方案進一步完善。
參考文獻:
[1]