黃瑩娜 劉 源 項(xiàng)仁平
摘要:采用ASP.NET(C#)編寫個(gè)人博客網(wǎng)站,易于管理,可重用性強(qiáng)。
關(guān)鍵詞:ASP.NF;博客;B/S;C#
一、引言
博客Blog是Weblog的縮寫,中文意思是“網(wǎng)絡(luò)日志”,它通常是由簡(jiǎn)短且經(jīng)常更新的帖子所構(gòu)成,并且按照年份和日期的倒序排列。
本博客網(wǎng)站采用ASP.NET(C#)編寫,以SQL Server為后臺(tái)數(shù)據(jù)庫(kù),利用微軟.NET編輯工具Visual Studio 2005來(lái)創(chuàng)建網(wǎng)站,利用ADO.NET接口技術(shù)連接數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)操作。11l本博客網(wǎng)站分網(wǎng)站管理員、博客用戶和游客三類對(duì)象。
二、技術(shù)
ASP.Net與現(xiàn)存的ASP保持語(yǔ)法兼容,實(shí)際上我們可將現(xiàn)有的ASP源碼文件擴(kuò)展名“.asp”改為“aspx”,然后配置在支持ASPNet運(yùn)行時(shí)的IIS服務(wù)器的Web目錄下,即可獲得ASP.Net運(yùn)行時(shí)的全部?jī)?yōu)越性能。目前ASPNet的開(kāi)發(fā)語(yǔ)言有三種:C#,Visual Basic.Net和Jscript。本網(wǎng)站的開(kāi)發(fā)使用的是C#。
本系統(tǒng)采用兩層架構(gòu),web展示層的每個(gè)頁(yè)面可以直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),而不用過(guò)多的實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接和操作接口。其開(kāi)發(fā)和調(diào)試的過(guò)程簡(jiǎn)單,但是日后的維護(hù)相當(dāng)煩瑣。數(shù)據(jù)庫(kù)是系統(tǒng)的最底層。數(shù)據(jù)訪問(wèn)模塊包含在web展示層中。Web展示層通過(guò)數(shù)據(jù)訪問(wèn)模塊訪問(wèn)數(shù)據(jù)庫(kù)。數(shù)據(jù)訪問(wèn)模塊一般封裝數(shù)據(jù)庫(kù)的查詢、添加、更新、刪除等操作,同時(shí)還為web展示層提供訪問(wèn)數(shù)據(jù)庫(kù)的接口。
本系統(tǒng)采用ASP.Net應(yīng)用程序最基本的兩層架構(gòu)模式,各層的功能介紹如下:Web展示層是系統(tǒng)最高層,向用戶展示各種界面。用戶通過(guò)界面對(duì)系統(tǒng)進(jìn)行操作,并實(shí)現(xiàn)用戶各種操作信息的添加、修改和刪除,與數(shù)據(jù)庫(kù)直接關(guān)聯(lián)。其數(shù)據(jù)庫(kù)模塊封裝了對(duì)數(shù)據(jù)庫(kù)的所有操作,包括數(shù)據(jù)的添加、修改、刪除和查詢。數(shù)據(jù)庫(kù)則用來(lái)存儲(chǔ)本系統(tǒng)的所有數(shù)據(jù)。
三、實(shí)現(xiàn)
博客系統(tǒng)實(shí)現(xiàn)了博客用戶和游客之間基于網(wǎng)絡(luò)的信息交流與溝通。系統(tǒng)的用戶主要有三種:博客用戶、游客和系統(tǒng)管理員,博客用戶先注冊(cè)才能使用本系統(tǒng)。系統(tǒng)主要由四個(gè)模塊構(gòu)成:
1評(píng)論:評(píng)論序號(hào)、評(píng)論用戶ID、評(píng)論用戶昵稱、評(píng)論標(biāo)題、評(píng)論內(nèi)容、評(píng)論時(shí)間、評(píng)論的文章序號(hào)
2文章信息:文章序號(hào)、文章作者、文章標(biāo)題、摘要、文章內(nèi)容、文章發(fā)表日期、文章人氣、回復(fù)、文章類型編號(hào)、文章類型名稱、文章回復(fù)數(shù)
3留言:留言編號(hào)、網(wǎng)友昵稱、留言標(biāo)題、個(gè)人主頁(yè)、留言內(nèi)容、留言時(shí)間、留言回夏
4鏈接:鏈接編號(hào)、鏈接名稱、鏈接地址
本系統(tǒng)根據(jù)用戶登錄身份不同,賦予不同的管理權(quán)限。管理員可以實(shí)現(xiàn)管理員密碼的修改、用戶刪除和查詢及刪除和瀏覽文章;博客用戶可以實(shí)現(xiàn)對(duì)自己信息的修改,管理文章、分類、鏈接和密碼的修改;游客只能夠?qū)崿F(xiàn)瀏覽博客文章,匿名發(fā)表評(píng)論,給博客用戶留言和注冊(cè)成為博客用戶。
在實(shí)現(xiàn)過(guò)程中,登錄模塊首頁(yè)為login aspx文件,為了保證用戶登錄后不再重復(fù)顯示登錄窗口,設(shè)置了一個(gè)Session變量添加登錄信息和自定義驗(yàn)證控件RequiredFieodVa,idater對(duì)用戶名進(jìn)行檢查。注冊(cè)的用戶兩次輸入的密碼要求必須一致,由CompareValidator控件控制。另外,在用戶名字段加入了CompareVa,idator控件,對(duì)其編程驗(yàn)證數(shù)據(jù)庫(kù)中是否已經(jīng)存在填寫的用戶名,若已經(jīng)存在,提示用戶名存在;若不存在,注冊(cè)條件均符合,則提示注冊(cè)成功并返回用戶登錄界面。
數(shù)據(jù)庫(kù)中的表關(guān)聯(lián)關(guān)系:分類表ST_class的ST_c_id字段為主鍵,文章表ST—news的ST_c_id宇段為外鍵。文章表ST news的S7_n_id字段為主鍵,回復(fù)信息表ST_replav的ST_n_id字段為外鍵。
公用模塊編寫,數(shù)據(jù)庫(kù)連接編寫。為了應(yīng)用程序方便移植,為版本控制提供更好的支持,可以在應(yīng)用程序配置文件(也就是WEB CONFOG)中設(shè)置數(shù)據(jù)庫(kù)連接信息。添加如下語(yǔ)句:
[注]數(shù)據(jù)庫(kù)名、用戶名、密碼、服務(wù)器地址都必須和運(yùn)行或調(diào)試的計(jì)算機(jī)上的保持一致。
四、結(jié)論
基于ASP.NET的博客網(wǎng)站突出在信息交流的即時(shí)性,本系統(tǒng)使用了.NET框架來(lái)創(chuàng)建一個(gè)實(shí)際的Web應(yīng)用。在社會(huì)信息化需求不斷增長(zhǎng)的環(huán)境下,如果能合理使用這種框架來(lái)開(kāi)發(fā)滿足實(shí)際需要的應(yīng)用程序,不僅能使我們的開(kāi)發(fā)進(jìn)度提前,而且也增強(qiáng)了系統(tǒng)的可維護(hù)性,并提供系統(tǒng)更好的性能。