|
ASP+ 被設(shè)計(jì)成與以前版本的ASP的向下兼容,在某些情況下只需要一些小的改變。你可以在現(xiàn)有 Windows 2000 服務(wù)器上,將ASP+與ASP安裝在一起。這就允許你實(shí)驗(yàn)新版本而不需要一個獨(dú)立的測試 服務(wù)器?梢岳^續(xù)使用現(xiàn)有的ASP應(yīng)用程序,在一切就緒后將其移植到到ASP+ 上,這樣你對ASP的投入 也不會受到損失。
但是只是簡單地將應(yīng)用程序移到ASP+上只能享受到新版本所提供的好處的皮毛。ASP+有許多新的 特色,使得使用大大地簡便、功能更強(qiáng)大、運(yùn)行時間效率更高,想要利用這些優(yōu)勢就需要對ASP+如何 工作有更多的了解。
在專業(yè)開發(fā)人員2000會議上,Microsoft發(fā)布了ASP+的預(yù)覽版本,讓開發(fā)人員看看它能做些什么, 并且為將來使用大大減少的代碼編寫動態(tài)Web應(yīng)用程序的可能性先激動一番。
看起來好象有很長時間了,但實(shí)際上Active Server Pages 存在才只有3年多一點(diǎn)。它開始是在 1996年年底,但是它發(fā)展很快,已經(jīng)成為當(dāng)前在Windows 環(huán)境下服務(wù)器側(cè)Web 應(yīng)用程序開發(fā)的主要 技術(shù)(使用其它執(zhí)行方法的其它平臺也接受相同的句法,如ChilliASP)。但是它并不是憑空而來, 它的發(fā)源是在很久以前。
服務(wù)器端動態(tài)Web編程
傳統(tǒng)上來說,動態(tài)Web 頁是用服務(wù)器側(cè)可執(zhí)行程序創(chuàng)建的。一個標(biāo)準(zhǔn)化的Web 服務(wù)器界面規(guī)范, 稱為Common Gateway Interface (CGI) ,允許一個可執(zhí)行程序使用從客戶機(jī)引入的請求的所有信息。 然后程序就能夠產(chǎn)生構(gòu)成返回頁面所要求的所有輸出,( HTML, 腳本代碼,文本等),然后通過Web 服務(wù)器將其發(fā)送回客戶機(jī)。
為了減輕編程人員的負(fù)擔(dān),使他們不用再去創(chuàng)建可執(zhí)行程序,類似Perl 的語言使用一種可接受 基于文本的腳本文件的應(yīng)用程序。程序員只寫出腳本,Web 服務(wù)器用Perl 解釋程序執(zhí)行它。
Microsoft用他們的Web 服務(wù)器、 Internet信息服務(wù)器介紹了另一種Web 服務(wù)器界面。它被稱為 Internet服務(wù)器應(yīng)用程序編程界面 (ISAPI), 它與CGI的不同在于,它允許動態(tài)鏈接庫內(nèi)的編譯代碼 直接由Web 服務(wù)器執(zhí)行。而用CGI,代碼可以使用客戶請求中的所有信息,它產(chǎn)生返回頁面的全部 輸出。
Microsoft的Web 領(lǐng)域的大多數(shù)開發(fā)都是基于ISAPI 。一個早期而短命的產(chǎn)品是dbWeb,這是 一種數(shù)據(jù)訪問技術(shù),為訪問存儲在服務(wù)器上的數(shù)據(jù)和與客戶機(jī)相互作用提供一系列的搜索、過濾、 格式化功能。
第二種開發(fā)是Internet 數(shù)據(jù)庫連接器(IDC)。后來證實(shí)這是對開發(fā)人員的巨大沖擊,因?yàn)樗?br>不但快速、高效(不象dbWeb),而且它更加通用、易于編程。IDC介紹了模板的概念,允許編程 人員輕易地改編現(xiàn)有HTML頁面,利用它的主要部分,圍繞它建立新的應(yīng)用程序。
IDC 給每個“頁面”使用兩個文本文件。第一個是一個簡單的腳本,它定義從基于數(shù)據(jù)庫的 服務(wù)器采集數(shù)據(jù)的方式。從本質(zhì)上說,它就是一個SQL 聲明外加一些配置信息。
{this is the query file named getuserlist.idc} Datasource: GlobalExampleData Username: examples Password: secret Template: getuserlist.htx SQLStatement: + SELECT DISTINCT UserName + FROM Person ORDER BY UserName;
服務(wù)器執(zhí)行這一文件以獲取結(jié)果記錄集,然后裝載一個模板文件:
{this is an extract from the template file named getuserlist.htx} ... 〈 TABLE 〉 〈 TR 〉 〈 TD 〉User name:〈 /TD 〉 〈 TD 〉 〈 SELECT NAME=selUserName 〉 〈 %BeginDetail% 〉 〈 OPTION VALUE="〈 %UserName% 〉" 〉〈 %UserName% 〉 〈 %EndDetail% 〉 〈 /SELECT 〉 〈 /TD 〉 〈 /TR 〉 〈 /TABLE 〉 ...
模板只是一個普通的Web 頁,包含HTML、文本和其它對象,但是其中有一個或多個專門插入的 分界占位符。這些占位符的句法和被支持的其它簡單程序代碼結(jié)構(gòu),與ASP非常相似。所以,ASP 實(shí)際上是從這里演化而來的。
|