摘要:ASP作為目前一種比較成熟的服務(wù)器端腳本編寫(xiě)環(huán)境,在網(wǎng)頁(yè)制作中得到廣泛的應(yīng)用。該文介紹了開(kāi)發(fā)動(dòng)態(tài)網(wǎng)頁(yè)的新技術(shù)ASP的基本概念,并通過(guò)基于Web的在線教育系統(tǒng)這一實(shí)例展示了它是如何與數(shù)據(jù)庫(kù)相連的。
關(guān)鍵詞:ASP技術(shù);ADO;SQL;Web數(shù)據(jù)庫(kù)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2009)36-10182-02
The Design and Realization of Online Education System Based on ASP Technology
WU Jin
(Modern Education Technology Center, Anhui University of Architecture, Hefei 230031, China)
Abstract: As a riper server end script environment at present, ASP has an extensive application in web-page making. The author presents basic conceptions of ASP, the new technology of the dynamic web-page developing, and has shown how it link the database through the instance of online education system in this article.
Key words: ASP; ADO; SQL; Web database
運(yùn)用HTML編寫(xiě)靜態(tài)網(wǎng)頁(yè)已有好幾年的歷史了,隨著近年Internet的發(fā)展,網(wǎng)絡(luò)應(yīng)用系統(tǒng)要求信息量大、動(dòng)態(tài)、穩(wěn)定和較高的執(zhí)行效率。這樣僅用HTML方法已無(wú)法滿足用戶的需求。因此,服務(wù)器端就開(kāi)始擴(kuò)充相應(yīng)的延伸功能,于是就引入了ISAPI(Internet Server Application Programming Interface)、CGI(Common Gateway Interface)、和ASP(Active Server Pages)等技術(shù),其中ASP技術(shù)就是在這種環(huán)境下茁壯成長(zhǎng)的。
與此同時(shí),ASP與數(shù)據(jù)庫(kù)的結(jié)合是必不可少的,它利用特殊符號(hào)(<%和%>)來(lái)區(qū)分HTML與必須經(jīng)過(guò)服務(wù)器翻譯才能送往客戶端的命令,如此組成一個(gè)動(dòng)態(tài)并能存取服務(wù)器端數(shù)據(jù)庫(kù)網(wǎng)頁(yè)。除此之外,還可以用ASP結(jié)合HTML頁(yè)面、指令命令和COM組件,來(lái)建立交互式Web或功能強(qiáng)大的Web應(yīng)用程序,并且所有這些都可以輕易地開(kāi)發(fā)和修改。本文研究了一個(gè)基于ASP技術(shù)的在線教育系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)方案。
1 系統(tǒng)設(shè)計(jì)
1) 系統(tǒng)總體結(jié)構(gòu)
網(wǎng)站的總體結(jié)構(gòu)分為前臺(tái)服務(wù)和后臺(tái)管理兩大部分,Web服務(wù)器采用微軟公司的IIS5.0,用戶通過(guò)瀏覽器訪問(wèn)前臺(tái)的網(wǎng)頁(yè)程序,系統(tǒng)管理員負(fù)責(zé)維護(hù)整個(gè)網(wǎng)站系統(tǒng)的前后臺(tái)程序,前臺(tái)服務(wù)程序所需的數(shù)據(jù)庫(kù)服務(wù)是通過(guò)后臺(tái)管理程序提供。這樣的話,前臺(tái)與后臺(tái)又形成了一個(gè)整體。
網(wǎng)站的邏輯結(jié)構(gòu)如圖1所示。
2) 確定策略
靜態(tài)的網(wǎng)頁(yè)使用Macro media Dreamweave MX來(lái)制作,在靜態(tài)網(wǎng)頁(yè)的HTMI代碼中加入ASP語(yǔ)言以實(shí)現(xiàn)其動(dòng)態(tài)效果,而服務(wù)器軟件使用Micro soft windows 2000 Server所自帶的IIS。
2 關(guān)鍵技術(shù)
1) 用ASP實(shí)現(xiàn)網(wǎng)絡(luò)與數(shù)據(jù)庫(kù)的接口
ASP給web數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)者提供一個(gè)靈活、易用、可擴(kuò)展的方法,使用該方法可在Internet應(yīng)用中與支持ODBC標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)進(jìn)行交互,ASP中包含了許多Active X服務(wù)器構(gòu)件,ASP正是通過(guò)這些Activex服務(wù)器構(gòu)件來(lái)擴(kuò)展腳本的能力。
ADO是Mcrosoft推出的基于ODBC的數(shù)據(jù)庫(kù)訪問(wèn)對(duì)象,是一個(gè)ASP內(nèi)置的服務(wù)器組件(ActiveX server component)中的數(shù)據(jù)庫(kù)訪問(wèn)組件(Database Access Component)提供的技術(shù),與ASP結(jié)合起來(lái),建立提供數(shù)據(jù)庫(kù)信息的網(wǎng)頁(yè)內(nèi)容,通過(guò)在網(wǎng)頁(yè)中執(zhí)行SQL命令,對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢、插入、更新、刪除等操作。ADO中可以用VB script和Jave script語(yǔ)言來(lái)控制數(shù)據(jù)庫(kù)的訪問(wèn)和查詢結(jié)果的輸出,ADO中使用Record set對(duì)象對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作;從贍可以連接多種支持ODBC的數(shù)據(jù)庫(kù),如SQL Server、Oracle、Access等?!獋€(gè)包含ASP腳本的Web數(shù)據(jù)庫(kù)應(yīng)用程序的典型運(yùn)行過(guò)程如下:當(dāng)一個(gè)瀏覽器從Web服務(wù)器請(qǐng)求一個(gè).asp文件時(shí),ASP腳本開(kāi)始運(yùn)行,此時(shí),.asp文件使用數(shù)據(jù)庫(kù)訪問(wèn)構(gòu)件通過(guò)ADO訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器,然后從數(shù)據(jù)庫(kù)服務(wù)器接收處理結(jié)果,并且產(chǎn)生相應(yīng)的web頁(yè)和數(shù)據(jù)送回到用戶瀏覽器。
2) ASP的組件內(nèi)置對(duì)象的使用
要想利用ASP技術(shù)進(jìn)行設(shè)計(jì)編程,必須要熟悉ASP內(nèi)建對(duì)象以及一些常用組件的使用,ASP內(nèi)置 Application、ASPError、Request、Response、Session、0biectContext、Server等7個(gè)對(duì)象(0bject),每個(gè)對(duì)象有各自的屬性(ProPerty)、方法(Method)、集合(Collection)或事件(Event)。例如我們要實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)就用到組件ActiveServer Database Access compoent(活動(dòng)服務(wù)器頁(yè)數(shù)據(jù)庫(kù)訪問(wèn)組件),而實(shí)現(xiàn)采用的組件為ADODB,它包括了三個(gè)基本的對(duì)象:① Connection對(duì)象 ② Command對(duì)象 ③Recodset對(duì)象
利用這些對(duì)象,可以完成對(duì)數(shù)據(jù)庫(kù)的一些基本操作,如建立一個(gè)數(shù)據(jù)庫(kù)連接,執(zhí)行查詢,顯示記錄,刪除記錄等。
3 數(shù)據(jù)庫(kù)的設(shè)計(jì)和實(shí)現(xiàn)
本系統(tǒng)是在windows 2000服務(wù)器下開(kāi)發(fā)的,開(kāi)發(fā)數(shù)據(jù)庫(kù)使用的SQLServer 2000。根據(jù)系統(tǒng)功能設(shè)計(jì)要求和模塊劃分,本站的數(shù)據(jù)庫(kù)主要存儲(chǔ)資料信息、教師信息、回復(fù)信息和欄目信息。
3.1 數(shù)據(jù)庫(kù)需求分析
根據(jù)系統(tǒng)需求,可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):
1) 資料信息表:MainD(自動(dòng)編號(hào))、標(biāo)題、簡(jiǎn)介、文件大小、文件類型、更新日期、相關(guān)課程、教師姓名、文件地址和下載次數(shù)等。
2) 教師信息:teacherid(自動(dòng)編號(hào))、教師姓名、所屬學(xué)院、所屬系、E-mail地址、個(gè)人主頁(yè)、QQ號(hào)碼和通信地址。
3) 回復(fù)作業(yè)表:ID(自動(dòng)編號(hào))、學(xué)生姓名、作業(yè)標(biāo)題、作業(yè)內(nèi)容、作業(yè)的id號(hào)和回復(fù)日期。
4) 欄目信息表:typeid(自動(dòng)編號(hào))、欄目名稱。
3.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)
資料信息表main。
以此類推可以設(shè)計(jì)教師信息表teacher、回復(fù)作業(yè)表work、欄目信息表type、綜合信息表config。
4 網(wǎng)絡(luò)頁(yè)面和模塊的設(shè)計(jì)與開(kāi)發(fā)
1) 系統(tǒng)公用模塊的設(shè)計(jì)與開(kāi)發(fā)
系統(tǒng)公用模塊有數(shù)據(jù)庫(kù)連接文件conn.asp以及fenlei.asp等文件。這些文件里的內(nèi)容可以被其他模塊包含和調(diào)用,這種設(shè)計(jì)使的各個(gè)模塊相對(duì)較為簡(jiǎn)單,易于設(shè)計(jì)實(shí)現(xiàn)。
如:我們?cè)O(shè)計(jì)asp文件與SQL Server 中的edu數(shù)據(jù)庫(kù)相連,只需要在conn.asp中添加如下語(yǔ)句:
<% Set conn = Server.CreateObject(\"ADODB.Connection\")
connstr=\"Provider=SQLOLEDB;Server=(local);Database=edu;UID=edu;pwd=eduedu;\"
conn.Open connstr
%>
再在需要與數(shù)據(jù)庫(kù)相連的.asp文件中輸入以下包含語(yǔ)句即可。
2) 主頁(yè)面的設(shè)計(jì)與開(kāi)發(fā)
主頁(yè)面是該系統(tǒng)的啟始頁(yè)面,顯示系統(tǒng)的主要功能模塊。具體包括:公告欄、教師登錄窗口、管理員登錄窗口、資料列表、教師列表、網(wǎng)絡(luò)課堂、快速搜索和記數(shù)統(tǒng)計(jì)、網(wǎng)上考試等功能模塊。
如果想修改主頁(yè)面,則可以通過(guò)打開(kāi)程序中的HEAD.asp在FRONTPAGE中直接修改。
3) 資料顯示模塊的設(shè)計(jì)
在資料顯示模塊里設(shè)計(jì)了兩個(gè)模塊:資料顯示和資料搜索。資料顯示子模塊包含以下資料顯示子模塊包含以下頁(yè)面:Index.asp、Detail.asp、Download.asp、Teacherinfo.asp
資料搜索子模塊包含以下頁(yè)面:Serarch.asp、List.asp
4) 資料管理模塊的設(shè)計(jì)
在資料管理模塊中我們包括以下子模塊:管理員登錄、資料欄目管理、資料信息管理
而在管理員登錄子模塊包含以下頁(yè)面:adminlogin.asp、admincheck.asp、adminmian.asp
在資料欄目管理子模塊包含以下頁(yè)面:addtype.asp、addtypeok.asp、edittype.asp、edittypeok.asp、
deltype.asp、deltypeok.asp
在資料信息管理子模塊包含以下頁(yè)面:pub.asp、pubok.asp、list.asp、edit.asp、editok.asp、
admindelcourseware.asp、admindelcoursewareok.asp
5) 教師管理模塊的設(shè)計(jì)
教師管理模塊包含以下頁(yè)面:adminteacher.asp、adminsearchteacher.asp、addteacher.asp、addteacherok.asp、editteacher.asp、editteacherok.asp、delteacher.asp、delteacherok.asp
在管理員登錄后選擇教師管理界面進(jìn)入教師搜索界面在這里需要用戶填寫(xiě)html表單元素4個(gè)。
5 結(jié)束語(yǔ)
網(wǎng)絡(luò)教育應(yīng)用系統(tǒng)的出現(xiàn)和發(fā)展正逐步改變教育的方式,網(wǎng)絡(luò)技術(shù)與計(jì)算機(jī)多媒體技術(shù)的融合為交互式的遠(yuǎn)程教育系統(tǒng)提供了基礎(chǔ)平臺(tái)。該文正是探討ASP技術(shù)在教育領(lǐng)域的應(yīng)用從而使得網(wǎng)絡(luò)教育獨(dú)具魅力。隨著網(wǎng)絡(luò)技術(shù)和計(jì)算機(jī)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)教育必定也會(huì)不斷地發(fā)展完善,在教育領(lǐng)域中發(fā)揮出更大的作用。
參考文獻(xiàn):
[1] 蘇膳,邵謙謙.ASP編程技巧與實(shí)例分析[M].北京:中國(guó)水利水電出版社,2001.
[2] 龍馬工作室.ASP+SQL Server組建動(dòng)態(tài)網(wǎng)站實(shí)例精講[M].北京:人民郵電出版社,2004.
[3] 梁建武,陳語(yǔ)林.ASP程序設(shè)計(jì)[M].北京:中國(guó)水利水電出版社,2001.
[4] 陳敏,高華偉.web網(wǎng)站ASP的安全管理[J].現(xiàn)代圖書(shū)情報(bào)技術(shù),2002(3).
[5] 陳書(shū)旺,蘇佳蘭.陳水強(qiáng),等.使用ASP技術(shù)構(gòu)建信息網(wǎng)網(wǎng)站[J].河北工業(yè)科技,2002,19(3):13-15.