ASP技術(shù)WEB數(shù)據(jù)庫(kù)分析論文
時(shí)間:2022-03-20 08:13:00
導(dǎo)語(yǔ):ASP技術(shù)WEB數(shù)據(jù)庫(kù)分析論文一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
一、引言
asp(ActiveServerPages)是Microsoft于1996年11月推出的Web應(yīng)用程序開(kāi)發(fā)技術(shù)。微軟聲稱設(shè)計(jì)出了一個(gè)完美的Active平臺(tái),在微軟的文件中把ASP描述為:"一個(gè)服務(wù)器的腳本環(huán)境,在這里可以生成和運(yùn)行動(dòng)態(tài)的、交互的、高性能的web服務(wù)器應(yīng)用程序"。從這段描述我們可以看出,ASP既不是一種語(yǔ)言,也不是一種開(kāi)發(fā)工具,而是一種技術(shù)框架,其主要功能是為生成動(dòng)態(tài)的交互式的Web服務(wù)器應(yīng)用程序提供一種功能強(qiáng)大的方法或技術(shù)。ASP的主要特性是能夠把HTML、腳本、組件等有機(jī)地組合在一起,形成一個(gè)能夠在服務(wù)器上運(yùn)行的應(yīng)用程序,并把按用戶要求專門(mén)制作的標(biāo)準(zhǔn)HTML頁(yè)面送給客戶端瀏覽器。ASP屬于ActiveX技術(shù)中的服務(wù)器端技術(shù)。與我們通常在客戶端實(shí)現(xiàn)動(dòng)態(tài)主頁(yè)的技術(shù)如Javaapplet、ActiveXControl、VBScript、javascript等所不同的是,ASP中的命令腳本語(yǔ)句都是在服務(wù)器中解釋執(zhí)行,執(zhí)行后的結(jié)果產(chǎn)生HTML頁(yè)面并送到瀏覽器。由于ASP是在服務(wù)器端解釋執(zhí)行,開(kāi)發(fā)者可以不必考慮瀏覽器是否支持ASP。同時(shí),由于只是標(biāo)準(zhǔn)的HTML頁(yè)面送到瀏覽器,在瀏覽器上看不到ASP程序,因此可以防止程序被竊取,保護(hù)了開(kāi)發(fā)者的利益。
二、為什么用ASP
隨著Internet的發(fā)展,靜態(tài)Web站點(diǎn)的開(kāi)發(fā)與維護(hù)變得越來(lái)越困難,一方面信息的不斷增加和變化,使站點(diǎn)維護(hù)人員不得不經(jīng)常修改他們的網(wǎng)頁(yè),特別是基于數(shù)據(jù)庫(kù)驅(qū)動(dòng)的Web站點(diǎn)更是如此;另一方面靜態(tài)網(wǎng)頁(yè)由于不能與瀏覽者進(jìn)行有效交互,使人們感到越來(lái)越乏味,而不愿意再一次地進(jìn)入同一站點(diǎn)。所以開(kāi)發(fā)動(dòng)態(tài)網(wǎng)頁(yè)或動(dòng)態(tài)內(nèi)容成了越來(lái)越多的站點(diǎn)所追求目標(biāo)。所謂動(dòng)態(tài)內(nèi)容是由每一個(gè)用戶按照自己的需求發(fā)出請(qǐng)求而特殊制作的Web網(wǎng)頁(yè),例如訪問(wèn)某一網(wǎng)站的新用戶得到的歡迎詞與重新返回到該站點(diǎn)的用戶得到的歡迎詞是不同的。
三、ASP的特點(diǎn)
ASP具有學(xué)習(xí)快、設(shè)計(jì)快的特點(diǎn),不需花許多時(shí)間即可學(xué)會(huì)和快速設(shè)計(jì)出WEB應(yīng)用程序。
ASP的源程序碼在服務(wù)器端執(zhí)行,代碼保密性好。
集成與HTML中,無(wú)需編譯鏈接可直接執(zhí)行;使用文本編輯器如記事本,即可設(shè)計(jì)。
與瀏覽器無(wú)關(guān),用戶端只要使用常規(guī)可執(zhí)行HTML代碼的瀏覽器。
ASP是面向?qū)ο蟮模∣bject_Oriented)
四、ASP與其它相關(guān)技術(shù)的比較
隨著Internet的發(fā)展,靜態(tài)Web站點(diǎn)的開(kāi)發(fā)與維護(hù)變得越來(lái)越困難,一方面信息的不斷增加和變化使站點(diǎn)維護(hù)人員不得不經(jīng)常修改他們的網(wǎng)頁(yè),特別是基于數(shù)據(jù)庫(kù)驅(qū)動(dòng)的Web站點(diǎn)更是如此;另一方面靜態(tài)網(wǎng)頁(yè)由于不能與瀏覽者進(jìn)行有效交互,使人們感到越來(lái)越乏味,而不愿意再一次地站點(diǎn)。所以開(kāi)發(fā)動(dòng)態(tài)網(wǎng)頁(yè)或動(dòng)態(tài)內(nèi)容成了越來(lái)越多的站點(diǎn)所追求目標(biāo)。
所謂動(dòng)態(tài)內(nèi)容是由每一個(gè)用戶按照自己的需求發(fā)出請(qǐng)求而特殊制作的Web網(wǎng)頁(yè),例如訪問(wèn)某一網(wǎng)站的新用戶得到的歡迎詞與重新返回到該站點(diǎn)的用戶得到的歡迎詞是不同的。有許多技術(shù)可以實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容,目前常用的主要有兩種:CGI(公共網(wǎng)關(guān)接口)和ISAPI。
CGI是開(kāi)發(fā)較早的技術(shù),它可以很好地實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容,但它有兩個(gè)主要缺點(diǎn)。一是對(duì)每一個(gè)請(qǐng)求(請(qǐng)求一個(gè)頁(yè)面)CGI都要產(chǎn)生一個(gè)新的進(jìn)程,同一時(shí)刻發(fā)出的請(qǐng)求越多,服務(wù)器產(chǎn)生的進(jìn)程也就越多。我們知道,產(chǎn)生一個(gè)進(jìn)程是非常耗時(shí)的,而且需要用到大量的服務(wù)器RAM,所以其響應(yīng)時(shí)間相對(duì)較長(zhǎng),特別是當(dāng)進(jìn)程多到某一數(shù)量后,服務(wù)器性能將顯著下降。另一方面,CGI的主要編程語(yǔ)言是C語(yǔ)言,對(duì)大多數(shù)網(wǎng)頁(yè)開(kāi)發(fā)人員來(lái)說(shuō),要掌握和精通這些編程語(yǔ)言需要花很長(zhǎng)的時(shí)間。
ISAPI針對(duì)CGI第一個(gè)缺點(diǎn)進(jìn)行了改進(jìn),利用DLL(動(dòng)態(tài)鏈接庫(kù))技術(shù),以線程代替進(jìn)程,提高了性能和速度,但要考慮線程的同步問(wèn)題,而且開(kāi)發(fā)步驟煩瑣。
ASP除了提供CGI的所有功能外,還具有許多顯著的優(yōu)點(diǎn)。ASP運(yùn)行在Web服務(wù)器的同一個(gè)進(jìn)程中,可以更快、更有效地處理客戶請(qǐng)求;ASP提供更方便、更簡(jiǎn)單的訪問(wèn)數(shù)據(jù)庫(kù)的方法,使開(kāi)
發(fā)基于數(shù)據(jù)庫(kù)驅(qū)動(dòng)的Web應(yīng)用程序更加容易;ASP支持幾乎所有的腳本語(yǔ)言,如VBScript、Jscript和Perl,其主要腳本語(yǔ)言VBScript是基于眾多編程人員非常熟悉VisualBasic語(yǔ)言,所以ASP更容易被人們所接受。
五、ASP的工作過(guò)程
ASP技術(shù)直接建立于微軟的Web服務(wù)器之中,所有微軟的Web服務(wù)器都支持ASP,如WindowsNTInternetInformationServer(IIS),WindowsNTWorkstation以及Windows95PersonalWebServer。你不要擔(dān)心瀏覽器是否能執(zhí)行你的ASP程序,你的WEB服務(wù)器會(huì)自動(dòng)把ASP程序碼,解釋為HTML格式的主頁(yè)內(nèi)容,再送到用戶端的瀏覽器顯示出來(lái)。如圖1所。
六、用ASP實(shí)現(xiàn)用戶登陸WEB數(shù)據(jù)庫(kù)
在ASP中訪問(wèn)數(shù)據(jù)庫(kù),可采用ASP內(nèi)置ActiveX服務(wù)器組件棗數(shù)據(jù)庫(kù)訪問(wèn)組件,使用ActiveXDataObject(ActiveX數(shù)據(jù)對(duì)象,簡(jiǎn)稱ADO)的技術(shù)。ADO通過(guò)在WEB服務(wù)器上設(shè)定ODBC,來(lái)建立與多種數(shù)據(jù)庫(kù)的連接,其中包括SQLServer、Oracle、Foxpro等各種大、中、小型數(shù)據(jù)庫(kù)。下面我們舉例說(shuō)明用ASP實(shí)現(xiàn)用戶登陸WEB數(shù)據(jù)庫(kù)的過(guò)程。
1.用戶在客戶機(jī)瀏覽器上輸入一個(gè)URL地址并回車,請(qǐng)求一個(gè)頁(yè)面。
例如yin/User_Login/default.htm。
2.服務(wù)器接受用戶請(qǐng)求,調(diào)出相應(yīng)頁(yè)面(假設(shè)該頁(yè)面含有一個(gè)表單)。
例如default.htm,其代碼如下:
<html>
<head>
<metaname="GENERATOR"content="MicrosoftFrontPage3.0">
<title>系統(tǒng)登錄</title>
</head>
<h2align="center">系統(tǒng)登錄</h2><hr>
<formmethod="post"action=”user_login.asp”name=”form”>
<center>
請(qǐng)輸入用戶名:<inputname="username"type="text">
請(qǐng)輸入口令:<inputtype="password"name="password"size="14">
<br>
<inputtype="submit"value="登錄"name="submit">
<inputtype="reset"value="復(fù)位"name="reset">
</center></form></body>
</html>
當(dāng)瀏覽器端填入要查詢的用戶名和口令并按下submit按鈕時(shí),它將用戶名以u(píng)sername,口令以password的變量形式送到user_login.asp中。
3.服務(wù)器把剛調(diào)出的含有表單的頁(yè)面送給客戶機(jī)瀏覽器,系統(tǒng)login.htm在IE瀏覽器中的顯示情況如圖2所示.。
4.用戶填寫(xiě)完表單,單擊"提交"按鈕把數(shù)據(jù)送給服務(wù)器,假設(shè)表單中Action的URL地址是帶有擴(kuò)展名.asp的文件。例如action=user_login.asp。服務(wù)器運(yùn)行該ASP文件,取出用戶提交的信息。如果ASP文件需要從數(shù)據(jù)庫(kù)得到信息,那么它與數(shù)據(jù)庫(kù)連接并從數(shù)據(jù)庫(kù)取出數(shù)據(jù)。這里我們假設(shè)有一個(gè)Sqlserver7.0的用戶(USER)表(USERNAME,PASSWORD),我們要求用戶在輸入正確的用戶名和口令后,給出提示信息。正如前所述,我們先在WEBSERVER上配置了ODBCSystemDatasource(TA),UserID(YIN)。