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範例)