第一篇:ASP技術(shù)WEB數(shù)據(jù)庫分析論文
一、引言
ASp(Active Server pages)是Microsoft 于1996年11月推出的Web應(yīng)用程序開發(fā)技術(shù)。微軟聲稱設(shè)計(jì)出了一個完美的Active平臺,在微軟的文件中把ASp描述為:“一個服務(wù)器的腳本環(huán)境,在這里可以生成和運(yùn)行動態(tài)的、交互的、高性能的Web服務(wù)器應(yīng)用程序”。從這段描述我們可以看出,ASp既不是一種語言,也不是一種開發(fā)工具,而是一種技術(shù)框架,其主要功能是為生成動態(tài)的交互式的Web服務(wù)器應(yīng)用程序提供一種功能強(qiáng)大的方法或技術(shù)。ASp的主要特性是能夠把HTML、腳本、組件等有機(jī)地組合在一起,形成一個能夠在服務(wù)器上運(yùn)行的應(yīng)用程序,并把按用戶要求專門制作的標(biāo)準(zhǔn)HTML頁面送給客戶端瀏覽器。ASp屬于ActiveX 技術(shù)中的服務(wù)器端技術(shù)。與我們通常在客戶端實(shí)現(xiàn)動態(tài)主頁的技術(shù)如Java applet、ActiveX Control、VB Script、javascript等所不同的是,ASp中的命令腳本語句都是在服務(wù)器中解釋執(zhí)行,執(zhí)行后的結(jié)果產(chǎn)生HTML 頁面并送到瀏覽器。由于ASp是在服務(wù)器端解釋執(zhí)行,開發(fā)者可以不必考慮瀏覽器是否支持ASp。同時,由于只是標(biāo)準(zhǔn)的HTML頁面送到瀏覽器, 在瀏覽器上看不到ASp程序,因此可以防止程序被竊取,保護(hù)了開發(fā)者的利益。
二、為什么用ASp
隨著Internet的發(fā)展,靜態(tài)Web站點(diǎn)的開發(fā)與維護(hù)變得越來越困難,一方面信息的不斷增加和變化,使站點(diǎn)維護(hù)人員不得不經(jīng)常修改他們的網(wǎng)頁,特別是基于數(shù)據(jù)庫驅(qū)動的Web站點(diǎn)更是如此;另一方面靜態(tài)網(wǎng)頁由于不能與瀏覽者進(jìn)行有效交互,使人們感到越來越乏味,而不愿意再一次地進(jìn)入同一站點(diǎn)。所以開發(fā)動態(tài)網(wǎng)頁或動態(tài)內(nèi)容成了越來越多的站點(diǎn)所追求目標(biāo)。所謂動態(tài)內(nèi)容是由每一個用戶按照自己的需求發(fā)出請求而特殊制作的Web網(wǎng)頁,例如訪問某一網(wǎng)站的新用戶得到的歡迎詞與重新返回到該站點(diǎn)的用戶得到的歡迎詞是不同的。
三、ASp的特點(diǎn)
ASp具有學(xué)習(xí)快、設(shè)計(jì)快的特點(diǎn),不需花許多時間即可學(xué)會和快速設(shè)計(jì)出WEB應(yīng)用程序。
ASp的源程序碼在服務(wù)器端執(zhí)行,代碼保密性好。
集成與HTML中,無需編譯鏈接可直接執(zhí)行;使用文本編輯器如記事本,即可設(shè)計(jì)。
與瀏覽器無關(guān),用戶端只要使用常規(guī)可執(zhí)行HTML代碼的瀏覽器。
ASp是面向?qū)ο蟮模∣bject_Oriented)
四、ASp與其它相關(guān)技術(shù)的比較
隨著Internet的發(fā)展,靜態(tài)Web站點(diǎn)的開發(fā)與維護(hù)變得越來越困難,一方面信息的不斷增加和變化使站點(diǎn)維護(hù)人員不得不經(jīng)常修改他們的網(wǎng)頁,特別是基于數(shù)據(jù)庫驅(qū)動的Web站點(diǎn)更是如此;另一方面靜態(tài)網(wǎng)頁由于不能與瀏覽者進(jìn)行有效交互,使人們感到越來越乏味,而不愿意再一次地站點(diǎn)。所以開發(fā)動態(tài)網(wǎng)頁或動態(tài)內(nèi)容成了越來越多的站點(diǎn)所追求目標(biāo)。
所謂動態(tài)內(nèi)容是由每一個用戶按照自己的需求發(fā)出請求而特殊制作的Web網(wǎng)頁,例如訪問某一網(wǎng)站的新用戶得到的歡迎詞與重新返回到該站點(diǎn)的用戶得到的歡迎詞是不同的。有許多技術(shù)可以實(shí)現(xiàn)動態(tài)內(nèi)容,目前常用的主要有兩種:CGI(公共網(wǎng)關(guān)接口)和ISApI。
CGI是開發(fā)較早的技術(shù),它可以很好地實(shí)現(xiàn)動態(tài)內(nèi)容,但它有兩個主要缺點(diǎn)。一是對每一個請求(請求一個頁面)CGI都要產(chǎn)生一個新的進(jìn)程,同一時刻發(fā)出的請求越多,服務(wù)器產(chǎn)生的進(jìn)程也就越多。我們知道,產(chǎn)生一個進(jìn)程是非常耗時的,而且需要用到大量的服務(wù)器RAM,所以其響應(yīng)時間相對較長,特別是當(dāng)進(jìn)程多到某一數(shù)量后,服務(wù)器性能將顯著下降。另一方面,CGI的主要編程語言是C語言,對大多數(shù)網(wǎng)頁開發(fā)人員來說,要掌握和精通這些編程語言需要花很長的時間。
ISApI針對CGI第一個缺點(diǎn)進(jìn)行了改進(jìn),利用DLL(動態(tài)鏈接庫)技術(shù),以線程代替進(jìn)程, 提高了性能和速度,但要考慮線程的同步問題,而且開發(fā)步驟煩瑣。
ASp除了提供CGI的所有功能外,還具有許多顯著的優(yōu)點(diǎn)。ASp運(yùn)行在Web服務(wù)器的同一個進(jìn)程中,可以更快、更有效地處理客戶請求;ASp提供更方便、更簡單的訪問數(shù)據(jù)庫的方法,使開
發(fā)基于數(shù)據(jù)庫驅(qū)動的Web應(yīng)用程序更加容易;ASp支持幾乎所有的腳本語言,如VBS cript、Jscript和perl,其主要腳本語言VBScript是基于眾多編程人員非常熟悉Visual Basic語言,所以ASp更容易被人們所接受。
五、ASp的工作過程
ASp技術(shù)直接建立于微軟的Web服務(wù)器之中,所有微軟的Web服務(wù)器都支持ASp,如Wind ows NT Internet Information Server(IIS),Windows NT Workstation 以及Windows95 personal Web Server。你不要擔(dān)心瀏覽器是否能執(zhí)行你的ASp程序,你的WEB服務(wù)器會自動把ASp程序碼,解釋為HTML格式的主頁內(nèi)容,再送到用戶端的 瀏覽器顯示出來。如圖1所。
六、用ASp實(shí)現(xiàn)用戶登陸WEB數(shù)據(jù)庫
在ASp中訪問數(shù)據(jù)庫,可采用ASp內(nèi)置ActiveX服務(wù)器組件棗數(shù)據(jù)庫訪問組件,使用ActiveX Data Object(ActiveX數(shù)據(jù)對象,簡稱ADO)的技術(shù)。ADO通過在WEB服務(wù)器上設(shè)定ODBC,來建立與多種數(shù)據(jù)庫的連接,其中包括SQL Server、Oracle、Foxpro等各種大、中、小型數(shù)據(jù)庫。下面我們舉例說明用ASp實(shí)現(xiàn)用戶登陸WEB數(shù)據(jù)庫的過程。
1.用戶在客戶機(jī)瀏覽器上輸入一個URL地址并回車,請求一個頁面。
例如http://yin/User_Login/default.htm。
2.服務(wù)器接受用戶請求,調(diào)出相應(yīng)頁面(假設(shè)該頁面含有一個表單)。
例如default.htm,其代碼如下: