看了《如何令你的網站動感十足》一文後,是否令你怦然心動?是否已經急不可待地想構建屬於你自己的動態網站?本文將以Active Server Pages 為中心,向你全面展示製作動態商業網站的步驟和技巧並通過大量的實例,讓你在不斷的理論和實踐之中笑傲網絡……
上一章給大家簡要介紹了建立動態網站的一些方法和製作工具,本章將以如何建立基於IIS 的ASP 動態網站為中心向大家一步一步地揭示動態商業網站設計的真正奧秘。為了使各位能夠全面、細緻地掌握ASP 的開發技巧,本文今後將採取連載的形式,手把手地教你如何建立屬於自己ASP 動態網站。由於本文是作者根據自己的學習和實踐經驗並結合了一些外文資料而寫成的,因此不免會有一些偏頗,希望各位見諒。如發現本文有何不當之處,請及時通知作者,謝謝。 Microsoft Active Server Pages 即我們所稱的ASP ,其實是一套微軟開發的服務器端腳本環境, ASP 內含於IIS 3.0 和4.0 之中, 通過ASP 我們可以結合HTML 網頁、 ASP 指令和ActiveX 元件建立動態、交互且高效的WEB 服務器應用程序。有了ASP 你就不必擔心客戶的瀏覽器是否能運行你所編寫的代碼,因為所有的程序都將在服務器端執行,包括所有嵌在普通HTML 中的腳本程序。當程序執行完畢後,服務器僅將執行的結果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負擔,大大提高了交互的速度。 以下羅列了Active Server Pages 所獨具的一些特點:
1. 使用VBScript 、 JScript 等簡單易懂的腳本語言,結合HTML 代碼,即可快速地完成網站的應用程序。
2. 無須compile 編譯,容易編寫,可在服務器端直接執行。
3. 使用普通的文本編輯器,如Windows 的記事本,即可進行編輯設計。
4. 與瀏覽器無關(Browser Independence), 用戶端只要使用可執行HTML 碼的瀏覽器,即可瀏覽Active Server Pages 所設計的網頁內容。 Active Server Pages 所使用的腳本語言(VBScript 、 Jscript) 均在WEB 服務器端執行,用戶端的瀏覽器不需要能夠執行這些腳本語言。
5.Active Server Pages 能與任何ActiveX scripting 語言相容。除了可使用VBScript 或JScript 語言來設計外,還通過plug-in 的方式,使用由第三方所提供的其他腳本語言,譬如REXX 、 Perl 、 Tcl 等。腳本引擎是處理腳本程序的COM(Component Object Model) 物件。
6.Active Server Pages 的源程序,不會被傳到客戶瀏覽器,因而可以避免所寫的源程序被他人剽竊,也提高了程序的安全性。
7. 可使用服務器端的腳本來產生客戶端的腳本。
8. 物件導向( Object-oriented )。
9.ActiveX Server Components(ActiveX 服務器元件) 具有無限可擴充性。可以使用Visual Basic 、 Java 、 Visual C++ 、 COBOL 等編程語言來編寫你所需要的ActiveX Server Component 。
ASP 的奇妙之處真是不勝枚舉,下面就請各位係好安全帶,我將帶領大家進入ASP 的夢幻世界。
首先,讓我們來看看運行ASP 所需的環境:
ASP 本身並不是一種腳本語言,它只是提供了一種使鑲嵌在HTML 頁面中的腳本程序得以運行的環境。但是,要學好ASP 又必須掌握它的語法和規則。現在就讓我們開始一步一步地認識並學習Active Server Pages 。
ASP 程序其實是以擴展名為.asp 的純文本形式存在於WEB 服務器上的,你可以用任何文本編輯器打開它, ASP 程序中可以包含純文本、 HTML 標記以及腳本命令。你只需將.asp 程序放在WEB 服務器的虛擬目錄下(該目錄必須要有可執行權限),就可以通過WWW 的方式訪問ASP 程序了。要學好ASP 程序的設計,必須掌握腳本的編寫,那麼究竟什麼是腳本呢?其實腳本是由一系列的腳本命令所組成的,如同一般的程序,腳本可以將一個值賦給一個變量,可以命令WEB 服務器發送一個值到客戶瀏覽器,還可以將一系列命令定義成一個過程。要編寫腳本,你必須要熟悉至少一門腳本語言,如VBScript 。腳本語言是一種介乎於HTML 和諸如JAVA 、 Visual Basic 、 C++ 等編程語言之間的一種特殊的語言,儘管它更接近後者,但它卻不具有編程語言複雜、嚴謹的語法和規則。如前所述ASP 所提供的腳本運行環境可支持多種腳本語言,譬如: JScript 、 REXX 、 PERL 等等,這無疑給ASP 程序設計者提供了廣泛的發揮餘地。 ASP 的出現使得廣大WEB 設計者不必在為客戶瀏覽器是否支持而擔心,實際上就算你在同一個.asp 文件中使用不同的腳本語言,你都無須為此擔憂,因為所有的一切都將在服務器端進行,客戶瀏覽器得到的只是一個程序執行的結果,而你也只需在.asp 中聲明使用不同的腳本語言即可。下面是一個典型的在同一.asp 文件中使用兩種腳本語言的例子:
< HTML>
< BODY>
< TABLE>
< % Call Callme %>
< /TABLE>
< % Call ViewDate %>
< /BODY>
< /HTML>
< SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Callme
Response.Write < TR>< TD>Call< /TD>< TD>Me< /TD>< /TR>
End Sub
< /SCRIPT>
< SCRIPT LANGUAGE=JScript RUNAT=Server>
function ViewDate()
{
var x
x = new Date()
Response.Write(x.toString())
}
< /SCRIPT>
這是各位在本文中接觸的第一個真正的ASP 程序,千萬不要被< % %> 符號搞糊塗,這其實是標準的ASP 定界符,而< SCRIPT>< /SCRIPT> 之間的就是腳本語言。 ASP 不同於腳本語言,它有自己特定的語法,所有的ASP 命令都必須包含在< % 和%> 之內,如: < % test=English %> , ASP 通過包含在< % 和%> 中的表達式將執行結果輸出到客戶瀏覽器, 如: < % =test %> 就是將前面賦給變量test 的值English 發送到客戶瀏覽器中,而當變量test 的值為Mathematics 時, 以下程序:This weekend we will test < % =test %>.
在客戶瀏覽器中則顯示為:
This weekend we will test Mathematics.
學習ASP 最好的方法莫過於親自動手編寫,為了在最短的時間內使各位掌握ASP 的程序設計技巧,本文將採取實例分析法,通過一系列的實例讓各位在實踐中學習ASP 。建立一個ASP 頁面,你所需的只是打開一個文本編輯器,如: Notepad ,然後跟我開始動手編寫第一個ASP 程序。下面我們將建立一個自動監測瀏覽時間並根據不同時段動態顯示不同頁面內容的ASP 程序,請將以下代碼剪貼到你的文本編輯器中, 並存為test1.asp :
< html>
< body>
< FONT COLOR=Green>
< % If Time < #12:00:00# And Time >= #00:00:00# Then %>
早上好,今天天氣不賴啊!
< % ElseIf Time < #19:00:00# And Time >= #12:00:00# Then %>
午安!
< % Else %>
哈嘍! 今晚你有沒有去IRC 聊天!
< % End If %>
< /body>
< /html>
將test1.asp 保存在WEB 服務器的虛擬目錄( 如: aspsamp/) 下,並在瀏覽器中用HTTP 的方式進行瀏覽,如: http://yourcomputername/aspsamp/test1.asp ,你將會新奇地發現,你的頁面真的活起來了。雖然,這只是一個非常簡單的實例,而且這一功能完全可以通過javascript 完成,但是不難發現使用ASP 要比javascript 簡潔、迅速得多,而且運用此法,你完全可以輕而易舉地令你的網頁在不同的時段展示不同的風格。此例中的Time 實際上是一個VBScript 內置的顯示系統當前時間的函數,由於系統默認的腳本語言是VBScript ,因此當你在ASP 命令中調用該函數時,腳本引擎會自動將其轉換成當前的系統時間。接下來我們將給test1.asp 添加一點色彩,在< body> 標識中添加bgcolor=< % =bgc %> 即變為< body bgcolor=< % =bgc %>> ,並在< body> 標記前添加如下語句:
< % If Time < #12:00:00# And Time >= #00:00:00# Then
bgc=silver
ElseIf Time < #19:00:00# And Time >= #12:00:00# Then
bgc=navy
Else
bgc=red
End If
%>
如此一來,當用戶在不同的時段訪問你的頁面時,他們將會看到不同的頁面背景色。我們可以做的事情還有很多,譬如你想知道在凌晨至十二點之間瀏覽你頁面的客戶的姓名,並向他或她問好,那麼下面的這段程序將能助你達成心願。首先你需要在頁面中設置表單,將以下HTML 代碼剪貼到< % If Time < #12:00:00# And Time >= #00:00:00# Then %> 之後:
歡迎光臨我的主頁,請填寫以下信息: < FORM METHOD=POST ACTION=test1.asp>
< P>
First Name: < INPUT NAME=fname SIZE=48>
< P>
Last Name: < INPUT NAME=lname SIZE=48>
< P>
Title: < INPUT NAME=title TYPE=RADIO VALUE=mr>Mr.
< INPUT NAME=title TYPE=RADIO VALUE=ms>Ms.
< P>< INPUT TYPE=SUBMIT>< INPUT TYPE=RESET>
< /FORM>
然後在以上HTML 代碼後面添加如下ASP 命令: < %
title=request.form(title)
if src="/uploads/allimg/130319/10220915V-0.gif" />表示問候,那麼你只需要將以下命令剪貼到Good Evening! 後面即可: < % for i=1 to 6 %>
< p>< center>< img src=smile.gif width=32 height=32 alt= 晚上好>< /p>
< % next %>
這是一個最最基本的循環語句,它將一個笑臉圖片重複調用六次並顯示在頁面上。當然此例的效果完全可以用HTML 做到,但是不難發現使用ASP 大大縮短了代碼的重複編寫,使得程序具有良好的可閱讀性。另外,當你製作一個諸如根據用戶投票來給所評測的對象評定星級的評測站點時,使用此法,你就完全不需要為每一個星級製作一幅圖片。如果一個對像被評為4 星級,那隻需將一顆星的圖片循環顯示4 次,以此類推即可。當然,當工作量較小的時候你不會感覺到ASP 的好處,然而一旦數據量巨增,你將會深刻的體會到ASP 動態網站給你帶來的前所未有的輕、爽感受!