標題標題  顯示論壇會員列表名單  搜索論壇搜索  HelpHelp
  注冊注冊  登入登入
ASP教學區
 DoReMe : ASP教學區
主題 話題: 第十三章 構建Active Server Pages 回復發表新主題
作者
貼子內容 << Prev Topic下一個主題 >>
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回復: 103
Posted: 2005/1月/07 9:30上午 | IP記錄 引用 bibi

這一章主要是將Active Server Pages具體介紹給您,這也是本書的主旨,您將瞭解到什麼是Active Server Pages,您可以用它作些什麼以及它是如何工作的等等,同時這章還會詳盡的介紹怎樣將Active Server Pages scripts集成到一個HTML頁中,並包含可以預覽的Active Server Pages對像和元素;最後你會學到怎樣配置你的Web Server以便使用Active Server Pages並能處理可能遇到的問題。

Active Server Pages 是什麼?

Active Server Pages實際上是將標準的HTML文件拓展了一些附加特徵,Active Server Pages象標準的HTML文件一樣包含HTML對象並且在一個瀏覽器上解釋並顯示。任何你可以放在HTML中的東西--Jav a applets,閃爍字符串,客戶端腳本,客戶端ActiveX控件等等你都可以放在Active Server Page中。因此,一個Active Server Page有如下四個重要特徵來使之具備很強的通用性。

• 一個Active Server Pages可以包括服務端腳本,在本書第二部分,您可以學會如何利用VBScript和Jscript來創建Active Server Pages.利用Active Server Page中的服務端腳本,你可以創建動態內容的網頁,舉一個最簡單的例子,你可以讓網頁在一天的不同時間顯示不同內容。

• 一個Active Server Page提供了一些built-in對象。利用這些Active Server Page中提供的built-in對象,你可以使你的腳本更加強大;這些對像會允許您從瀏覽器中接受和發送信息。例如,利用re quest對象,你可以將用戶在HTML form中的信息接受到並在一個script中來響應它。

• 一個Active Server Page 可以用另外的元素來擴展。Active Server Pages本身就是來源於相當數量的標準服務端ActiveX元素,這些組件允許你做諸如依據瀏覽器能力進行不同顯示以及在瀏覽 器內包含計數器的工作。

標準的ActiveX組件非常有用,不過,你並不會被此局限,你可以輕鬆創建屬於你自己的附加ActiveX組件。這意味著你可 以不加限制的拓展你的ActiveX組件。(參看28章,「拓展Active Server Pages」可以瞭解更多)

• Active Server Page可以和諸如SQL Server這樣的數據庫進行掛接,在本書的第三部分,你已經學會了怎樣使用SQL語言,利用一些特別的對象集合,Active Data Object(ADO),你就可以在你的Active Server Page 中使用SQL語言。

再次重申,這是Active Server Page一個非常強大的功能所在,在線商務以及在線沙龍等各種非常高級的,動態更新的站點都需要數據庫的支持,而且需要隨數據庫 內容的更新而自動更新,這樣,你就可以利用Active Server Pages自己建立很多類似的高級站點。

以上四個特性對Active Server Page進行了限定,Active Server Page就是由Server端腳本、對像以及組件拓展過的標準主頁。利用它,你的主頁就可以包含動態內容。

本書中對Active Server Page的講解前提是你使用的是微軟的Internet Information Server(IIS)作為網站Server軟件,當然,你也可以利用許多其他的Server,例如,針對於win95,win 97,win98的Personal Web Server(PWS)以及針對於NT的Peer Web Server。甚至微軟家族之外的NetScape Enterprise and FastTrack Server(這可不是瀏覽器),Lotus Domino and Go Servers, O』Relly』s Website,等等,當然這些需要你使用的是Chili!ASP,可以參看 www.chilisoft.net

Back to Top 查看 bibi's 資料 搜索其他貼子 bibi 訪問 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回復: 103
Posted: 2005/1月/07 9:30上午 | IP記錄 引用 bibi

Active Server Pages可以做什麼?

你在利用Active Server Pages工作時幾乎沒有什麼限制,只要網站存在並正常運行,以下是簡單的應用示例列表

■在你的網站主頁頂部添加一個滾動顯示的廣告欄

■從HTML的form中接受信息並且存到數據庫中

■根據不同訪問者顯示不同內容,創建個性化主頁

