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