HTML & ASP完美的演繹
Download
Report
Transcript HTML & ASP完美的演繹
Asp
ASP環境
與
VBScript資料型別
7.1 動態網頁技術
這裡所謂的「動態網頁」並不是指網頁上的動畫圖片或跑
馬燈之類的特效,而是指具有互動性質的網頁,也就是說
網頁的內容會根據使用者所輸入的資料而有所不同,例如
時下在Internet上廣為流行的Web留言板、Web聊天室以及
會員註冊之類的網頁,都使用了部份或全部的動態網頁技
術。
由於動態網頁的應用往往會牽涉到伺服器檔案或資料庫的
存取以及各方面的資料運算,因此必須撰寫必要的程式來
處理這方面的工作,一般常運用CGI、ISAPI、NSAPI、
ASP…等等技術或規格來撰寫這類型的程式。
7.1.1 Active Server Pages
Active Server Pages簡稱ASP(動態伺服器網頁),
是Microsoft的IIS (for Windows NT、Windows
2000、Windows XP、Windows Server 2003…
等版本) 與PWS (for Windows 98) 伺服器所提
供的一項用來替代傳統CGI程式的技術,它結合
了傳統CGI程式與ISAPI技術的優點,並且提供
伺服器端程式物件 (檔案與資料庫存取、郵件傳
送…等等) 的使用語法,可以有效增強ASP的功
能。所以ASP自然成為本書的主角。
7.1.2 ASP程式的運作方式
ASP程式是以*.asp為副檔名的HTML格式
檔案,除了可以包含一般的HTML標記與
各類型用戶端Script之外,也可以包含在
伺服器上執行的ASP程式碼,所以,附檔
名為*.asp的程式經由ASP直譯器的解譯
及執行後,再將執行結果與其它HTML碼
組合成最後的網頁資料,傳回到用戶端的
瀏覽器上,ASP的執行流程如下圖所示:
由於ASP直譯器只要一啟動,就緊密與Web伺
服器結合在一起,並處理所有來自用戶端所要
求執行的ASP檔案,因此在速度上要比傳統直
譯式CGI程式(如Perl CGI程式)要快許多,透
過對於ActiveX元件的充份支援,在ASP程式中
可以直接執行伺服器上所安裝的ActiveX元件,
以達到檔案與資料庫存取、郵件寄送…等等功
能,更可以自行發展特定功能的ActiveX元件,
以擴增ASP的功能。
7.1.3 ASP的特性
1.
由於ASP的敘述可以直接撰寫在包含於*.asp為副檔名的
HTML格式檔案中,因此易於修改與測試。
2.
由於可以使用ASP來存取伺服器上的ActiveX元件,因此
可以透過在伺服器上製作新的ActiveX元件,來增加ASP
的功能。
3.
伺服器上的ASP直譯器會在伺服器端執行ASP程式,並
將結果以HTML格式傳送到用戶端的瀏覽器上,因此不論
使用Internet Explorer或Netscape Communicator,甚至
是其它瀏覽器,都可以正常瀏覽ASP所產生的網頁。
7.1.3 ASP的特性
1.
2.
3.
ASP除了預設使用VBScript語言外,也可以使用JScript、
PerlScript等等語言來編寫。只要將使用該語言的程式內
插<script language=“使用的語言名稱”
runat=”server”>~</script>裡面,便可以使用上述語言來
混合編寫。
可以利用ASP內建的Session與Application物件來記錄不
同使用者自己本身與共用的資料,由於這些資料都直接
存放在伺服器上的主記憶體上,因此存取速度當然要比
資料放在伺服器上的硬碟檔案要快上數倍,可以有效提
昇執行執行效能。
由於伺服器是將ASP程式執行的結果以HTML格式傳回用
戶端瀏覽器,因此使用者是不會看到ASP所編寫的原始
程式碼,如此可以防止ASP程式碼被他人竊取。
7.2 ASP執行環境-IIS的安裝
若要測試IIS是否安裝完成,可開啟瀏覽器,並在「網址(D)」列輸
入「http://localhost」或是「http://127.0.0.1/」連結到本機
IIS預設的網頁,若出現下圖Server Internet服務網頁或是IIS說
明文件網頁,即表示IIS已經安裝完成。
7.3 如何撰寫、執行ASP程式
7.3.1 ASP的語法介紹
ASP程式碼可以將VBScript視為特殊的HTML標
記。因為,只要在 <% 與 %> 之間的文字敘述,
都被視為在伺服器端執行並以VBScript所編寫
ASP的程式碼,如此就可以使用<%~%>來取代
<script language=“VBScript” runat=”server”>
~</script>
7.3.2 如何產生ASP的檔案
7.3.3 如何瀏覽ASP所製作的網頁
7.4 組成敘述的要素
所謂「敘述」(statement) 就是程式中最
小的可執行單元。那敘述與程式又有什麼
關係?「程式」就是由一行行的「敘述」
所成的集合,VBScript的程式也是由一行
行的「敘述」構成的。一行敘述基本上是
由識別項(Identifier)、保留字(或稱關鍵字)、
特殊符號、常值、運算式等所組合而成的。
7.5 識別項
在真實的世界中,我們對每個人、事和物
都會賦予有一個名字,同樣的在設計程式
時對程式中所用到的每個變數、常數、結
構、模組、函式、程序、類別、物件及屬
性等在使用之前必須先命名,我們將這些
程式中使用到的名稱稱為「識別項」
(Identifier)。所以,識別項就是指可以自
行定義或宣告的文數字。VBScript識別項
命名規則如下:
1. 識別項第一個字元必須是以字母(大小寫的A至Z)開頭或_
或中文名稱,第二字元以後可由字母、數字及底線( _ )組
合而成,但中間不得包含空白。建議少用中文名稱。
2. 識別項太長不但難記而且徒增鍵入的困擾,其長度不要超
過255個字元。
3. 識別項命名要使用有意義的單字,下節列出VBScript所使
用的保留字不能當識別項。
4. 若識別項由多個單字組成,為增加識別項的可讀性,中間
可以加上底線( _ )加以區隔。
5. (1) 下面是合法的識別項:
a、score、TaxRate、id_no、F4、_test
(2) 下面是不合法的識別項。
7eleven
‘ 不能由數字開頭
$money
‘ 不能由$號開頭
+sum
‘ 不能由加號開頭
tax rate
‘ 中間不能有空白
a+b
‘ 中間不能用加號
B&Q
‘ 不能含&字號
7.6 保留字
保留字(Reserved word)又稱關鍵字
(Keyword)是程式語言中,事先賦予某個
識別項一個特別意義,程式設計者不得再
重複賦予不同的用途。譬如:Visual
Baisc程式語言已將If當作選擇敘述,程式
設計時當然不得再將If拿來當變數。
7.7 特殊符號
7.8 變數
7.8.1 VBScript變數的使用
VBScript的變數並不需要事先宣告,而且變數的
型態也只有自由型別 (Variant) 一種,所謂自由
型別數變是指該變數允許存放各種資料型別,
只要您設定此變數的資料是那種型別,該變數
就變成該種資料型別,唯一缺點就是此種變數
佔用的記憶空間較大,不過可以儲存如下表各
種資料型別,因此使用上並無太大不便。下表
即是VBScript中自由型別變數可使用的資料型別:
7.8.2 變數名稱的命名規則
變數的命名是遵循識別項的命名規則,名稱可
以英文字母、中文字、數字、底線『_』任意組
合。例:x、F4、MathScore、N2K3、分數、
id_no、_num、…,皆為正確的變數名稱。但
B&Q、Good Luck皆為不正確變數名稱,因變
數名稱中使用『&』字元、或有空格是不允許的。
變數名稱中的英文字母是大小寫不分的。譬如:
Grade、GRADE、grade,三者均代表同一個變
數名稱。撰寫程式時,建議變數名稱儘量以小
寫表示。變數名稱不能使用中文字,也不能使
用關鍵字(保留字)。
7.8.3 變數的宣告方式
7.8.4 如何設定變數的初值
若欲將值指定給變數,必須使用「=」指
定符號來設定其值,其方式如下:
score = 90
‘ score變數初值為整數80
name = “小明”
‘ name變數初值為字
串 ”小明”
7.9 常數
程式執行過程中有些值在程式中會重複出現,但其值
不會被改變,VBScript允許您使用一個有意義的名稱
來取代這些不會改變的數字或字串我們稱為「常數」
(Constant)名稱。譬如:稅率、圓周率、…等、或常
用的字串、日期,這時我們可以使用「常數」名稱來
代替這個常值。「常數」與「變數」雖然都有名稱,
但兩者性實是不同的。
常數名稱是用Const來宣告的,在宣告的同時立即指
定一個常值做為該「常數」的常數值,在程式中只要
使用到這個常值,都可以此「常數」名稱來代替。使
用常數可以增加程式的可讀性。
7.10 運算式
7.10.1 算術運算式
7.10.2 字串運算式
7.11 ASP常用物件
7.12 取得表單資料的處理方式
若要取得用戶端表單內的資料,最簡單的
方式可以使用Request(“fieldname”)來達
成,其中fieldname表示表單欄位名稱。
當ASP程式取得用戶端的資料後並要顯示
給用戶端瀏覽時,一般最常使用的做法有
下面三種方式:
1. HTML網頁的表單傳送到ASP程式處理,然後再由ASP程式將用
戶端的結果顯示出來,此種做方法必須要有*.htm和*.asp兩個檔
案。(參閱c7_12_1資料夾下的c7_12_1.htm與c7_12_1.asp範例)
2. HTML標記與ASP結合,表單的資料送給自己本身的ASP程式做
處理。此種方式只須一個*.asp檔即可完成。(參閱c7_12_2資料
夾下的c7_12_2.asp範例)
3. 使用框架的方式。此種做方法必須要有三個檔案,一個為主框
架網頁,一個為HTML表單網頁、另一個為處理表單資料的ASP
程式。(參閱c7_12_3資料夾下的Main.htm、c7_12_3.htm與
c7_12_3.asp範例)