■在你的主頁中添加點擊計數器

■根據用戶瀏覽器的版本,類型和能力顯示不同檔次的內容。

■連接多個主頁使之容易網際導航

■跟蹤用戶網站上的活動信息並且存入日誌文件

以上只是簡單介紹,看完下面章節,你會對你所能夠利用Active Server Page作的事情有更加全面深入的瞭解。你會真正學會如何使用Active Serve Page.

Back to Top 查看 bibi's 資料 搜索其他貼子 bibi 訪問 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回復: 103
Posted: 2005/1月/07 9:31上午 | IP記錄 引用 bibi

Active Server Pages是怎樣工作的?

理解Active Server Pages怎樣工作的最好方法將支持它的Web server和不支持的進行對比。Microsoft利用Internet Information Server(IIS)3.0版本和Active Server Pages結合在一起。在IIS3.0中引入了Active Server Pages就能夠使站點從僅僅的靜態內容變成動態內容。這是什麼意思呢?

在前面對Active Server Pages的介紹中,IIS的主要功能是支持靜態HTML主頁,當用戶向一個使用IIS的服務器提出請求後,服務器將會從自己的 硬盤或者內存中提出一個靜態主頁發送到用戶的瀏覽器上,IIS的主要作用就是作為用戶瀏覽器到服務器硬盤的一些文件的一個有效的 接口。

注意

早期的IIS版本包括一個稱做Internet Database Connector(IDC)的工具,IDC可以從數據庫中接受和存儲數據,你仍然可以利用IDC做這種工作,但是顯然Acti ve Server Pages可以做的更好。

從這個意義上,IIS和其他的Web Server沒有什麼區別,任何Web Server的主要作用都是支持靜態HTML主頁,理解其對HTML的支持過程如下步驟所列。

1.作為一個用戶首先是在瀏覽器的地址欄中添上要訪問的主頁地址並回車觸發這個申請。

2.瀏覽器將申請發送到諸如IIS的Web Server上。

3.Web Server接收這些申請並根據.cfm或.cfml的後綴名意識到這是HTML文件。

4.Web Server從當前硬盤或內存中讀取正確的HTML文件然後將它送回用戶瀏覽器。

5.cfmL文件將會被用戶的瀏覽器解釋並將結果顯示在用戶瀏覽器上。

當然,這種過程可能會更加複雜一些,(例如,Form中的內容以及查詢字串的傳遞)。在大多數情況下,對於各種典型的Web Server來說,這種過程是按部就班的,Web Server接收文件申請並從內存或者硬盤中讀取正確的文件。

Active Server Pages改變了這一切,在IIS仍然支持靜HTML主頁的前提下,利用Active Server Pages可以根據用戶要求在Web Server上建立新的主頁。

為了便於理解它和支持靜態主頁的區別,我們將它分成以下步驟:

1.一個用戶在瀏覽器的網址欄中添入Active Server Pages文件名稱,並回車觸發這個Active Server Pages的申請。

2.瀏覽器將這個Active Server Pages的求發送給IIS

3.Web Server接收這個申請要求並由於其.asp的後綴意識到這是個Active Server Pages要求。

4.Web Server從硬盤或者內存中接收正確的ASP文件。

5.Web Server將這個文件發送到一個叫做ASP.DLL特定文件中。

6.Active Server Pages文件將會從頭至尾被執行並根據命令要求生成響應的靜態主頁。

7.cfmL主頁將被送回瀏覽器

8.cfmL主頁將會被用戶瀏覽器解釋執行並顯示在用戶瀏覽器上

注意

為了清晰的說明問題,以上步驟已經進行了很大的簡化,一個Active Server Pages並不一定每一次都重新編譯解釋,如果再次接受以前的那個請求而且沒有任何變化,Active Server Pages會從Cache中提出結果而不是再次運行。

對於Web Server來說,Active Server Pages於HTML有著本質的區別,HTML是不經任何處理送回給瀏覽器,而Active Server Pages的每一個命令都首先被用來生成HTML文件,因此、Active Server Pages允許生成動態內容。

另一方面,對於瀏覽器來說,Active Server Pages和HTML幾乎是沒有區別的,僅僅是後綴為.asp和.cfm的區別,當我們在客戶端提出Active Server Pages的申請後,我們的瀏覽器接受的是HTML格式的文件。因此它適用於任何瀏覽器。

