董寶陽,付延霞
鄭州理工職業(yè)學(xué)院信息工程系,河南 鄭州 451150
ASP(Active Server Page)是Microsoft公司1996年底推出的Web應(yīng)用程序開發(fā)技術(shù),它是一個服務(wù)器端的多腳本執(zhí)行環(huán)境,可以用它產(chǎn)生并執(zhí)行交互的、動態(tài)的、高性能的Web服務(wù)器應(yīng)用程序。有人預(yù)測,ASP正慢慢成為動態(tài)Web 應(yīng)用程序開發(fā)環(huán)境的主流。
簡單地說Active Server Pages 是將HTML和其他網(wǎng)頁內(nèi)容與腳本編程代碼(在加載網(wǎng)頁時,通過WEB服務(wù)器在服務(wù)器執(zhí)行)進行組合的方式,ASP是明白的,直觀的和強大的技術(shù),它下載快速替換早期的微軟的技術(shù),如Internet Database Connect(IDC)和定制CGI及ISAPI應(yīng)用程序[1]。
ASP既不是一種語言,也不是一種開發(fā)工具,而是一種技術(shù)框架,它的主要特性是能夠把HTML語言,腳本語言、組件等有機組合起來,其應(yīng)用程由服務(wù)器端解釋并運行,將動態(tài)生成的HTML頁面?zhèn)鬟f給客戶端瀏覽器。
ASP的一般工作過程如圖所示
1)用戶在客戶機瀏覽器上輸入一個URL地址①,服務(wù)器接受請求并調(diào)出相 應(yīng)的頁面,送給客戶機的瀏覽器②;
2)用戶填好表單并提交HTTP請求把數(shù)據(jù)傳遞給服務(wù)器③,這時在服務(wù)器端執(zhí)行一表單所設(shè)定的應(yīng)用程序(*.ASP),而不是一個簡單的HTML文件④;
3)在服務(wù)器端運行*.ASP文件,分析表單的輸入數(shù)據(jù);
4)如果需要從數(shù)據(jù)庫中得到信息,ASP通過ActiveX組件ADO(ActiveX Data Object)和ODBC接口與數(shù)據(jù)庫交互⑤;
5)使用查詢語言(SQL)從數(shù)據(jù)庫中取出信息⑥,并將執(zhí)行結(jié)果動態(tài)生成一個HTML頁面返回客戶機的瀏覽器端⑦,如可以用表格實現(xiàn)顯示后臺數(shù)據(jù)庫表中有關(guān)字段的內(nèi)容。
ASP是服務(wù)器端的腳本執(zhí)行環(huán)境,可用來產(chǎn)生和執(zhí)行動態(tài)的高性能的WEB服務(wù)器程序。當(dāng)用戶使用瀏覽器請求ASP主頁時,Web服務(wù)器響應(yīng),調(diào)用ASP引擎來執(zhí)行ASP文件,并解釋其中的腳本語言(JScript 或VBScript),通過ODBC連接數(shù)據(jù)庫,由數(shù)據(jù)庫訪問組件ADO(ActiveX Data Objects)完成數(shù)據(jù)庫操作,最后ASP生成包含有數(shù)據(jù)查詢結(jié)果的HTML主頁返回用戶端顯示[3]。由于ASP在服務(wù)器端運行,運行結(jié)果以HTML主頁形式返回用戶瀏覽器,因而ASP源程序不會泄密,增加了系統(tǒng)的安全保密性。此外,ASP是面向?qū)ο蟮哪_本環(huán)境,用戶可自行增加ActiveX組件來擴充其功能,拓展應(yīng)用范圍。
所謂Web數(shù)據(jù)庫管理系統(tǒng)是指基于Web模式的DBMS的信息服務(wù),充分發(fā)揮DBMS高效的數(shù)據(jù)存儲和管理能力,以Web這種瀏覽器/服務(wù)器(B/S)模式為平臺,將客戶端融入統(tǒng)一的Web瀏覽器,為Internet用戶提供使用簡便,內(nèi)容豐富的服務(wù)。Web數(shù)據(jù)庫管理系統(tǒng)必將成為Internet 提供的核心服務(wù)[4]。
要對數(shù)據(jù)庫進行操作,首先要連接數(shù)據(jù)庫,這就要用到Connection對象.具體連接方法有如下兩種.
2.2.1 利用數(shù)據(jù)源的連接方法
2.2.2 不利用數(shù)據(jù)源的連接方法
使用數(shù)據(jù)源的連接方法盡管簡單,但是需要在服務(wù)器端設(shè)置數(shù)據(jù)源。如果希望把一個程序從一個服務(wù)器移植到另一個服務(wù)器上,還需要在另一個服務(wù)器上設(shè)置數(shù)據(jù)源,比較麻煩,下面不利用數(shù)據(jù)源的連接方法:
2.2.3 ASP訪問數(shù)據(jù)庫步驟
在ASP中,使用ADO組件訪問后臺數(shù)據(jù)庫,可通過以下步驟進行:下面說明使用ASP技術(shù)訪問Web數(shù)據(jù)庫的基本方法和步驟:
1)確定數(shù)據(jù)源
要訪問網(wǎng)上數(shù)據(jù)庫,首先必須設(shè)定數(shù)據(jù)源,在控制面板的ODBC建立相應(yīng)的用戶/系統(tǒng)DSN(數(shù)據(jù)源名),指定所用的驅(qū)動程序,在數(shù)據(jù)來源名稱中輸入DSN名,并選定數(shù)據(jù)庫。
2)定義數(shù)據(jù)庫組件
使用內(nèi)置對象“Server.Createobject”建立連接的對象:SetConn=Server.Createobject("ADODB.Connection")用 “Open”打開待訪的數(shù)據(jù)庫: Conn.Open“待訪問的數(shù)據(jù)名稱”
3)設(shè)定SQL語句,對數(shù)據(jù)庫進行操作
Set RS=Conn.execute ("Select...From...Where...”)其中RS為結(jié)果集對象名(Recordsets),其常用的屬性如下:
4)利用Recordsets對象所提供的屬性,顯示查詢結(jié)果 如將查詢結(jié)果顯示在一個表格中:
5)關(guān)閉結(jié)果集對象,斷開與數(shù)據(jù)庫的連接
ASP訪問數(shù)據(jù)庫技術(shù),不但可以在WEB網(wǎng)絡(luò)中使用,如常見的BBS,留言板,聊天室通常是用動態(tài)網(wǎng)頁實現(xiàn)的,而且也可以在單位的局域網(wǎng)中使用,是一項應(yīng)用面較廣而且較實用的技術(shù),在學(xué)生成績管理,圖書管理,電子商務(wù)管理等多方面應(yīng)用效果較理想。ASP本身包含了一個DLL文件,名字名asp.dll,缺省安裝在Winntsystem32inetsrv目錄下。這個DLL文件負(fù)責(zé)得到一個ASP頁面(由文件擴展名.asp標(biāo)識),然后對它進行分析,尋找服務(wù)器端腳本內(nèi)容。這個腳本傳送給相應(yīng)的腳本引擎,腳本的執(zhí)行結(jié)果與ASP頁中的HTML和模板文本結(jié)合在一起。完整的頁面會送到WEB服務(wù)器,從那里送往原先提出請求的客戶端。利用ADO技術(shù)結(jié)合ACCESS數(shù)據(jù)庫,采用本文所述方法可以方便快速的開發(fā)小型數(shù)據(jù)庫應(yīng)用系統(tǒng)。ADO與ASP結(jié)合來,具有良好的數(shù)據(jù)庫兼容性,能夠連接多種支持ODBC的數(shù)據(jù)庫,因而是一種較安全WEB數(shù)據(jù)通信庫訪問解決方案.
[1]Alex Homer.ASP3.0專業(yè)Web技術(shù)[M].1版.人民郵電出版社,2000,12.
[2]劉洪海.網(wǎng)絡(luò)數(shù)據(jù)庫開發(fā)實戰(zhàn)ASP電子商務(wù)[M].1版.中國鐵道出版社,2000.
[3]尚俊杰.網(wǎng)絡(luò)程序設(shè)計---ASP[M].4版.清華大學(xué)出版社,2004.
[4]Richard Anderson Chris Blexrud.ASP高級編程[M].1版.機械工業(yè)出版社,2000.