ASP講座之一:網頁開發利器:高效易學的ASP
作者:Eve Cole
更新時間:2009-05-30 19:58:24
網頁開發利器:高效率易學的ASP
諸起看官莫怪,起這麼一個不倫不類的名字,而不是“ASP初步(入門、基礎)”,原因有二:一怕過於俗套,但更重要的是怕眾多的徘徊在ASP門檻之外的首頁製作群連內容都不曾謀面就逃掉了,實在是可惜!其實,只要有製作網頁的經驗,就該知道點ASP,不然,您的首頁恐怕就不夠「Cool」了。此話怎能講?如果您作首頁時一直在寫.htm或.html文件,一定會很奇怪,如何在主頁上顯示IP位址、線上人數?怎樣讓客戶端不能取得自己主頁文件的源代碼?或者怎麼實現時下非常時髦的個人化服務(根據瀏覽者的不同要求自動生成頁面),又或者怎樣自己動手製作計數器、留言薄、自動的友情鏈接甚至實現電子購物?那麼,當您讀完這篇講座之後,恐怕就會覺得這些東西的實現原理原來如此簡單。既然如此,就繼續往下看吧。
一、先讓我們來了解學習ASP的基本要求。
1. ASP起步所需個人最低配置:
(1)懂一點HTML知識(有維護製作網頁的經驗);
(2)一點資料庫知識,如會使用Microsoft Access或會使用.mdb資料庫。
(3)最好有一點點程式設計基礎(最好是VB系列,要求會使用If…Then…End If選擇分支語句和循環語句)。如果您一點程式設計基礎也沒有,那就只有試試看了。
2.調試、運作ASP所需軟體環境:
(1)Win9x+PWS(Win98的光碟中「add-onspwssetup.exe」安裝一下就行了)。至於怎麼安裝Personal Web Server,很多雜誌上都有介紹(不要太多哦,電腦商情報去年就有過一篇《ASP個人上手指南》),其實非常簡單,沒有文章寫得那麼複雜。如果這關過不了,我只好建議您打電話到編輯部諮詢了。
(2)或使用Windows NT4.0+IIS4.0(在Windows NT4.0 Option Pack安裝程式中),若要在單位裡組成Intranet,使用這種組合是比較好的。
安裝完畢後,如果在瀏覽器中輸入http://localhost/default.asp有結果出來,則安裝成功(預設情況下,你的主頁檔案應該放在「InetPubwwwroot」目錄下)。如果你想將調試好的ASP檔案上傳到遠端的主頁伺服器上,必須確信該伺服器支援ASP,不過,目前聲明支援ASP的免費主頁空間並不多,這裡給大家提供兩個:東莞視窗(http: //www.homecn.com/)和NET668(http://freenet.net668.net/),您可以測試我的ASP檔案運行結果:http://202.103.176.81/grun/kissher/asp/ipfound2 .asp。
3. ASP學習支援:
(1)ASP技術網址:http://www.chinasp.com/,從這裡還可以找到一些ASP相關的英文網站。
(2)ASP動感網路:http://active.t500.net/
(3)Windows NT4.0 Option Pack說明檔案和Active Server Pages3.0說明檔。
(4)Visual Studio6.0的MSDN Library光碟中有兩個文件asp.chm、aspdoc.chm是ASP幫助文件,沒有可去我的網站http://wuf.bentium.net下載(還可下載本文所有原始程式)。
(5)本講座的目的只是教您能依樣畫葫蘆,在自己的主頁中使用ASP(包括直接使用能下載到的ASP程式),以實用為先。如果你想進一步深入,建議買一本ASP手冊,如:《ASP實務經典》(中國鐵道出版社,林金霖編著)。
二、自己動手試試。為了加強感性認識,我們先透過兩個實例來說明如何編輯和使用ASP檔案。開啟Windows附件的記事本,輸入以下程式碼,儲存為wuf1.asp(如果有任何問題,可以前往我的主頁向我諮詢):
<% @LANGUAGE = VBScript %>
<%
Response.Write "<HTML><BODY>" '相當於程式語言中的輸出語句
Response.Write "輸出結果到瀏覽器."
Response.Write "</BODY></HTML>"
%>
編輯好後,將wuf1.asp放到安裝預設Web網站的主目錄「InetPubwwwroot」下,在瀏覽器中輸入http://localhost/wuf1.asp就會看到輸出結果。下面再看一個實例(wuf2.asp):
<html>
<body>
IP address = <%=Request.ServerVariables("Remote_Addr")%>
</body>
</html>
輸出結果即為本機IP位址,簡單吧。在上面兩個例子中,我們使用記事本作編輯器(因為ASP檔案是文字檔),但是,如果我真想使用ASP的話,我會推薦以下幾個工具給你:
1. HomeSite:不僅是製作主頁最好的工具之一,編寫ASP檔案也很不錯。
2. ASP-Edit Professional:不僅可依不同顏色顯示ASP程式碼,還有ASP課程和VBScript幫助,這兩個檔案可去華軍首頁(http://www.newhua.com)下載。
3. Microsoft Visual InterDev6.0:雖然是牛刀,卻是編輯ASP檔案最好的工具,如果你使用過VB,它的好處就不用我多說了。
應該說明的一點是,時下流行的DreamWeaver3.0作主頁不錯,但最好不要用來編輯有ASP程式碼的文件,以免越編越亂。
三、理解ASP腳本程式設計環境
ASP(Active Server Pages)是一種功能強大、靈活易學的伺服器端腳本程式設計環境,它的原始程式碼均在伺服器端運行,運行的結果以HTML程式碼的形式輸出到客戶端。利用ASP不僅可以快速建立互動性的動態網頁,而且程式碼完全保密,更重要的是不用考慮客戶端使用者使用何種瀏覽器,可以適用於各種瀏覽器。若使用客戶端腳本編程(如:VBScript或JavaScript),則須考慮使用者所使用的瀏覽器。我們可以這樣來理解ASP程式:
1.從以上兩例可看出,ASP檔案的副檔名為.asp,一個ASP檔案通常由ASP腳本指令和HTML標記、文字組成,ASP指令必須用「<% %>」括起來(關於<% @LANGUAGE = VBScript %>,先不急於搞清楚,以後再談)。
2.初學者要看懂ASP程序,只要一分為二即可(切不可攪在一起,稀里糊塗)。注意除掉<% %>括起來的程式碼後,就與你用過的.htm檔案一樣,你一看就懂。而<% %>括起來的部分在伺服器端運作後,得到的輸出結果就是你所熟悉的HTML程式碼。如Response.Write "<HTML><BODY>"得到的就是<HTML><BODY>,而<%=Request.ServerVariables("Remote_Addr")%>的運行結果即為IP位址,如wuf2.asp輸出後實際上如同下面:
<html>
<body>
IP address = 16.62.5.60
</body>
</html>
你可以透過選擇IE中「檢視」選單下的「原始檔」來加深理解。
四、磨刀不誤砍柴工人-ASP基礎
1.將結果(字串資訊)輸出到瀏覽器,語法為:Response.Write 顯示的內容。從範例wuf2.asp可以看出,可以用「<%=顯示的內容%>」來取代「<%Response.write 顯示的內容%>」。
2.使用變量,wuf2.asp可改為:
<% @LANGUAGE = VBScript %>
<% '單引號後加註– wuf3.asp
Option Explicit '要求變數宣告,使用它可減少程式出錯的可能,提高效率
Dim IPaddr '使用變數前最好先聲明
Ipaddr = Request.ServerVariables("Remote_Addr")
%>
<html>
<body>
IP address = <%=IPaddr%>
</body>
</html>
3.在程式中使用函數:
<%@ Language=VBScript %>
<%Response.Expires = 0%>
<HTML>
<HEAD>
<title>使用函數- wuf4.asp</title>
</HEAD>
<BODY>
<P>今天的日期: <% = Date%></P>
<P>現在的時間: <% = Time%></P>
<P>現在的時間: <font color="#CC0033"><% = Time%></font></P>
<%Response.Write "<P>現在的時間: <font color='#CC0033'>" & Time & "</font></P>"%>
</BODY>
</HTML>
上例中,「&」相當於「+」號,Date和Time就是函數(注意:這裡所獲得的時間是Web伺服器的時間,而不是瀏覽器所在機器的時間,從這裡可驗證ASP指令是在伺服器端執行的),ASP還有許多其他的函數,本文不可能一一列舉,請自己查閱。
至於<%Response.Expires = 0%>,我們知道,瀏覽器可以快取Web頁,以加速訪問,而Response.Expires就是用來設定網頁保留在客戶端瀏覽器快取中的時間(分鐘)。若設定為0,表示網頁資料不會保留在客戶端的快取中。它必須放置在<HTML>標籤之前。具體到這個例子中,如果沒有這個設置,你只有按“刷新”按鈕,時間才會更新,而僅在地址欄敲回車,時間是不會變化的,而加上這句設置後,每敲一次回車,時間就會更新一次。
4. 使用條件語句:
<%@ Language=VBScript %>
<% 'wuf5.asp
If Time<=#12:00:00# Then
Response.Redirect "wuf1.asp"
ElseIf time<=#18:00:00# Then
Response.Redirect "wuf2.asp"
Else
Response.Redirect "wuf3.asp"
End If
%>
日期用##引起來,Response.Redirect負責引導客戶端瀏覽器顯示新的網頁,也就是通常說的重定向,請記住,這個功能是非常有用的。
5. 使用循環語句:
<%@ Language=VBScript %>
<%Option Explicit%>
<HTML>
<BODY>
<%
dim I
While I<=5
Response.Write "<P>" & "還有其他迴圈結構,如:Do...Loop While, " &_
"Do While...Loop, For...Next,For Each...Next等" & "</P>"
I=I+1
Wend
%>
</BODY>
</HTML>
從上例中,你應該注意如何使用“_”換行。
6.使用include file。對於一個Web網站而言,一般每個頁面的頂部或尾部基本上都是相同的,那麼你可以將這些相同的部分放一個檔案中,然後再在需要時引用它。先如下編輯一個名為comm.asp的檔案:
<html>
<head>
<style type="text/css">
<!--
font { font-family: "宋體", "Times New Roman"; font-size: 9pt}
-->
</style>
</head>
<body>
<table width="640" border="0" bordercolor="#9999FF" bgcolor="#FFFFFF" bordercolorlight="#3333FF" bordercolordark="#CC0000">
<tr bgcolor="#006666" bordercolor="#009933">
<td align="center" height="18" colspan="2"><font color="#FFFFFF">⊙
《豐子家園》版權所有- </font><font color="#FFFF00">建站於1997年3月</font>
</td> </tr>
</table>
</body>
</html>
再編輯以下文件:
<% @LANGUAGE = VBScript %>
<HTML>
<BODY>
<% 'wuf7.asp
Response.Write "輸出結果到瀏覽器."
%>
<!--#include file="comm.asp"-->
</BODY>
</HTML>
include file可放在網頁的任意位置,但必須位元所有ASP程式碼區塊的外部。
此外,還有過程、函數、參數傳遞等概念,如果你以前未接觸過的話,還是先放著為妙,先從整體上了解ASP,然後再逐步細化。