Back to Top 查看 bibi's 資料 搜索其他貼子 bibi 訪問 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回復: 103
Posted: 2005/1月/07 9:31上午 | IP記錄 引用 bibi

在Active Server Pages中結合Scripts腳本

Active Server Pages主要就是Scipts腳本環境,在你學習本書第二章的時候,你就可以將VBScript和JScript結合到你的A ctive Server Pages中去,你可以同樣在Active Server Pages中很好的利用其他的腳本語言。任何一個可以和Active X Script標準兼容的腳本語言引擎都可以用於Active Server Pages。

注意

如果你熟悉Perl,你就會很高興發現Perl和Active Server Pages是兼容的。如果希望更多瞭解,請看http://www.hip.activeware.com或訪問http://www.aspsite.com

在Vbscript和Jscript的章節中(相應第8和第9章),你會學到怎樣將Script腳本結合到Active Server Pages的具體實現。這部分主要是詳細解釋以及介紹一些可選擇的方法來進行Scripts和Active Server Pages的結合。

最簡單的結合Scripts的方法是利用<%和%>,任何在這個符號中包容的都被認為是一個Scripts腳本。下 面是個例子:

<html>

<head><title>ASP Script 示例</title></head>

<body>

這是個

<% for I=1 to 10 %>

非常,

<% next %>

非常長的句子。

</body>

</html>

該段Active Server Pages執行後在瀏覽器上顯示為:

這是個非常,非常,非常,非常,非常,非常,非常,非常,非常,非常,非常長的句子。

這段腳本利用VBscript的For...Next循環生成了11份『非常』的拷貝。

Active Server Pages默認為您主要使用的是VBscript,也就是說,在使用<%和%>時不需要作任何事情來說明使用何種語 言。不過,如果需要限定的話,您可以有三種方式。

首先,你可以在Internet Information Service管理器來進行限定使得所有Active Server Pages的默認語言為你所限定的。這樣做的步驟如下:

1.從開始菜單IIS(Internet Information Service)的程序組中執行網絡服務管理器

2.右鍵你的網站名稱(如果你沒有改變默認設置,名稱將是Default Web Site)

3.選擇屬性項

4點擊主目錄表。

5點擊設置按鈕(要做這個,你必須有一個存在的Application。如果沒有的話,點Creat來創建一個。)

6.在Application Configuration的對話框中,點App Option表。

7.在默認的ASP語言文本框中,輸入你所要的主要腳本語言,例如Vbscript或者Jscript。

當這些作完後,<%和%>中包容的程序就默認為你所指定的那種語言。

你還可以在特定的主頁中指定主要腳本語言,這樣做,你要將這種語言名稱直接放在你的Active Server Page文件最靠上的一行,如下:

<%@ LANGUAGE=Jscript %>

<html>

<head><title>ASP Script示例</title></head>

<body>

這是個

<% for(i=1;i<11;i++){ %>

非常,

<%}%>

非常長的句子。

</body>

</html>

這種直接放在首行的腳本,指示出這個文件中所有腳本都將利用JSCRIPT生成,當你利用這種方式指定腳本語言時,請注意在@和 保留字LANGUAGE之間空出一個空格。另外,非常重要的是這句指示要在任何一句命令之前(否則就要報錯了)。

圖13.1 使用Internet Service Manager來確定缺省腳本語言

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你的第三種在Active Server Pages包含Scripts腳本的選擇是利用微軟的HTML<Script>拓展對象,例如下面:

<html>

<head><title>ASP Script示例</title></head>

<body>

<script language=「Jscript」 runat=「server」>

function sayhello()

{ response.write(「hello! 邁至科」)

}

</script>

<% sayhello() %>

</body>

</html>

這裡,<script>對像包含了一個Jscript函數。<script>的Language屬性限 定了使用哪一種語言。RUNAT屬性是指示出該腳本應當在Server端還是在Client(瀏覽器上)端實現。

這個函數在第一行中被命名為sayhello()。在第二段腳本中,利用<%和%>標記的對象是真正調用該函數的位 置。Active Server Pages會在顯示器上顯示出字符串

「hello! 邁至科」

注意

response.write()語句是將一段文本顯示在顯示器上。您會在後面的內容中瞭解更多。

