諸起看官莫怪,起這么一個(gè)不倫不類(lèi)的名字,而不是“ASP初步(入門(mén)、基礎)”,原因有二:一怕過(guò)于俗套,但更重要的是怕眾多的徘徊在A(yíng)SP門(mén)檻之外的主頁(yè)制作群連內容都不曾謀面就逃掉了,實(shí)在是可惜!其實(shí),只要您有制作網(wǎng)頁(yè)的經(jīng)驗,您就應該知道點(diǎn)ASP,不然,您的主頁(yè)恐怕就不夠“Cool”了。此話(huà)怎講?如果您作主頁(yè)時(shí)一直在寫(xiě).htm或.html文件,一定會(huì )很奇怪,如何在主頁(yè)上顯示IP地址、在線(xiàn)人數?怎樣讓客戶(hù)端不能獲取自己主頁(yè)文件的源代碼?或者怎樣實(shí)現時(shí)下非常時(shí)髦的個(gè)性化服務(wù)(根據瀏覽者的不同要求自動(dòng)生成頁(yè)面),又或者怎樣自己動(dòng)手制作計數器、留言薄、自動(dòng)的友情鏈接甚至實(shí)現電子購物?那么,當您讀完這篇講座之后,恐怕就會(huì )覺(jué)得這些東西的實(shí)現原理原來(lái)如此簡(jiǎn)單。既然如此,就繼續往下看吧。
一、首先讓我們了解一下學(xué)習ASP的基本要求。
1.ASP起步所需個(gè)人最低配置:
(1)懂一點(diǎn)HTML知識(有維護制作網(wǎng)頁(yè)的經(jīng)驗);
(2)一點(diǎn)數據庫知識,如會(huì )使用Microsoft Access或者會(huì )使用.mdb數據庫。
(3)最好有一點(diǎn)點(diǎn)編程基礎(最好是VB系列,要求會(huì )使用If…Then…End If選擇分支語(yǔ)句和循環(huán)語(yǔ)句)。如果您一點(diǎn)編程基礎也沒(méi)有,那只有試試看了。
2.調試、運行ASP所需軟件環(huán)境:
(1)Win9x+PWS(Win98的光盤(pán)中“\add-ons\pws\setup.exe”安裝一下就行了)。至于怎樣安裝Personal Web Server,很多雜志上都有介紹(不要太多哦,電腦商情報去年就有過(guò)一篇《ASP個(gè)人上手指南》),其實(shí)非常簡(jiǎn)單,沒(méi)有文章寫(xiě)得那么復雜。如果這關(guān)過(guò)不了,我只好建議您打電話(huà)到編輯部咨詢(xún)了。
(2)或者使用Windows NT4.0+IIS4.0(在Windows NT4.0 Option Pack安裝程序中),若要在單位里組建Intranet,使用這種組合是比較好的。
安裝完畢后,如果在瀏覽器中輸入http://localhost/default.asp有結果出來(lái),則安裝成功(默認情況下,你的主頁(yè)文件應放在“\InetPub\wwwroot”目錄下)。如果你想將調試好的ASP文件上傳到遠程的主頁(yè)服務(wù)器上,必須確信該服務(wù)器支持ASP,不過(guò),目前聲明支持ASP的免費主頁(yè)空間并不多,這里給大家提供兩個(gè):東莞視窗(http://www.homecn.com/)和NET668(http://freenet.net668.net/),您可以測試一下我的ASP文件運行結果:http://202.103.176.81/grun/kissher/asp/ipfound2.asp。
3.ASP學(xué)習支持:
(1)ASP技術(shù)網(wǎng)站:http://www.chinasp.com/,從這里還可以找到一些ASP相關(guān)的英文站點(diǎn)。
(2)ASP動(dòng)感網(wǎng)絡(luò ):http://active.t500.net/
(3)Windows NT4.0 Option Pack說(shuō)明文件和Active Server Pages3.0說(shuō)明文件。
(4)Visual Studio6.0的MSDN Library光盤(pán)中有兩個(gè)文件asp.chm、aspdoc.chm是ASP幫助文件,沒(méi)有可去我的站點(diǎn)http://wuf.bentium.net下載(還可下載本文所有源程序)。
(5)本講座的目的只是教您能依樣畫(huà)葫蘆,在自己的主頁(yè)中使用ASP(包括直接使用能下載到的ASP程序),以實(shí)用為先。如果你想進(jìn)一步深入,建議買(mǎi)一本ASP手冊,如:《ASP實(shí)務(wù)經(jīng)典》(中國鐵道出版社,林金霖編著(zhù))。
二、自己動(dòng)手試試。為了加強感性認識,我們先通過(guò)兩個(gè)實(shí)例來(lái)說(shuō)明如何編輯和使用ASP文件。打開(kāi)Windows附件的記事本,輸入以下代碼,保存為wuf1.asp(如果有任何問(wèn)題,可以去我的主頁(yè)向我咨詢(xún)):
<% @LANGUAGE = VBScript %>
<%
Response.Write "<HTML><BODY>" ‘相當于編程語(yǔ)言中的輸出語(yǔ)句
Response.Write "輸出結果到瀏覽器."
Response.Write "</BODY></HTML>"
%>
編輯好后,將wuf1.asp放到安裝默認Web站點(diǎn)的主目錄“\InetPub\wwwroot”下,在瀏覽器中輸入http://localhost/wuf1.asp就會(huì )看到輸出結果。下面再看一個(gè)實(shí)例(wuf2.asp):
<html>
<body>
IP address = <%=Request.ServerVariables("Remote_Addr")%>
</body>
</html>
輸出結果即為本機IP地址,簡(jiǎn)單吧。在上面兩個(gè)例子中,我們使用記事本作編輯器(因為ASP文件是文本文件),但是,如果真想使用ASP的話(huà),我給你推薦以下幾個(gè)工具:
1. HomeSite:不僅是制作主頁(yè)最好的工具之一,編寫(xiě)ASP文件也很不錯。
2. ASP-Edit Professional:不僅可按不同顏色顯示ASP代碼,還有ASP課程和VBScript幫助,這兩個(gè)文件可去華軍主頁(yè)(http://www.newhua.com)下載。
3. Microsoft Visual InterDev6.0:雖是牛刀,卻是編輯ASP文件最好的工具,如果你使用過(guò)VB,它的好處就不用我多說(shuō)了。
應該說(shuō)明的一點(diǎn)是,時(shí)下流行的DreamWeaver3.0作主頁(yè)不錯,但最好不要用來(lái)編輯有ASP代碼的文件,以免越編越亂。
三、理解ASP腳本編程環(huán)境
ASP(Active Server Pages)是一種功能強大、靈活易學(xué)的服務(wù)器端腳本編程環(huán)境,它的源代碼均在服務(wù)器端運行,運行的結果以HTML代碼的形式輸出到客戶(hù)端。利用ASP不僅可以快速創(chuàng )建交互性的動(dòng)態(tài)網(wǎng)頁(yè),而且程序代碼完全保密,更重要的是不用考慮客戶(hù)端用戶(hù)使用何種瀏覽器,可以適用于各種瀏覽器。若使用客戶(hù)端腳本編程(如:VBScript或javascript),則須考慮用戶(hù)所使用的瀏覽器。我們可以這樣來(lái)理解ASP程序:
1.從以上兩例可看出,ASP文件的擴展名為.asp,一個(gè)ASP文件通常由ASP腳本命令和HTML標記、文本組成,ASP命令必須用“<% %>”括起來(lái)(關(guān)于<% @LANGUAGE = VBScript %>,先不急于搞清楚,以后再談)。
2.初學(xué)者要看懂ASP程序,只要一分為二即可(切不可攪在一起,稀里糊涂)。注意除掉<% %>括起來(lái)的代碼后,就與你用過(guò)的.htm文件一樣,你一看就懂。而<% %>括起來(lái)的部分在服務(wù)器端運行后,得到的輸出結果就是你所熟悉的HTML代碼。如Response.Write "<HTML><BODY>"得到的就是<HTML><BODY>,而<%=Request.ServerVariables("Remote_Addr")%>的運行結果即為IP地址,如wuf2.asp輸出后實(shí)際上如同下面:
<html>
<body>
IP address = 16.62.5.60
</body>
</html>
你可以通過(guò)選擇IE中“查看”菜單下的“源文件”來(lái)加深理解。
四、磨刀不誤砍柴工——ASP基礎
1.將結果(字符串信息)輸出到瀏覽器,語(yǔ)法為:Response.Write 顯示的內容。從例wuf2.asp可以看出,可以用“<%=顯示的內容%>”來(lái)代替“<%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>現在的時(shí)間: <% = Time%></P>
<P>現在的時(shí)間: <font color="#CC0033"><% = Time%></font></P>
<%Response.Write "<P>現在的時(shí)間: <font color=‘#CC0033‘>" & Time & "</font></P>"%>
</BODY>
</HTML>
上例中,“&”相當于“+”號,Date和Time就是函數(注意:這里所獲得的時(shí)間是Web服務(wù)器的時(shí)間,而不是瀏覽器所在機器的時(shí)間,從這里可驗證ASP命令是在服務(wù)器端執行的),ASP還有許多其他的函數,本文不可能一一列舉,請自己查閱。
至于<%Response.Expires = 0%>,我們知道,瀏覽器可以緩存Web頁(yè),以加速訪(fǎng)問(wèn),而Response.Expires就是用來(lái)設置網(wǎng)頁(yè)保留在客戶(hù)端瀏覽器緩存中的時(shí)間(分鐘)。若設置為0,則表明網(wǎng)頁(yè)數據不會(huì )被保留在客戶(hù)端的緩存中。它必須放置在<HTML>標簽之前。具體到這個(gè)例子中,如果沒(méi)有這個(gè)設置,你只有按“刷新”按鈕,時(shí)間才會(huì )更新,而僅在地址欄敲回車(chē),時(shí)間是不會(huì )變化的,而加上這句設置后,每敲一次回車(chē),時(shí)間就會(huì )更新一次。
4. 使用條件語(yǔ)句:
<%@ 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
%>
日期用##引起來(lái),Response.Redirect負責引導客戶(hù)端瀏覽器顯示新的網(wǎng)頁(yè),即通常說(shuō)的重定向,請記住,這個(gè)功能是非常有用的。
5. 使用循環(huán)語(yǔ)句:
<%@ Language=VBScript %>
<%Option Explicit%>
<HTML>
<BODY>
<%
dim I
While I<=5
Response.Write "<P>" & "還有其他循環(huán)結構,如:Do...Loop While, " &_
"Do While...Loop, For...Next,For Each...Next等" & "</P>"
I=I+1
Wend
%>
</BODY>
</HTML>
從上例中,你應該注意如何使用“_”換行。
6.使用include file。對于一個(gè)Web站點(diǎn)而言,一般每個(gè)頁(yè)面的頂部或尾部基本上都是相同的,那么你可以將這些相同的部分放一個(gè)文件中,然后再在需要時(shí)引用它。先如下編輯一個(gè)名為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可放在網(wǎng)頁(yè)的任意位置,但必須位所有ASP代碼塊的外部。
此外,還有過(guò)程、函數、參數傳遞等概念,如果你以前未接觸過(guò)的話(huà),還是先放著(zhù)為妙,先從總體上了解ASP,然后再逐步細化。