[摘要]ASP是一個(gè)位于服務(wù)器端的腳本運(yùn)行環(huán)境,通過這種環(huán)境,用戶可以創(chuàng)建和運(yùn)行動(dòng)態(tài)的交互式Web服務(wù)器應(yīng)用程序,如交互式動(dòng)態(tài)網(wǎng)頁,包括使用HTML表單收集和處理信息,上傳與下載、web數(shù)據(jù)庫存取等等。本文通過對(duì)ASP技術(shù)的介紹和運(yùn)用實(shí)例說明了ASP技術(shù)在交互式網(wǎng)頁設(shè)計(jì)中登陸WEB數(shù)據(jù)庫系統(tǒng)中實(shí)現(xiàn)方法。
[關(guān)鍵詞]ASP WEB數(shù)據(jù)庫 ADO(ACTIVEX DATA OBJET)
一、前言
ASP即Microsoft Active Server Pages,是一套微軟開發(fā)的服務(wù)器端腳本環(huán)境,ASP內(nèi)含于 IIS 4.0和 5.0之中,通過ASP我們可以結(jié)合HTML網(wǎng)頁、ASP指令和ActiveX元件建立動(dòng)態(tài)、交互且高效的WEB服務(wù)器應(yīng)用程序。有了ASP你就不必?fù)?dān)心客戶的瀏覽器是否能運(yùn)行你所編寫的代碼,因?yàn)樗械某绦蚨紝⒃诜?wù)器端執(zhí)行,包括所有嵌在普通HTML中的腳本程序。當(dāng)程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了交互的速度。
二、ASP動(dòng)態(tài)網(wǎng)頁的技術(shù)優(yōu)勢(shì)及其特點(diǎn)
隨著Internet的發(fā)展,靜態(tài)Web站點(diǎn)的開發(fā)與維護(hù)變得越來越困難,一方面,信息的不斷增加和變化,使站點(diǎn)維護(hù)人員不得不經(jīng)常修改他們的網(wǎng)頁,特別是基于數(shù)據(jù)庫驅(qū)動(dòng)的Web站點(diǎn)更是如此;另一方面,靜態(tài)網(wǎng)頁由于不能與瀏覽者進(jìn)行有效交互,使人們感到越來越乏味,而不愿意再一次地進(jìn)入同一站點(diǎn)。所以開發(fā)動(dòng)態(tài)網(wǎng)頁或動(dòng)態(tài)內(nèi)容成了越來越多的站點(diǎn)所追求目標(biāo)。所謂動(dòng)態(tài)內(nèi)容是由每一個(gè)用戶按照自己的需求發(fā)出請(qǐng)求而特殊制作的Web網(wǎng)頁。ASP的技術(shù)特點(diǎn)如下:(1)使用VBScript、JScript等簡(jiǎn)單易懂的腳本語言,結(jié)合HTML代碼,即可快速地完成網(wǎng)站的應(yīng)用程序。(2)無須編譯,容易編寫,可在服務(wù)器端直接執(zhí)行。(3)使用普通的文本編輯器,如Windows的記事本,即可進(jìn)行編輯設(shè)計(jì)。(4)與瀏覽器無關(guān),用戶端只要使用可執(zhí)行HTML編碼的瀏覽器,即可瀏覽ASP所設(shè)計(jì)的網(wǎng)頁內(nèi)容。ASP所使用的腳本語言(VBScript、Jscript)均在 WEB服務(wù)器端執(zhí)行,用戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言。(5)ASP的源程序,不會(huì)被傳到客戶瀏覽器,因而可以避免所寫的源程序被他人剽竊,也提高了程序的安全性。(6)可使用服務(wù)器端的腳本來產(chǎn)生客戶端的腳本。
三、訪問WEB數(shù)據(jù)庫的多種技術(shù)方案
目前,在WINDOWS環(huán)境下有多種訪問WEB數(shù)據(jù)庫的技術(shù),主要有:(1)公共網(wǎng)關(guān)接口CGI(Common Gateway Interface);(2)INTERNET數(shù)據(jù)庫連接器IDC(Internet Database Connector);(3)先進(jìn)數(shù)據(jù)庫連接器ADC(Advance Database Connector);(4)JAVA/JDBC語言編程;(5)動(dòng)態(tài)服務(wù)器頁面ASP。
四、ASP的工作原理
ASP技術(shù)直接建立于微軟的Web服務(wù)器之中,所有微軟的Web服務(wù)器都支持ASP。你不要擔(dān)心瀏覽器是否能執(zhí)行你的ASP程序,你的WEB服務(wù)器會(huì)自動(dòng)把ASP程序碼,解釋為HTML格式的主頁內(nèi)容,再送到用戶端的瀏覽器顯示出來。
ASP工作過程如下:(1)在瀏覽器地址欄輸入ASP文件名,回車——發(fā)送請(qǐng)求;(2)瀏覽器將此請(qǐng)求發(fā)送給Web服務(wù)器;(3)Web服務(wù)器接受請(qǐng)求,并根據(jù)后綴asp判斷出這是ASP請(qǐng)求;(4)Web服務(wù)器從硬盤或內(nèi)存尋找相應(yīng)的asp文件;(5)Web服務(wù)器將該文件發(fā)送到特定文件ASP.DLL中;(6)執(zhí)行該文件,將其結(jié)果生成靜態(tài)網(wǎng)頁;(7)靜態(tài)網(wǎng)頁被送回瀏覽器。
五、利用ADO技術(shù)進(jìn)行WEB數(shù)據(jù)庫訪問
在ASP中進(jìn)行數(shù)據(jù)庫訪問,可采用ADO(ActiveX Data Object)技術(shù)。ADO通過在WEB服務(wù)器上設(shè)定ODBC,可以對(duì)幾乎所有數(shù)據(jù)庫進(jìn)行讀取和寫入操作,如訪問Microsoft Access、Microsoft SQL Server和Oracle等數(shù)據(jù)庫。下面我們舉例說明用ASP實(shí)現(xiàn)用戶登陸WEB數(shù)據(jù)庫的過程。
1.在服務(wù)器端建立一個(gè)數(shù)據(jù)庫,取名studata.mdb,在其中建立一個(gè)學(xué)生表并輸入相應(yīng)內(nèi)容。
2.編寫客戶端有能夠用程序,取名default.asp,其代碼如下:
<html><head><title>數(shù)據(jù)庫數(shù)據(jù)訪問測(cè)試</title></head>
<script language=\"vbscript\"runat=server>
Sub Button1_OnClick
Response.redirect data.asp
end sub
</script><body><center>
<input type=\"button\" value=\"點(diǎn)擊讀取數(shù)據(jù)庫\" name=\"button1\">
</center></body></html>
用戶在客戶端瀏覽器上輸入一個(gè)URL地址并回車如:http://localhost/default.asp。當(dāng)瀏覽器網(wǎng)頁按下相應(yīng)按鈕時(shí),程序?qū)⒆詣?dòng)轉(zhuǎn)到data.asp網(wǎng)頁進(jìn)行服務(wù)器端數(shù)據(jù)庫訪問。
3. 在服務(wù)器端建立文件data.asp,進(jìn)行數(shù)據(jù)庫讀取并顯示。
第一步建立Connection對(duì)象的一個(gè)實(shí)例,第二步利用Open方法和Access數(shù)據(jù)驅(qū)動(dòng)程序打開服務(wù)器上的Access數(shù)據(jù)庫studata.mdb,第三步執(zhí)行SQL語句。
代碼如下:
<html><body><ul>
<% dim i
set conn=server.createobject(\"adodb.connection\")
conn.open(\"driver={microsoft access driver (*.mdb)};dbq=\"_
server.mappath(\"studata.mdb\"))
set rs=conn.execute(\"select * from 學(xué)生表\")
for i=0 to rs.fields.count-1
response.write(\"<li>\"rs(i).name)
next
conn.close()
%></ul></body></html>
六、結(jié)語
ASP除了提供訪問數(shù)據(jù)庫的服務(wù)器組件之外,還有讀寫服務(wù)器文件、訪客記數(shù)器、廣告輪播器、CONTENT LINKING管理URL等服務(wù)器組件,您還可以自己制作ACTIVEX服務(wù)器組件來擴(kuò)充ASP的功能。利用這些特點(diǎn),您可設(shè)計(jì)出非常精彩的頁面。
ASP雖然提供了功能強(qiáng)大的Web應(yīng)用程序開發(fā)環(huán)境,但和其它技術(shù)一樣,它也存在著某些缺點(diǎn)。最主要的是它只能在Windows的Web服務(wù)器上運(yùn)行。但ASP畢竟是軟件霸主微軟精心設(shè)計(jì)的一個(gè)寵兒,人們不得不慢慢向它靠攏?,F(xiàn)在越來越多的Web服務(wù)器已開始支持ASP。
ASP從推出至今只有短短的幾年時(shí)間,由于它具有開發(fā)簡(jiǎn)單、功能強(qiáng)和靈活等優(yōu)點(diǎn),現(xiàn)在已被廣泛接受,成為開發(fā)動(dòng)態(tài)網(wǎng)絡(luò)站點(diǎn)的主要技術(shù)之一。有人聲稱,ASP已在Web開發(fā)領(lǐng)域悄悄地進(jìn)行著一場(chǎng)革命。ASP正慢慢成為動(dòng)態(tài)Web應(yīng)用程序開發(fā)環(huán)境的主流。
參考文獻(xiàn):
[1]唐建國. 數(shù)據(jù)訪問新標(biāo)準(zhǔn)—ADO[J].電腦編程技巧與維護(hù),1999,(05).
[2]李剛,王茜.基于Web訪問數(shù)據(jù)庫的實(shí)現(xiàn)方案[J].計(jì)算機(jī)工程與應(yīng)用, 2000,(02).
[3]羅娟等.WEB與數(shù)據(jù)庫技術(shù)[M].計(jì)算機(jī)工程,1998,24(8).
[4]蔡丹娟等.利用ASP輕松實(shí)現(xiàn)WEB的動(dòng)態(tài)交互訪問[M].計(jì)算機(jī)應(yīng)用研究,1999,(02).
課題名稱:冰雪競(jìng)技項(xiàng)目計(jì)時(shí)裁判系統(tǒng)研究;課題負(fù)責(zé)人:許峰。
課題來源:哈爾濱醫(yī)科大學(xué)青年科學(xué)基金(06年度);課題編號(hào):060029。
(作者單位:黑龍江哈爾濱醫(yī)科大學(xué))