如果你創建了一個客戶端的VBscript或者JScript腳本,你就應當對<SCRIPT>更加熟悉了。微軟的 <Script>拓展可以被用來指定是在服務端還是在客戶段執行。如果你忽略了RUNAT=server這個限定, 你的script腳本將被認為是客戶端的。這種場合下,Server端將忽略這個script並由瀏覽器嘗試執行〔然而會很悲慘 的以失敗告終,因為這不是一個合法的客戶端script腳本〕。

為什麼你會直接使用<Script>對像而不是<%和%>來限定scipt腳本語言?通常,你不會使用 <script>對象。不過,這兩種限定一個Script腳本的方法還是有很明顯的區別的。

首先,使用<script>包含的直接腳本會立即執行,無論在Active Server Pages的任何位置。例如下面這個例子。

<html>

<head><title>ASP Script示例</title></head>

<body>

This is the first sentence

<script LANGUAGE=「JScript」 RUNAT=「server」>

response.write(「This is the second sentence.」)

</script>

</body>

</html>

看這個例子後,您也許會認為,顯示器上會首先顯示This is the first sentence,然後是This is the second sentence,但是,這個Active Server Pages顯示在瀏覽器上是相反的順序。(或者什麼都不顯示,那是因為生成了非法的HTML語法)

為什麼會這樣?因為主頁裡面無論什麼放在<script>裡面都會首先執行。如果你使用瀏覽器的View Source,你會看見你的主頁被Active Server Pages解釋為如下:

This is the second sentence.<html>

<head><title>ASP Script示例</title></head>

<body>

This is the first sentence.

</body>

</html>

<script>對象的行為有兩種含義。首先,你能夠在Active Server Pages的任何位置上的<script>對像中放置你的script腳本。其次,<script>對 象,如果用於更多的目的來說,將會用包含函數和子程序的方法來進行限制。任何不包含函數或者子程序的腳本都將被立即執行顯示為一 個非法的HTML主頁。

<script>對像使用<%和%>限制有一個明顯的優點。使用<script>對象,你 可以在一個單獨的主頁中混合使用多種script腳本。看下面這個例子:

<%@ LANGUAGE=「VBScript」 %>

<html>

<head><title>ASP Script示例</title></head>

<body>

<script LANGUAGE=「JScript」 RUNAT=「server」>

function sayhello()

{

response.write(「hello! 邁至科」)

}

</script>

<% for I=1 to 10

sayhello()

next

%>

</body>

</html>

這個script腳本在一列中顯示了十次」hello! 邁至科」,但是請注意這是怎麼實現的,這個包含在<%和%>中的腳本是用Visual Basic寫成的,不過,這個腳本調用的是JScript函數,這個JScript函數是在<Script>對像中 定義的。當你希望在你的主腳本用一種語言而又需要調用另一種語言的函數,你可以使用這種方法。這樣可以彌補一些語言在常用函數和 方法上的缺乏。

作為總結,在一個Active Server Pages上指定腳本語言有三種方法。

• 利用 Internet Information Server來指定作為你所有腳本中的默認語言。

• 在每一個單獨的Active Server Pages中的最上面一行利用<%@ LANGUAGE=「script語言」>來指定針對這個單獨Active Server Page所使用的腳本語言。

• 利用Active Server Pages的<script>拓展來在一個Active Server Page中分別在相應位置指定多種腳本語言。

在這部分結束以前,將討論最終極的Active Server Pages指令,利用Active Server Pages輸出指令,你可以直接顯示表達式值。以下是個例子:

<html>

<head><title>ASP示例</title></head>

<body>

At the Tone,the time will be: <%=time%>

</body>

</html>

你可以使用<%和%>標誌來輸出變量、方法(method,針對於對象的方法)以及函數的值,在上面的例子中,VB Script的時間函數值會輸出到顯示器上。

你可以用下面的方法完成同樣的事,見下面例子:

<html>

<head><title>ASP示例</title></head>

<body>

At the Tone,the time will be:<%response.write(TIME)%>

</body>

</html>

在這個例子中,VBScript的Time函數值將被Active Server Pages的Response對像輸出出來,response對象的write()方法是將表達式中的值顯示出來。(下一章中, 你會學到更多有關對像和方法的知識)。

那麼補充說明的是對於Active Server Pages內部<%=和%>也就是代表了Response.write()方法,因此無論你用哪一種方法其實是一樣 的,沒有任何區別。

注意

當你使用<%=和%>來進行輸出時,如果此時顯示錯誤信息,將相應顯示為response.write()語句,你 也許會因為你的程序中沒有這句話而困惑,其實這正說明二者實際上在Active Server Pages中是完全一致的。

雖然如此,在有些場合下某一種輸出方式顯然更方便一些,例如,當你需要在一個script腳本中輸出表達式值,通常respon se.write()更加容易處理,如果只是在HTML的某一位置輸出表達式值,那麼<%=和%>則更容易使用。如 下例:

<HTML>

<head><title>ASP示例</title></head>

<body>

<%

For i=1 to 5

myvar=myvar&「非常, 」

response.write(i&「:」&myvar&「<br>」)

next

%>

<hr>

這是一個<%=myvar%>長的句子。

</body>

</html>

 

 

 

 

 

 

 

 

 

在這個例子中,response.write()在script腳本的循環中顯示越來越長的子段。而<%=和%>指 令則是直接在主頁的具體位置顯示出變量myvar的值。

圖13.2為顯示結果。

Back to Top 查看 bibi's 資料 搜索其他貼子 bibi 訪問 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回復: 103
Posted: 2005/1月/07 9:32上午 | IP記錄 引用 bibi

在Active Server Pages中結合對像和組件

Active Server Pages包括了大量內嵌對像和可安裝的ActiveX組件。這些對像以及組件都可以用來拓展你的Active Server Pages的功能,但是確切的什麼是對像和組件呢?

一個對象是典型的具有方法、屬性或者集合的東西,其中對像方法決定了我們可以用這個對象作什麼事情。(還記得response對 象的write()方法吧),對象的屬性

可以讀取出來瞭解對像狀態或者設置對像狀態。對象的集合是由很多不同的和對像有關係的鍵和值的配對對組成的。

舉一個日常的例子,書籍「邁至科ASP教程」是一個對象,這個對象包含的方法決定了你可以怎樣處理它,比如說,去讀它,送人作為 禮物,當作敲門的工具,甚至撕得粉碎,只要你願意。對象的屬性,這本書的頁數,作者什麼的。最後,對象的集合,包含了許多鍵和值 的配對:每一頁的頁碼就是鍵,那麼值就是相對應於頁碼的這頁的內容。

一個ActiveX組件和Active Server Pages內嵌對像十分類似,不過,當你使用Active Server Pages時,二者之間還是存在著明顯的差異,首先,一個組件可能包含不只一個對象,其次,在你使用組件之前,將要明確的創建一 個實例。

VBScript和JScript都包括一些對象,例如,無論利用VBScript和JScript,你都可以進入處理Dict ionary對象。Dictionary並不是Active Server Page的正式部分。但是你可以利用Active Server Pages腳本來建立它,這是一個利用VBScript的例子:

<html>

<%

Set Mydict=Server.CreateObject(「Scripting.Dictionary」)

MyDict.add 「電子商務」, 「http://207.153.210.86/intro

MyDict.add 「BBS」, 「http://www.magicw3.com/bbs

MyDict.add 「廣告聯盟」, 「http://www.magicw3.com/banner

%>

我的字典中有<%=MyDict.count%>個記錄。

<br>

其中第一個記錄是<%=MyDict.item(「電子商務」)%>。

</html>

當這個腳本執行的時候,Dictionary對象的一個實例將會生成,然後,三個鍵以及相對應的值添加到Dictionary對 像中,最後,顯示出這個Dictionary對象的兩個屬性(顯示結果如圖13.3)。

例子中的第一個腳本語句是利用Active Server Pages建立一個新的ActiveX對像實例的常用方法。Server.CreatObject是建立一個對像實例。在這個例 子中,變量MyDict指向一個Dictionary對像實例。

當一個對像實例建立之後,就可以調用它的方法,例如,利用Dictionary對象的add方法就可以在這個Dictionar y中添加新的記錄。例如用add方法配對添加鍵「電子商務」和相應的值「 http://207.153.210.86/intro」。

圖13.3 Dictonary對象的一個示例


 

 

 

 

 

 

 

 

 

 

 

 

當一個對象的實例建立之後,你還可以進入處理它的屬性,在這裡面Count屬性用來統計Dictionary中的記錄數量。it em屬性用來根據相應的鍵來讀取對應的值。

最後,你處理完這個對象的實例後,還可以消除它。當然,在服務器進行完這個Active Server Pages的進程後,會自動消除這個對象實例,因此,你完全可以不用去親自處理這種過程。不過,如果需要的話,你依然可以利用將 特定的變量,例如現在的Mydict指向一個新的值或者就是nothing來消除這個實例。例如這樣

<% set MyDict=Nothing %>

儘管Dictionary對象並不是Active Server Pages正式部分,這個例子還是能夠表明如何使用Active Server Pages對象,你可以調用Server.CreatObject()方法來產生一個對象的實例。在你產生了新的對象後,你可以 調用其方法以及讀取其屬性。

Active Server Pages對像

你已經接觸了一個內嵌對象的例子-Response對象。你已經可以利用Response對像將表達式輸出到瀏覽器上。不過,R esponse對像還有相當數量的其他重要屬性、集合以及方法。

下面的章節中將會詳細介紹每一種內嵌對象的使用。下面是對每一種內嵌的快速瀏覽:

■application對像:application對像被用來存儲一個應用中所有用戶共享的信息。例如,你可以利用appl ication對像來在你的站點的不同用戶間傳遞信息。

■request對像:request對象可以被用來訪問所有從瀏覽器到服務器間的信息,你也就可以利用request對像來接 受用戶在html主頁的form中的信息。

■response對像:response對像用來將信息發送回給瀏覽器。你可以利用response對像將你的腳本語言結果輸 出到瀏覽器上。

■server對像:server對像提供你運用許多server端的應用函數。例如,你可以利用server對像來控制你的腳 本語言在超過時限前的運行時間。你也可以利用server對像來創建其他對象的實例。

■session對像:session對像被用來存儲一些普通用戶其滯留期間的信息,你可以用Session對像來儲存一個用戶 在訪問你的站點的滯留時間。

■ObjectContext對像:ObjectContext對象可以被用來控制Active Server Pages的執行。這種執行過程由Microsoft Transaction Server(MTS)來進行管理。

內嵌對像不同於正常的對象。在你利用內嵌對象的腳本時,你不需要首先創建一個它的實例。在整個網站應用中內嵌對象的所有方法、集 合以及屬性都是自動可訪問的。

注意

在附錄A中,」ASP對象及組件快速參考」,提供了所有內嵌對象的方法、屬性、以及集合的列表清單。

Active Server Pages 組件

象上面所討論的內嵌對像一樣,Active Server Pages組件一樣可以被用來拓展你的腳本的功能,組件與內嵌所不同的是它通常被用來去實現那些特定的任務。下面列表中顯示的是 集成在Active Server Pages中的一些組件。

■Ad Rotator組件:Ad Rotator組件被用來在主頁上顯示廣告圖標。你可以利用這個組件來限定不同廣告圖標顯示變換的頻率。

■Browser Capabilities組件:Browser Capabilities組件可以根據不同瀏覽器的性能來顯示不同的主頁。例如,你可以利用顯示單屏或者根據瀏覽器適應的分屏方 式。

■Content Linking組件:例用Content Linking組件你可以連接相當數量的主頁這樣你就可以更容易進行網絡導航。例如,你可以利用這個組件來顯示一部在線教程。

■Counters組件:Counters組件能夠被用來追蹤訪問該站點訪問者的數量,你可以利用這個組件在主頁中添加點擊計數 器。

■Permission Checker組件:Permission Checker組件可以被用來檢驗只有授權用戶才能訪問某些聯接。你可以利用這個組件來創建管理員的維護主頁。

■ActiveX Data對像:ActiveX Data對像(ADO)提供你可以從諸如SQL Server這樣的數據庫系統中存儲數據的手段。這種對像相當重要,由於這個原因,這種對像將會在所有對象全部討論完畢後單獨分 出一部分進行介紹。

下面的章節介紹怎樣使用這些對象,第二十八章將討論怎樣建立你自己的對象。

注意

附錄A中顯示出所有這些組件的方法、屬性以及集合的列表。

Back to Top 查看 bibi's 資料 搜索其他貼子 bibi 訪問 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回復: 103
Posted: 2005/1月/07 9:32上午 | IP記錄 引用 bibi

設置Active Server Pages以及常見問題

在你使用Active Server Pages之前,你應當確認Active Server Pages已經安裝在你的系統中。如果你在安裝Microsoft NT Server時安裝的Internet Information Server,那麼很可能你的系統中並沒有安裝Active Server Pages。Active Server Pages包含在IIS3.0或者更高版本中。如果想要下載最新版本的Active Server Pages,可以去訪問微軟的站點http://www.microsoft.com/iis

在安裝Active Server Pages之後,你仍然需要做IIS的設置來使用Active Server Pages。你需要設置至少一個可執行的目錄來執行Active Server Pages文件。按照下面步驟:

1.從『開始』菜單中的Mirosoft Internet Information Server執行Internet Service Manager。

2.在Internet Service Manager左邊窗口中點開你的默認站點。(如果你沒有作過改變,那麼這個站點就叫做『Default Wen Site』)

3.選擇你要存放並且執行ASP的目錄,(或者可以理用鼠標右鍵創建一個新的目錄映射)

4.右鍵目錄名稱後選擇『屬性』欄。

5.點擊標記為Directory或者Virtual Directory(命名依據這個目錄的性質)的表格。

6.在Permission項中,選擇Script或者Execute鈕(見圖13.4)。

圖13.4 設置目錄權限

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

現在你已經創建一個可以執行Active Server Pages的目錄,你應當把你所有Active Server Pages文件放在這個允許執行的目錄下以便使用。如果這是個物理路徑,你只需要把文件放在下面就可以了,如果是個虛擬路徑,你 就必須瞭解它的實際路徑然後把文件放在下面。你可以在Virtual Directory的表中查看它對應於硬盤的的實際路徑。

警告

如果你在IIS的當前機器上使用瀏覽器,請注意你怎樣才能在瀏覽器上執行Active Server Pages。當你在網絡瀏覽器時調用Active Server Page。不能直接在open 命令中調用,用這種方式IIS以及Active Server Pages是不會執行的。你將看到Active Server Pages腳本的文本而不是它執行的結果。這肯定不是你所希望的。

你必須在瀏覽器的地址欄中添入IIS的IP地址或者域名或者這台裝有IIS的電腦名稱而不是直接輸入物理路徑。例如,你的電腦名 稱為mymachine, 同時該網站的根目錄下運行一個叫做mypage.asp的文件,那麼你就需要在地址欄中鍵入http://mymachine/mypage.asp。這樣才能正常執行。

測試你的配置

你可以用簡單的建立一個Active Server Pages來執行的方式來驗證你的Active Server Pages是否配置正確。如果你的瀏覽器能夠正確的顯示下面的例子,那麼你的站點就是正確的。

建立這樣的Active Server Pages, 你只需要利用任何一種文本編輯工具就可以了。當然也可以利用可視化編輯器如Frontpage或者Visual Interdev等,這一章節暫時不做介紹,現在你可以利用Win95和WinNT自帶的Notepad(就是記事本,附件中的 那個),然後輸入下面這個程序。

<HTML>

<HEAD><TITLE>ASP實例</title></head>

<body>

<%

Response.Write(「Hello 邁至科!」)

%>

</body>

</html>

將該文件存成asp後綴,這裡假設為test.asp,請注意不要讓記事本存成txt後綴,(如果不知道怎麼處理這種情況,那麼 請先去補補課再來看這本書),同時確認你存放的這個目錄可以在IIS中被瀏覽器訪問(就是用http訪問而不是ftp方式)並且 在IIS中將該目錄設定為可執行(前文已經介紹過了設置方法)。

現在,打開瀏覽器並在地址欄中按照前面介紹的方法正確調用該文件。如果這個文件在你的網站根區,可以如這種方式:http://mymachine/test.asp(假設你的網站電腦名為mymachine,該文件為test.asp。如果該文件在網站子目錄下,那麼應當為http://mymachine/mysubdir/test.asp (假設子目錄為mysubdir),如果該文件放置在虛擬路徑下(假設虛擬路徑為MyVirutaldir,如果對虛擬路徑你還 是不明白,請先去補補網絡建站基礎知識),那麼調用自然是這樣的: http://mymachine/MyVirtualDir/test.asp

如果一切正常,正確的字符串將被顯示,瀏覽器上將顯示結果(如圖13.5)。

 

 

 

 

 

 

 

 

 

 

 

 

 

圖13.5 一個Active Server Page

如果顯示不正確,那麼請看下面部分。

注意

Active Server Pages顯示出的字串可能會有不同,這其實決定於你的瀏覽器當前的設置。例如,你瀏覽器上顯示出的字串字體可能大些或者小些。

Active Server Pages常見問題

我其實很希望讀者不用來看這部分。但是,如果你真的遇到了下述問題,這一部分應當對你有所幫助。下面將列出在不正當設置或執行時 可能出現的問題:

■症狀:當你調用時,你的瀏覽器上出現無法聯接Server的錯誤信息,對於NetScape是:

There was no response. The server could be down or is not responding.

對於Internet Explorer來說,信息為:

Internet Explorer cannot open the Interent site http://mymachine/test.asp. A connection with the server could not be established.

原因:如果你不是在廣域網上調試,那麼很有可能是你的Web Server已經關閉了,進入『開始』按鈕的Internet Information Server組執行Internet Service Manager,然後選擇你默認站點在窗口頂部選擇「VCR Controls」。如果IIS沒有運行,RUN按鈕應當處於激活狀態,點擊後就可以啟動服務進程。如果用其他Server,也 有相應設置開始Service,限於篇幅,無法一一介紹,相信讀者在使用中可以找到相應選項。

原因:如果你在廣域網上,這個問題很有可能是因為網絡任務繁忙,等待一會再試,如果總不能成功,那麼請通知該站點管理員。

■症狀:當你嘗試調用一個Active Server Page文件,你接受到的信息是:

HTTP/1.0 404 Object Not Found.

原因:你在瀏覽器中調用了錯誤的地址。那麼前文已經提到了路徑的設置和調用方法,當然,這裡假設你已經明白了路徑設置的方法(總 不能一遍又一遍的在路徑設置上花費功夫,這也不是這本書的主要目的),那麼很可能是由於筆誤等原因導致找不到文件,這時本作者可 以提出一個小竅門,就是在調試中將該執行目錄設置為可以瀏覽,(就是前文設置為『可執行』的同一處),那麼直接在地址欄上輸入路 徑,然後很快可以看出問題是在路徑上還是文件名上。這樣便於很快找到問題所在。

原因:你的編輯工具自己又添加了一個特別的拓展名,例如,記事本在你指定的後綴後面又添加了一個.txt的後綴。

■症狀:當你嘗試調用一個Active Server Pages文件時,出現這個錯誤信息:

HTTP/1.1 403 Access Forbidden. Execute Access Denied.

原因:這個執行Active Server Pages的路徑權限設置有問題,請看前面關於路徑權限設置的部分。

■症狀:當你的Active Server Pages調用時,出現的是文本而不是它執行的結果結果。

原因:你將這個文件錯誤的存成了.cfm或者.cfml後綴而不是.asp後綴。請注意ASP文件的後綴名必須只能是.asp

原因:當你調用Active Server Page, 你使用了瀏覽器的Open命令或者file://而不是在地址欄中用http://調用方式。

總結

這章介紹了如何使用Active Server Pages。你應當已經學會了所有將Scripts和你的Active Server Pages結合的方法。這章同時能夠使你瞭解一下在Active Server Pages中如何包含built-in內嵌和ActiveX組件。最後,你應當學會如何將電腦設置為可正常執行Active Server Pages並且瞭解可能遇到的常用問題的原因和解決。

下面的章節將詳細介紹怎樣使用所有對象和組件,無論你希望你的網站將成為什麼樣,下面的章節都會對你有所助益。

Back to Top 查看 bibi's 資料 搜索其他貼子 bibi 訪問 bibi's
 

如果你想回復的話你必須首先 login
如果你還沒有注冊的話你必須首先 注冊

  回復發表新主題
顯示可打印的頁面 顯示可打印的頁面

論壇跳轉
不能 張貼新論題在這個討論版
不能 回應論題在這個討論版
不能 刪除你的發言在這個討論版
不能 編輯你的發言在這個討論版
不能 新增投票標題在這個討論版
不能 在這個討論版投票

Edit by doreme Forums version 2004
Welcome ©2001-2004 doreme Guide

This page was generated in 0.3120 seconds.

 
保養品
保養品, Skin Care
www.elady.tw
美材批發
美材, Cosmetic
www.elady.tw/beauty_org
保養品批發
名牌保養品、保養品批發
gb.perfume.com.tw/skincare
飾品批發
飾品、飾品批發
gb.perfume.com.tw/ornament