国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
ASP組件介紹


文件上傳組件ASPUpload

有時候希望將客戶端的文件上傳到服務(wù)器,比如在一些網(wǎng)絡(luò)課堂中,學(xué)生通過上傳文件遞交作業(yè)等。要實現(xiàn)該功能,就要利用一些特制的文件上傳組件。我們可以到
http://www.aspupload.com上下載該組件。
當(dāng)下載并安裝完該組件后,將默認(rèn)生成:c:\program files\persits software\aspupload文件夾。
一、 上傳組件persits.upload.1的屬性
overwritefiles:能否覆蓋文件。
二、 上傳組件persits.upload.1的方法
save:保存文件到某文件夾
files:獲取上傳文件對象的方法
form:獲取上傳表單元素的方法
setmaxsize:設(shè)置上傳文件最大字節(jié)數(shù)。
三、 上傳文件的屬性
name:上傳表單中的表單元素的名字。
Filename:上傳文件的名字
Path:上傳后文件的路徑
Size:上傳后文件的大小
四、 上傳表單元素的屬性
name:表單元素的名字
value:表單元素的值

綜合實例:
1、上傳一個文件實例
step1:建立11-3.asp表單文件


  <title>上傳一個文件示例</title>



  <h2 align="center">上傳一個文件</h2>
  <center>
  <form action="11-4.asp" method=post enctype="multipart/form-data">
    選擇文件:<input type="file" name="upfile"><br>
    文件說明:<input type="text" name="intro" size="30"><br>
    作者姓名:<input type="text" name="author" size="30"><br>
    <input type="submit" value="確定">
  </form>
  </center>


step2:建立11-4.asp文件
<% option explicit %>


  <title>上傳一個文件示例</title>


  <h2 align="center">文件已安全上傳</h2>
  <center>
  <%
    dim upload
    set upload=server.createobject("persits.upload.1"

    upload.setmaxsize 2*1024*1024,false
    upload.overwritefiles=true
    upload.save "c:\inetpub\wwwroot"
    response.write "上傳文件為:"&upload.files("upfile"
.path&"<br>"
    response.write "文件大小為:"&upload.files("upfile"
.size&"字節(jié)<br>"
    response.write "文件說明為:"&upload.form("intro"
.value&"<br>"
    response.write "作者姓名為:"&upload.form("author"
.value&"<br"
  %>
  </center>
  
  

程序說明:
1、 enctype=”multipart/form-data  一定要寫。
2、 用于保存上傳文件的文件夾必須是存在的;而且,如果服務(wù)器是win2000或NT操作系統(tǒng),必須將該文件夾權(quán)限設(shè)置成所有人可以存取的。否則將無法上傳文件。

實例2:上傳多個文件表單



  <title>上傳多個文件示例</title>

  <h2 align="center">上傳多個文件</h2>
  <center>
  <form action="" method="post" enctype="multipart/form-data" >
    選擇文件1:<input type="file" name="upfile1">
    文件說明1:<input type="text" name="intro1" size=30><br> 
    選擇文件2:<input type="file" name="upfile2">
    文件說明2:<input type="text" name="intro2" size=30><br> 
    <input type="submit" value="確定">
  </form>
  </center>
 
 




可以看到,該組件不僅可以上傳文件,而且還可以象普通表單一樣上傳一些表單元素值,這樣就可以給上傳的文件加一些說明文字。


ASP組件小結(jié):
組件有內(nèi)置組件和外置組件兩種。內(nèi)置組件在安裝IIS時就已經(jīng)注冊到服務(wù)器上,可以直接使用,如本章所學(xué)的大多屬于此類。外置組件則需要我們下載安裝,如本節(jié)介紹的JMAIL和UPLOAD組件均是外置組件。
外置組件是需要下載安裝的。下載組件的文件形式各不一樣。有的是EXE安裝程序,如upload.exe,有的是dll文件,它是該組件的動態(tài)連接庫。這樣的文件需要注冊。
(如:regsvr32 c:\temp\test.dll)
其實,外置組件的核心就是一個DLL動態(tài)連接庫文件。所謂的EXE安裝程序,主要功能就是注冊這個動態(tài)連接庫文件。




 

2005-11-3
文件系統(tǒng)組件

文件系統(tǒng)組件

File Access組件可以允許用戶對服務(wù)器本地文件系統(tǒng)做一定的操作。該組件包括5個對象,分別是:filesystemobject對象、textstream 對象、file對象、folder對象、drives對象等。其中前兩個最為常用。

Filesystemobject對象:包含了處理文件系統(tǒng)的所有基本方法。
Textstream對象:用來讀寫文本文件。
File對象:用來處理單個文件。
Folder對象:用來處理文件夾。
Drives對象:用來取得系統(tǒng)中所有可用驅(qū)動器的信息。

第一部分:學(xué)習(xí)filesystemobject對象

一、 filesystemobject對象的方法
該對象包含了處理文件系統(tǒng)的所有基本方法,提供對計算機文件系統(tǒng)的訪問。
語法:
set fs=server.createobject(“scripting.filesystemobject”)
其中,fs是用戶自定義的對象實例名。

Fs.buildpath(path,name):在由path指定的目錄后面加上name指定的文件或文件夾。
Fs.copyfile(source,dest):將一個或多個文件從源位置復(fù)制到目標(biāo)位置。
Fs.copyfolder(source,dest):將一個或多個文件夾從源位置復(fù)制到目標(biāo)位置。
Fs.createfolder(name):創(chuàng)建一個由name指定的文件夾。
Fs.createtextfile(name):創(chuàng)建一個由name指定的文件。
Fs.deletefile(name):刪除一個指定的文件。
Fs.deletefolder(name):刪除一個指定的文件夾。
Fs.driveexists(驅(qū)動器名稱):判斷指定的驅(qū)動器是否存在。
Fs.fileexits()
Fs.folderexits()
Fs.getabsolutepathname():將指定的路徑返回其相對應(yīng)的絕對路徑。
 
等等。詳細(xì)請看課本171表9-2。

二、filesystemobject對象的屬性
該對象只有一個屬性drives ,該屬性包含本地計算機上所有可用驅(qū)動器的信息,因此可將有關(guān)驅(qū)動器的信息取得形成一個集合,然后用循環(huán)語句逐個顯示。
例1:

<title> 服務(wù)器磁盤驅(qū)動器顯示列表</title></HEAD>
<%
set myfileobject=server.createobject("scripting.filesystemobject"

for each thing in myfileobject.drives
%>
<br> 驅(qū)動器號:<%=thing.driveletter%>
<%next%>

例2:課本172的例9-1

三、利用filesystemobject對象復(fù)制、移動及刪除文件
例3:課本173的例9-2

程序說明:
(1)本例中先建立了對象myfileobject,它是基于filesystemobject組件的,因此可調(diào)用表9-2中的所有方法和屬性。
(2)本例使用了 copyfile  movefile  deletefile 三種方法。

四、利用filesystemobject對象進(jìn)行文件夾處理
從9-2表可看出,filesystemobject組件也提供了多種對驅(qū)動器的操作。
例9-4:

程序說明:該例中使用了createfolder  movefolder  deletefolder三種方法。


總結(jié):剛才的這些例子都是通過建立filesystemobject組件對象來完成的,具體對文件的操作是通過copyfile、createtextfile等方法來完成,對文件夾也有具體的方法。
其實,ASP文件系統(tǒng)組件中也提供了專門對文件和文件夾進(jìn)行處理的對象。見表9-1
file對象:用來處理單個文件。
Folder對象:用來處理文件夾。
Drivers對象:用來取得可用驅(qū)動器的信息。
注意使用時先建立filesystemobject組件的對象,然后再使用其getfile或getfolder方法建立一個對象實例,最后再調(diào)用其各自的方法及屬性。

五、使用file和folder對象對完成上面兩例的功能。
由于這兩個對象完成的功能可以用filesystemobject對象完成,所以對其方法不做介紹,這里只給出兩種方法的屬性。
1、 folder對象的屬性
attributes:返回文件夾的屬性。
Datecreated:返回該文件夾的創(chuàng)建日期和時間
Datelastaccessed:返回最后一次訪問的日期和時間。
Datelastmodified:
Drive:返回該文件夾對應(yīng)的驅(qū)動器字母。
Name:設(shè)定和返回文件夾的名字、
Isrootfolder:判斷該文件夾是否是根文件夾。
Parentfolder:返回該文件夾的父文件夾。
Path:返回該文件夾的絕對路徑。
Size:返回指定文件夾的大小。
Subfolders:返回文件夾中所有的子文件夾。
操作:例9-3
2、 file對象的屬性
attributes:
datecreated:
datelastaccessed:
datelastmodified:
name:
parentfolder:
path:
size:

操作:例9-5

第二部分:學(xué)習(xí)textstream對象(用于訪問文本文件)

對象屬性指對象的某種狀態(tài),對象方法指對象要執(zhí)行的某種動作。

注意:該對象與file、folder對象一樣,使用前需要先由filesystemobject對象建立,才能使用。
一、 textstream對象的屬性(均為只讀屬性)
atendofline:判斷文件指針是否指向行末標(biāo)記,返回值為true或false。
Atendofstream:判斷文件指針是否位于textstream文件末。
Column:返回文本文件中當(dāng)前字符位置的列號。
Line:返回文本文件中當(dāng)前字符位置的行號。

二、 textstream對象方法
close:關(guān)閉打開的文本文件
read:從文本文件中讀入指定數(shù)目的字符并返回。
Readall:從文本文件中讀入全部字符并返回。
Readline:從文本文件中讀入一整行字符,并返回結(jié)果。
Skip:讀取文本文件跳過指定數(shù)目的字符。

 其他方法同學(xué)可參考176表9-4。

實例1:練習(xí)從文本文件中讀取數(shù)據(jù)。
1、課本176中的例9-6
2、課本177中的例9-7
程序說明:
1、 注意textstream對象的創(chuàng)建步驟與方法。
2、 學(xué)習(xí)使用textstream 對象的屬性與方法。

實例2:練習(xí)對文本文件進(jìn)行寫入數(shù)據(jù)。
1、 課本177中的例9-8
2、 課本178中的例9-9


綜合示例:
1、 計數(shù)器實例
(1) 用application對象實現(xiàn)、
(2) 用計數(shù)器組件實現(xiàn)
(3) 用文件實現(xiàn)。
(4) 用圖形文件實現(xiàn)
P179中的例9-10
例9-11
例9-12


2、尚俊杰網(wǎng)絡(luò)程序設(shè)計中P224的10.1.7



 

2005-10-25
ASP組件2

Content Linking組件介紹

   Content Linking組件的主要目的在于管理網(wǎng)頁或網(wǎng)址間的超文本連接,可以通過一個網(wǎng)頁或網(wǎng)址的線性排列順序列表來管理多個網(wǎng)頁或網(wǎng)址間的超文本連接順序。該組件讀取一個被稱為線性排列順序文本連接的文本文件,該文件列出了每個連接的URL和描述信息,根據(jù)這些信息,該組件可以自動創(chuàng)建每個相關(guān)頁面的導(dǎo)航連接和目錄連接,一旦頁面間的結(jié)構(gòu)發(fā)生變化,只要修改內(nèi)容連接文件就可以實現(xiàn)導(dǎo)航連接和目錄連接的更新,從而節(jié)省了站點的維護(hù)工作量。
  請同學(xué)們做課本P163例8-3。
程序說明:
1、 內(nèi)容連接列表文件(TXT文件)中,不能有絕對URL,全都是相對路徑。
2、 該文件中每行以回車換行結(jié)束,行中的每一列必須以制表符(TAB)來分隔,不能用空格。

計數(shù)器組件介紹
該組件可以完成統(tǒng)計某個頁面的訪問次數(shù),網(wǎng)站的訪問人數(shù),某個廣告的點擊率等。
例1


<title>計數(shù)器組件應(yīng)用示例</title>

  <h2 align="center">個人主頁</h2>
  <%
    dim count
set count=server.createobject("mswc.pagecounter"

count.pagehit()
dim visit_number
visit_number=count.hits()
response.write "您是第"&cstr(visit_number)&"位訪客"
%>



例2:P166例8-4

<%set mycount=server.createobject("mswc.counters”)%>
本頁面已經(jīng)被瀏覽了<%=mycount.increment("pagecnt"
%>次


pagecnt是計數(shù)器變量的名字,一個變量能永久存儲數(shù)值。

兩個例子說明:在一個計數(shù)器組件中可以有多個不同名稱的計數(shù)器,利用這些不同的計數(shù)器可以統(tǒng)計網(wǎng)站中多個元素的數(shù)據(jù)。

CDONTS組件

許多網(wǎng)站中經(jīng)常把信息調(diào)查、用戶反饋的信息等通過表單收集到,然后以電子郵件的形式進(jìn)行發(fā)送。ASP本身沒有發(fā)送郵件的功能,但是借助CDONTS組件,可以在ASP中實現(xiàn)發(fā)送電子郵件的功能。
一、 該組件的安裝
1、檢查注冊表編輯器,如果有cdonts.newmail,則可以直接使用該組件。
2、若沒有該組件應(yīng)先安裝。方法是:找到winnt\system32目錄下的cdonts.dll文件,在“開始”—“運行”里輸入:regsvr32 c:\winnt\system32\cdonts.dll。
3、該組件的注銷方法為:regsvr32/u c:\winnt\system32\cdonts.dll
  
二、 CDONTS組件的屬性和方法
五種屬性:
to  :設(shè)置收件人的郵件地址
ac,bcc:設(shè)置一個或多個參閱的郵件地址,用于設(shè)置抄送人與密件抄送人的郵件地址。
From:設(shè)置發(fā)件人的郵件地址
Subject:設(shè)置郵件主題
Body:設(shè)置郵件內(nèi)容

兩個方法:
send:發(fā)送郵件
attachfile:設(shè)置附加文件

三、實例練習(xí)
<%
set mail=server.createobject("cdonts.newmail"

mail.from="tssxyma@163.com"
mail.to="taoshuangshuang.student@sina.com"
mail.body="dfdfdf"
mail.send
response.write "success"

%>

JMAIL組件使用(屬于第三方組件)

一、 下載JMAIL組件,然后安裝自動注冊
W3 Jmail組件的方法和屬性如下:
From:發(fā)件人e-mail地址
Fromname:發(fā)件人姓名
Addrecipient:添加收件人e-mail地址
Subject:郵件主題
Body:郵件內(nèi)容
Addattachment:添加附件
Send:執(zhí)行發(fā)送
Close:關(guān)閉對象
Version:W3 Jmail的版本號

二、使用實例
<%
set msg=server.CreateObject("Jmail.Message"

msg.MailServerUserName="xht_alfred"
msg.MailServerPassWord="19820816"

msg.Logging=true
msg.from="tssxyma@163.com"
msg.FromName="北京生活網(wǎng)"

msg.Subject="中秋節(jié)快樂"
msg.AddRecipient "taoshuangshuang.student@sina.com"
msg.body="北京生活網(wǎng)歡迎您的到來"
msg.Send("tssxyma:112211tss@smtp.163.com"
          
response.write "SUCCESS"                                                                               
msg.close
                                                                                                     
%>

 

2005-10-25
ASP組件介紹

ASP組件介紹

前段時間我們一直在學(xué)習(xí)ASP提供的5個內(nèi)置對象,了解了每個對象的屬性、方法和事件所實現(xiàn)的功能。其實,ASP除了內(nèi)置對象外,還可應(yīng)用一些組件來執(zhí)行某些特定的功能,包括asp內(nèi)置組件(13個)和第三方提供的組件,這樣無須用戶編程直接調(diào)來用就可以。這部分我們主要介紹ASP中常用的6個組件。
需要注意:
(1)組件其實就是已經(jīng)在服務(wù)器上注冊的ActiveX控件。
(2)組件在使用前需要首先創(chuàng)建一個它的實例,然后才能運用該組件的屬性、方法等。
(3)內(nèi)置組件是在安裝ASP時就已經(jīng)注冊到服務(wù)器上的組件。
ASP組件(也叫外掛對象)是一種需要經(jīng)過安裝方可使用的軟件,在正常情況下,安裝服務(wù)器軟件IIS時就可以自動安裝好。
一、 檢查系統(tǒng)是否安裝了各種組件的方法
1、打開注冊表編輯器。[開始]-[運行]--regedit
2、在其樹型目錄中,找到"HKEY_CLASS_ROOT"項,單擊左側(cè)的加號將目錄展開。
3、按住滾動條向下查找,若能找到如"MSWC.AdRotator",表示系統(tǒng)已經(jīng)安裝了該組件。還可以看到:MSWC.BrowserType、MSWC.NextLink、MSWC.Counters等組件。
二、 ASP組件的使用方法
Set 實例名=server.createobject("MSWC.對象名"

其中:
set:保留字,它是SERVER對象的一個方法。
實例名:任選的一個名字,用來存放一個創(chuàng)建的實例。
Server.createobject:保留字
對象名:對象名是登記在系統(tǒng)中的ACTIVEX對象。如果該語句在創(chuàng)建中產(chǎn)生錯誤,一個主要的原因是語句中的對象名未存在于系統(tǒng)中。
三、 使用ASP組件容易出現(xiàn)的問題
  服務(wù)器對象錯誤  ‘a(chǎn)sp 0177:800401f3"
server.createobject失敗
/chap3/adrot.asp,行12
800401f3
同學(xué)遇到該問題時,首先檢查程序中的對象名的書寫是否正確,然后檢查系統(tǒng)中的有關(guān)目錄,看一下是否該對象已安裝在系統(tǒng)中。若找不到,則需重裝服務(wù)器軟件。

    Ad Rotator組件介紹

大家都知道,很多網(wǎng)站上都有大量的廣告存在。每一個廣告不僅內(nèi)容時常發(fā)生變化,而且每個廣告的播放順序也不一樣。如果采用手工方式管理這些廣告,顯然費時。ASP提供的ad rotator組件可以容易地實現(xiàn)在WEB頁面上插入一個循環(huán)播放廣告橫幅的播放器。不僅使用戶每次訪問時隨機顯示不同的圖片,而且還可以設(shè)置圖片的隨機顯示概率。

1、建立三個圖形文件,1.gif,2.gif,3.gif
2、建立循環(huán)定時文件,名為myadrot.txt。
redirect adcount.asp
width 200
height 30
border 0
*
1.gif
http://www.sina.com.cn
新浪
30
2.gif
http://www.weihaicollege.com
威海職業(yè)學(xué)院
40
3.gif
http://www.baidu.com
百度
30

3、建立重定向文件,名為adcount.asp。
<%
  response.appendtolog request.querystring("url"

  response.redirect request.querystring("url"

%>

4、建立Ad Rotator組件的創(chuàng)建程序,名為welcome.asp。

<title>歡迎進(jìn)入</title>

<center><h2>歡迎進(jìn)入</h2></center>
<hr>
<%
  set myad=server.createobject("mswc.adrotator"

%>
<center><%=myad.getadvertisement("myadrot.txt"
%></center>



請執(zhí)行welcome.asp文件,多次刷新頁面,觀察執(zhí)行結(jié)果。

程序說明:
(1) welcome.asp可以看出,使用組件前首先要創(chuàng)建該組件的實例。如:
<% set myad=server.createobject("mswc.adrotator"
%>
然后才能使用其屬性或方法,如:<%=myad.getadvertisement("myadrot.txt"
%></center>
(2)使用ad rotator組件時,需要幾個相關(guān)文件配合使用。
(3)循環(huán)定時文件。如本例中的myadrot.txt文件。其格式主要包括兩部分:
一是所有廣告都需要的通用信息(*上方的四行),包括重定向文件名、廣告的寬度、高度和邊界寬度。
二是設(shè)置與每個廣告相關(guān)的信息(*下方的信息),包括每個廣告的顯示圖象、對應(yīng)的URL以及每個廣告的顯示頻率等。
(4)重定向文件。如本例中的adcount.asp文件。該文件主要通過response.redirect request.querystring("url"
語句來取得與被點擊圖象相關(guān)的"url",使得用戶點擊廣告時,能重定向到該文件。

程序運行分析:
客戶在WEB站點上選擇了廣告網(wǎng)頁adrot.asp后,系統(tǒng)將進(jìn)行如下處理:
1、"adrot.txt"文件竟解讀后,確定圖片顯示區(qū)尺寸,獲得各圖片的路徑名。
2、根據(jù)各圖片的權(quán)碼,隨機抽取一幅圖片文件(x1.bmp等)顯示在圖片顯示區(qū)內(nèi)。
3、若客戶對一幅圖片不感興趣,按下[刷新]按鈕,則返回第2步,重新執(zhí)行。
4、若客戶用鼠標(biāo)點擊了屏幕上的圖片(如x1.bmp),則按照文件"adrot.txt"中該圖片對應(yīng)的廣告文件名(如cup.htm)讀取該文件,按照重定向文件(a.asp)指示的網(wǎng)址顯示出來。





例1:










一、
二、 ad rotator組件的方法:getadvertisement
該方法的功能是:重新取得一個將要顯示的圖片和超文本連接。當(dāng)用戶第一次啟動網(wǎng)頁或重新刷新時,系統(tǒng)會重新取得下一個圖片。
三、 該組件的三種屬性這里不做介紹,有興趣的同學(xué)可參考。
四、 詳細(xì)解釋循環(huán)定時文件各語句功能。
第一部分(通用參數(shù))
1、redirect:指出對廣告的重定位文件,當(dāng)廣告點擊后,用戶重定位到該指示文件。
2、width:指示該圖標(biāo)文件的寬度,默認(rèn)值為440。
3、height:指示該圖標(biāo)文件的高度,默認(rèn)值為60。
4、border:廣告圖標(biāo)文件的邊界厚度,默認(rèn)值為0。
*
第二部分:(特定參數(shù))
第一行:圖標(biāo)的圖象文件名及其位置。
第二行:該廣告的連接位置,如果是隱含的,則該廣告就不會成為一個連接。
第三行:在不支持圖象的瀏覽器中顯示的文本內(nèi)容。(即文字說明)
第四行:限定了廣告圖標(biāo)的顯示頻率。上例中表示點擊的概率分別是30%,40%,30%。自然,概率越高,顯示次數(shù)就會越多。

Browser capabilities組件介紹
一、問題提出(為什么使用該組件)
眾所周知,在瀏覽器競爭中,有兩家占據(jù)了主要市場(netscape html和microsoft html),這樣自然就不可避免的有兩種HTML標(biāo)準(zhǔn)。這就使得網(wǎng)站設(shè)計者必須考慮到用戶的瀏覽器。如果設(shè)計者只關(guān)注符合一家的HTML標(biāo)準(zhǔn),就可能因此失去相當(dāng)數(shù)量的潛在訪問者。
  使用BRWOSER組件能通過判斷用戶的瀏覽器類型很好的解決該問題。
二、組件使用方法
例1:
<%
set browcap=server.createobject("mswc.browsertype"

if browcap.activexcontrols then
%>

<title>支持activexcontrols</title>

<%else%>

<title>不支持activexcontrols</title>

您正在使用<%=browcap.browser%>瀏覽器(版本<%=browcap.version%>
。
它不支持activexcontrols.
您應(yīng)當(dāng)下載最新版本的瀏覽器,這里推薦訪問:
<p><a href="www.netscape.com">netscape</a>
<p>或者
<p><a href="www.microsoft.com">microsoft</a>
</p>


</%end if%>

程序說明:
(1)使用組件前首先要創(chuàng)建該組件的實例,如browcap。
(2)有多個瀏覽器屬性,這里用到activexcontrols和version。可以參考課本160頁的表8-4。這里不一一做介紹。同學(xué)們只需要讀懂該例子即可
(3)服務(wù)器將客戶端瀏覽器的各屬性取得后與誰進(jìn)行比較呢?注意browscap.ini文件。該文件在安裝ASP服務(wù)器后,就被安裝到了服務(wù)器上。該文件中主要定義了目前所有的各種瀏覽器所具有的屬性,以作為將來比較的參照。顯然,隨著瀏覽器種類的不斷增多,該文件的信息其實也應(yīng)該不斷更新的。

三、使用該組件可能存在的問題
當(dāng)用戶用新版本的瀏覽器,而服務(wù)端的ini文件還沒有更新的信息,所以常常會顯示錯誤的結(jié)果。因此,ini文件更新速度不及時影響了該組件的有效使用。
www.activeserverpages.com和www.aspsite.com網(wǎng)站等都提供了不斷更新的ini文件

 

2005-10-10
asp組件介紹

ASP組件介紹

前段時間我們一直在學(xué)習(xí)ASP提供的5個內(nèi)置對象,了解了每個對象的屬性、方法和事件所實現(xiàn)的功能。其實,ASP除了內(nèi)置對象外,還可應(yīng)用一些組件來執(zhí)行某些特定的功能,包括asp內(nèi)置組件(13個)和第三方提供的組件,這樣無須用戶編程直接調(diào)來用就可以。這部分我們主要介紹ASP中常用的6個組件。
需要注意:
(1)組件其實就是已經(jīng)在服務(wù)器上注冊的ActiveX控件。
(2)組件在使用前需要首先創(chuàng)建一個它的實例,然后才能運用該組件的屬性、方法等。
(3)內(nèi)置組件是在安裝ASP時就已經(jīng)注冊到服務(wù)器上的組件。

Ad Rotator組件介紹
大家都知道,很多網(wǎng)站上都有大量的廣告存在。每一個廣告不僅內(nèi)容時常發(fā)生變化,而且每個廣告的播放順序也不一樣。如果采用手工方式管理這些廣告,顯然費時。ASP提供的ad rotator組件可以容易地實現(xiàn)在WEB頁面上插入一個循環(huán)播放廣告橫幅的播放器。不僅使用戶每次訪問時隨機顯示不同的圖片,而且還可以設(shè)置圖片的隨機顯示概率。

例1:
1、建立三個圖形文件,1.gif,2.gif,3.gif
2、建立循環(huán)定時文件,名為myadrot.txt。
redirect adcount.asp
width 200
height 30
border 0
*
1.gif
http://www.sina.com.cn
新浪
30
2.gif
http://www.weihaicollege.com
威海職業(yè)學(xué)院
40
3.gif
http://www.baidu.com
百度
30

3、建立重定向文件,名為adcount.asp。
<%
  response.appendtolog request.querystring("url"

  response.redirect request.querystring("url"

%>

4、建立Ad Rotator組件的創(chuàng)建程序,名為welcome.asp。

<title>歡迎進(jìn)入</title>

<center><h2>歡迎進(jìn)入</h2></center>
<hr>
<%
  set myad=server.createobject("mswc.adrotator"

%>
<center><%=myad.getadvertisement("myadrot.txt"
%></center>



請執(zhí)行welcome.asp文件,多次刷新頁面,觀察執(zhí)行結(jié)果。

程序說明:
(1) welcome.asp可以看出,使用組件前首先要創(chuàng)建該組件的實例。如:
<% set myad=server.createobject("mswc.adrotator"
%>
然后才能使用其屬性或方法,如:<%=myad.getadvertisement("myadrot.txt"
%></center>
(2)使用ad rotator組件時,需要幾個相關(guān)文件配合使用。
(3)循環(huán)定時文件。如本例中的myadrot.txt文件。其格式主要包括兩部分:
一是所有廣告都需要的通用信息(*上方的四行),包括重定向文件名、廣告的寬度、高度和邊界寬度。
二是設(shè)置與每個廣告相關(guān)的信息(*下方的信息),包括每個廣告的顯示圖象、對應(yīng)的URL以及每個廣告的顯示頻率等。
(4)重定向文件。如本例中的adcount.asp文件。該文件主要通過response.redirect request.querystring("url"
語句來取得與被點擊圖象相關(guān)的“url”,使得用戶點擊廣告時,能重定向到該文件。

一、 ad rotator組件的方法:getadvertisement
該方法的功能是:重新取得一個將要顯示的圖片和超文本連接。當(dāng)用戶第一次啟動網(wǎng)頁或重新刷新時,系統(tǒng)會重新取得下一個圖片。
二、 該組件的三種屬性這里不做介紹,有興趣的同學(xué)可參考。
三、 詳細(xì)解釋循環(huán)定時文件各語句功能。
第一部分(通用參數(shù))
1、redirect:指出對廣告的重定位文件,當(dāng)廣告點擊后,用戶重定位到該指示文件。
2、width:指示該圖標(biāo)文件的寬度,默認(rèn)值為440。
3、height:指示該圖標(biāo)文件的高度,默認(rèn)值為60。
4、border:廣告圖標(biāo)文件的邊界厚度,默認(rèn)值為0。
*
第二部分:(特定參數(shù))
第一行:圖標(biāo)的圖象文件名及其位置。
第二行:該廣告的連接位置,如果是隱含的,則該廣告就不會成為一個連接。
第三行:在不支持圖象的瀏覽器中顯示的文本內(nèi)容。(即文字說明)
第四行:限定了廣告圖標(biāo)的顯示頻率。上例中表示點擊的概率分別是30%,40%,30%。自然,概率越高,顯示次數(shù)就會越多。

Browser capabilities組件介紹
當(dāng)用戶向服務(wù)器發(fā)出請求后,服務(wù)器會將頁面?zhèn)鬟f給客戶端瀏覽器。但我們不能保證傳遞的一致性,即不能保證服務(wù)器發(fā)送的頁面會完全無誤地顯示在瀏覽器上。這是因為客戶端瀏覽器有不同種類及不同版本,他們對于某些html標(biāo)記的解釋不盡相同。因此造成了在客戶端瀏覽器上頁面顯示的差異。
為解決這一問題,我們希望服務(wù)器能及時地檢測出客戶端瀏覽器的種類及版本,了解他們支持和不支持的特性,依據(jù)此信息,服務(wù)器在頁面中啟用瀏覽器支持的屬性,屏蔽不支持的特性。Asp提供的browser capalilities組件正是用來解決這個問題的。
例1:
<%
set browcap=server.createobject("mswc.browsertype"

if browcap.activexcontrols then
%>

<title>支持activexcontrols</title>

<%else%>

<title>不支持activexcontrols</title>

您正在使用<%=browcap.browser%>瀏覽器(版本<%=browcap.version%>

它不支持activexcontrols.
您應(yīng)當(dāng)下載最新版本的瀏覽器,這里推薦訪問:
<p><a href="www.netscape.com">netscape</a>
<p>或者
<p><a href="www.microsoft.com">microsoft</a>
</p>


</%end if%>

程序說明:
(1)使用組件前首先要創(chuàng)建該組件的實例,如browcap。
(2)有多個瀏覽器屬性,這里用到activexcontrols和version??梢詤⒖颊n本160頁的表8-4。這里不一一做介紹。同學(xué)們只需要讀懂該例子即可
(3)服務(wù)器將客戶端瀏覽器的各屬性取得后與誰進(jìn)行比較呢?注意browscap.ini文件。該文件在安裝ASP服務(wù)器后,就被安裝到了服務(wù)器上。該文件中主要定義了目前所有的各種瀏覽器所具有的屬性,以作為將來比較的參照。顯然,隨著瀏覽器種類的不斷增多,該文件的信息其實也應(yīng)該不斷更新的。

 

2005-10-10
application對象介紹

Application對象介紹

Session對象可以記載特定客戶的信息,而application對象可以記載所有客戶信息。好比公共儲藏柜,大家都可以存放物品。也可以說,不同的客戶必須訪問不同的session對象,但可以訪問公共的application對象。
一、application對象的應(yīng)用范圍廣泛。它針對某一站點內(nèi)的所有用戶,可以被所有用戶共享。Session對象是針對單一用戶,某個用戶無法訪問其他用戶的session變量。
Application對象最典型的應(yīng)用是聊天室,大家的發(fā)言都存放到一個application對象中,彼此就可以看到發(fā)言內(nèi)容了。
例1:5-5.asp

<frameset rows="*,60">
  <frame name="message" src="5-7.asp">
  <frame name="say" src="5-6.asp">
</frameset><noframes></noframes>


5-6.asp
<form name="form1" method="post" action="">
  <p>請發(fā)言: 
    <input type="text" name="pronunciation" size=30>
    <input name="submit" type="submit"  value="發(fā)送">
  </p>
</form>
<%
  if trim(request("pronunciation"
)<>"" then
    application.lock
application("show"
=request("pronunciation"
&"<br>"&application("show"

application.unlock
  end if
 %>

5-7.asp


<title>application對象示例</title>
<meta http-equiv="refresh" content=5>


  <%
   response.write application("show"

   %>



程序說明:
(1)5-5.asp中使用了一個框架集,內(nèi)含2個框架,每個框架連接著另外一個文件,即框架內(nèi)容是所連接文件的內(nèi)容。
(2)5-6.asp中使用了一個表單,將發(fā)言內(nèi)容提交自身。然后將內(nèi)容存儲到application(“show”)對象中。Show是一個application類型的變量。
(3)application對象使用前應(yīng)先將其鎖定,再進(jìn)行更改,最后再解除鎖定。這是因為任何客戶都可以存取application對象,為避免多個用戶同時修改application對象的值,所以一個用戶在使用前先要用lock鎖定,使用完后再用unlock將其解除。
(4)application("show"
=request("pronunciation"
&"<br>"&application("show"

該語句是將用戶每次的發(fā)言(request(“pronunciation”))與上幾次的發(fā)言(application(“show”)連接起來。也可以說,application(“show”)存儲了所有發(fā)言信息。
(5)5-7.asp文件中的response.write application("show"
  該語句是將每一次發(fā)言內(nèi)容顯示出來。
<meta http-equiv="refresh" content=5>該語句很關(guān)鍵。指該頁面5秒鐘自動刷新一次,刷新的目的是不斷顯示最新發(fā)言內(nèi)容。

二、application對象的存活時間較長,只要站點不關(guān)閉或服務(wù)器不重新啟動,application對象一直有效。而session對象是隨著某一用戶的離開可以自動結(jié)束或強行結(jié)束。
很多網(wǎng)頁上都有一個計數(shù)器,開發(fā)計數(shù)器有很多方法,如用文本文件或用數(shù)據(jù)庫(以后會介紹),這里使用application對象實現(xiàn)計數(shù)器功能。
例2:
 <%
application.lock
application("user_name"
=application("user_name"
+1
application.unlock
response.write "您是第"&application("user_name"
&"位訪客"
%>

發(fā)布后可看到,每刷新一次就計數(shù)一次。

該程序的弊端:用application對象實現(xiàn)的計數(shù)器簡單易懂,但其弊端很明顯。一旦服務(wù)器重新啟動,application對象就失效了,也就是說將原來的數(shù)據(jù)丟失了,訪客人數(shù)就為0了。所以計數(shù)器一般用數(shù)據(jù)庫和文件操作來實現(xiàn)。這里僅僅是通過例子加深對application對象的理解。

三、application對象的兩個事件:application_onstart和application_onend
我們先回憶session對象的兩個事件。Session_onstart事件是session對象的起始事件,服務(wù)器在為客戶端產(chǎn)生任何一個session對象時,都會首先激活session_onstart中的代碼。當(dāng)這個session對象失效或被終止時,會激活session_onend事件??梢?,session對象的兩個事件間隔時間是一個session對象有效或存活的時間。
而application對象的存活時間較長,只要其所在站點不關(guān)閉或服務(wù)器不重新啟動,application對象一直有效。所有其兩個事件的間隔時間是一個站點或一個應(yīng)用程序有效的時間。因此,application_onstart事件在應(yīng)用程序啟動時才會發(fā)生,而且只有在第一個用戶請求該應(yīng)用程序時才發(fā)生。Application_onend事件是當(dāng)web服務(wù)器停止時,也即應(yīng)用程序停止時就激活該事件。
所以,對一個應(yīng)用程序來說,global.asa中的4個事件,aplication對象的兩個事件只執(zhí)行一次,而session對象的兩個事件執(zhí)行次數(shù)則取決于服務(wù)器給用戶設(shè)置了幾個session對象。


 

2005-10-10
server對象介紹

Server對象介紹
Server對象在ASP中是一個很重要的對象,許多高級功能都是由它完成的。準(zhǔn)確的說,server對象是專為處理服務(wù)器上的特定任務(wù)而設(shè)計的。它有一個屬性和6個方法,主要用來創(chuàng)建COM對象和Scripting組件、轉(zhuǎn)化數(shù)據(jù)格式、管理其他網(wǎng)頁的執(zhí)行。
一、 server.scripttimeout屬性
該屬性用來規(guī)定腳本文件執(zhí)行的最長時間。如果超出最長時間,腳本文件還沒有執(zhí)行完畢,就自動停止執(zhí)行。這樣主要是用來防止某些可能進(jìn)入死循環(huán)的錯誤導(dǎo)致頁面的服務(wù)器過載問題。
該屬性默認(rèn)值為90秒,這對于一般的應(yīng)用程序是夠用的。當(dāng)然,在ASP腳本需要執(zhí)行很廠時間時,應(yīng)對scripttime屬性進(jìn)行設(shè)置。
例1:


<title>flying star</title>


    <%
  randomize
  starx=60
  for k=1 to 10
    nextsecond=dataadd("s",10,time)
do while time<nextsecond
loop
starx=starx+3*rnd()-1
for i=1 to starx
  response.write("&ndsp;"

next
response.write ("*<p>"

  next
%>



該例運行時會出現(xiàn)錯誤。下面進(jìn)行分析:
程序說明:
(1) 該程序運行結(jié)果是顯示10行,每行顯示一個*。
(2) nextsecond=dataadd("s",10,time)  該語句是將nextsecond變量的值設(shè)為當(dāng)前時間+10
(3) do while time<nextsecond loop  這兩行語句沒有執(zhí)行某一語句,只是為了延時。
(4) 循環(huán)10次,每次延時10秒,所以整個ASP代碼至少需要100秒時間。而系統(tǒng)默認(rèn)ASP腳本代碼執(zhí)行時間為90秒,顯然超時。所以頁面無法正常顯示。
(5) 可以在代碼開頭加上<%server.scripttimeout=150%>,只要大于100秒即可。
二、server.createobject方法
createobject方法是server對象中最重要的方法,用于創(chuàng)建以注冊到服務(wù)器上的ActiveX組件,以實現(xiàn)數(shù)據(jù)庫訪問、文件訪問等功能。后面章節(jié)中都用到它,這里暫不介紹。
  三、server.mappath方法
  mappath方法是將指定的虛擬路徑或相對路徑轉(zhuǎn)換為服務(wù)器上相應(yīng)的物理路徑。因為后面各章在執(zhí)行數(shù)據(jù)庫操作和文件上傳等操作時經(jīng)常用到物理路徑。
 例1:請在wwwroot 文件夾中建立一子文件夾xx,并把該ASP文件存入其中。
 
<title>mappath方法</title>

<%
  response.write server.mappath("5-1.asp"

  response.write "<br>"
  response.write server.mappath("5-2.asp"

  response.write "<br>"
  response.write server.mappath("\"

  response.write server.mappath(request.servervariables("path_info"
)
  response.write server.mappath("xx”)
    %>
  


  四、server.htmlencode方法
該方法是將指定的字符串應(yīng)用HTML編碼。我們知道,瀏覽器是解釋執(zhí)行的,即瀏覽器把服務(wù)器輸出的html代碼解釋執(zhí)行以便在瀏覽器上顯示結(jié)果。而有時用戶需要查看服務(wù)器輸出的html代碼,我們常常在“編輯”菜單里“查看源文件”來顯示代碼,其實也可以用server.htmlencode方法來直接將HTML代碼顯示在頁面上。
例1:
 

<title>THMLENCODEfangshi  </title>


<% 
 response.write "<a href=‘www.sina.com‘>新浪</a>"
 response.write "<br>"
 response.write server.htmlencode("<a href=‘www.sina.com‘>新浪</a>"

 %>



五、server.urlencode方法
就象htmlencode方法可以將字符串翻譯成可接受的html格式一樣,urlencode方法用于將一個指定的字符串按url的編碼輸出。
例1:
  <%response.write server.urlencode(“
http://www.sina.com.cn”)%>
可見,該方法將ASCII字符轉(zhuǎn)化成URL中等效的字符。其中,空格用+代替,ascii碼大于126的字符用%后跟16進(jìn)制代碼進(jìn)行替換。



 

2005-10-10
session對象介紹

session對象介紹

一個網(wǎng)站需要由很多個網(wǎng)頁共同完成某些功能,這些網(wǎng)頁間經(jīng)常需要記憶一些數(shù)據(jù)。如登錄界面中的用戶名和密碼需要記憶,一個教學(xué)網(wǎng)站需要記錄學(xué)生的學(xué)習(xí)情況等等。而http協(xié)議是一種無狀態(tài)協(xié)議,即利用http協(xié)議無法跟蹤用戶,對用戶信息沒有記憶功能。對于每一個網(wǎng)頁的是申請,http都認(rèn)為其是獨立的,相互之間沒有關(guān)聯(lián)性。
為彌補該缺陷,我們使用ASP內(nèi)置對象中的session和application對象來跟蹤、記憶用戶信息。

Session對象用來記載特定客戶的信息,當(dāng)該客戶從一個頁面跳轉(zhuǎn)到另一個頁面時,該session信息仍然存在。需要注意:每個用戶都可以有自己的獨立的session信息,用戶只能訪問自己的session信息。因此說,session對象是針對單個用戶。打個比方,我們?nèi)ス苍〕囟紩凶约旱囊粋€柜子,這個柜子只供我們自己使用,session對象就好比這個柜子。
一、驗證session對象的記憶功能。
例1:5-1.asp


<title> SESSION用法示例</title>


  <%
   user_name="捉云"
   age=22
   session("user_name"
=user_name
   session("age"
=age
   response.write "該程序僅用來存入session值,請自己打開5-2.asp查看結(jié)果"
%>



5-2.asp


<title>session用法示例</title>


  <%
   user_name=session("user_name"

   age=session("age"

   response.write user_name&"您好,歡迎您<br>"
   response.write "您的年齡是:"&session("age"

  %>
sahshs


程序說明:一旦創(chuàng)建了session變量,在該網(wǎng)站的任何一個頁面均可以使用該變量。

例2:課本120頁例5-2
Session對象有兩個屬性:sessionid,timeout。一個方法:abandon。兩個事件:session_onstart,session_onend。
二、session.timeout屬性
例1:
在5-1.asp 的開頭加上<%session.timeout=1%>。
執(zhí)行5-1.asp,在一分鐘內(nèi)執(zhí)行5-2.asp,觀察執(zhí)行結(jié)果。再在1分鐘后執(zhí)行5-2.asp,再觀察執(zhí)行結(jié)果。
發(fā)現(xiàn):1分鐘后5-2.asp中的姓名和年齡值就丟失,變?yōu)榭铡R驗槲覀冊O(shè)置的session有效期為1分鐘。

屬性說明:可見,session對象不是一直有效的,而是存在著有效期。默認(rèn)為20分鐘,表示客戶端發(fā)出請求后,20分鐘內(nèi)session對象一直有效,但20分鐘后就自動結(jié)束。這項功能在考試系統(tǒng)中經(jīng)常用到。
三、session.abandon方法
例1:
重新修改5-1.asp。在<%response.write  ……%>語句的后面加上一條語句:session.abandon。
執(zhí)行5-1.asp,再執(zhí)行5-2.asp,觀察執(zhí)行結(jié)果。(沒有年齡和姓名等數(shù)據(jù))

方法說明:利用timeout屬性可以設(shè)置session對象自動結(jié)束的時間間隔,其實也可以在到期前用abandon方法強行清除session對象。

四、sessionid屬性
例1:課本123頁例5-3。
說明:該例在讓我們了解abandon方法的同時,也在介紹sessionid屬性。
Sessionid 是服務(wù)器端為申請session的客戶端分配的唯一的ID號,類似于我們用的身份證。
有兩種方法可以屏蔽掉sessionid
一種:全站屏蔽。方法:“web站點屬性---主目錄—應(yīng)用程序配置—應(yīng)用程序選項”中的“啟用會話狀況”取消掉。
一種:對單獨的ASP程序進(jìn)行屏蔽。方法:<%enablesessionstate=false%>。(似乎上機通不過。)

五、兩個事件:session_onstart和session_onend
session_onstart事件是session對象的起始事件,服務(wù)器在為客戶端產(chǎn)生任何一個session對象時,都會首先激活session_onstart中的代碼。
Session_onend 事件對應(yīng)session對象的結(jié)束事件,當(dāng)任何一個session對象被終止或失效時,該事件所對應(yīng)的代碼被激活。

也可以說,這兩個事件中的代碼是該站點所有session對象建立前和消失后都要運行的程序。它們通常放在global.asa特殊文件中。(關(guān)于其特殊性這里暫不介紹)其文件格式為:
<script language=”vgscript” runat=”server”>
  sub application_onstart
  ……
  end sub
  sub application_onend
  ……
  end sub
  sub session_onstart
  ……
  end sub
  sub session_onend
  ……
  end sub


六、global.asa文件介紹
例1:請建立global.asa文件。
<script language=vbscipt runat=server>
sub session_onstart
  session(“uid”)=”bill”
  session(“pwd”)=”password”
end sub


再建立文件5-4.asp
<%
  uid=session(“uid”)
  pwd=session(“pwd”)
  response.write “您的姓名是:”&uid
  response.write “您的密碼是:”&pwd
<%>
請接著運行5-4.asp文件,觀察能否取得uid與pwd的值。(可以取得,因為任何程序運行之前都首先檢查有無global.asa文件,有則先運行該文件。)
例2:有時我們希望訪問者必須瀏覽某一個主頁,而無論在瀏覽器上輸入什么地址。這時可以在global.asa中輸入如下代碼:
<script language=vbscript runat=server>
sub session_onstart
  response.redirect www.sina.com.cn
end sub


再運行5-1.asp文件,觀察運行結(jié)果。

例3:建立global.asa代碼如下:
<script language=vbscript runat=server>
sub session_onstart
  response.appendtolog session.sessionid&time()
end sub
sub session_onend
  response.appendtolog session.sessionid&time()
end sub


如何查看web服務(wù)器日志文件呢?

說明:
(1)global.asa中的ASP代碼聲明必須用<script language=vbscript runat=server> ,而不能用<%  %>的形式。
(2)該文件中不能包含任何輸出語句,如response.write。因為該文件只是被調(diào)用,根本不會顯示在頁面上,所以不能輸出任何顯示內(nèi)容。
(3)語法中給出了4個事件,其實也可以只用其中幾個。
(4)對一個應(yīng)用程序來說,也可以不用該文件。只是無法發(fā)揮session和application的更大作用了。
(5)每一個應(yīng)用程序可能由很多文件或子文件夾組成,但只能有一個global.asa文件,而且名字不能改變。
(6)該文件必須放到應(yīng)用程序的根目錄中,必須在應(yīng)用程序運行之前調(diào)用。


七、什么是應(yīng)用程序 ?
在介紹session對象時,我們說過session對象一經(jīng)建立,就會在同一網(wǎng)站的其他頁面中生效或被調(diào)用,實現(xiàn)不同頁面之間信息的存儲。但這里強調(diào)“同一網(wǎng)站”。
在剛剛介紹的global.asa文件時,我們說該文件應(yīng)該存在應(yīng)用程序的根目錄中。這里強調(diào)“應(yīng)用程序”。
其實,這里的“同一網(wǎng)站”與“應(yīng)用程序”是一個概念,同一網(wǎng)站中的多個網(wǎng)頁都屬于一個應(yīng)用程序,而一個應(yīng)用程序中的多個文件也必然屬于同一網(wǎng)站。問題是我們?nèi)绾蝿澏☉?yīng)用程序呢?或者說如何判斷一些文件是否屬于一個網(wǎng)站內(nèi)容呢?區(qū)分標(biāo)志是:看虛擬目錄。有幾個虛擬目錄就表示有幾個網(wǎng)站或幾個應(yīng)用程序。
例1、如5-1.asp和5-2.asp放在不同的文件夾中,但沒有為各自設(shè)置虛擬目錄,他們?nèi)允且粋€網(wǎng)站文件,因此5-1.asp中的session信息會被5-2.asp文件所調(diào)用。(檢驗)
例2、將例5-1.asp和5-2.asp分別放在不同的文件夾,并設(shè)置虛擬目錄,這時認(rèn)為是兩個不同的網(wǎng)站,或者兩個不同的應(yīng)用程序。因此5-1.asp中的session信息不會被5-2.asp文件所調(diào)用。(檢驗)
global.asa文件的位置就是放在虛擬目錄的根目錄中,每個網(wǎng)站或每個應(yīng)用程序可以有且只能有一個global.asa文件。

 

2005-10-10
response對象2

一、 練習(xí)response.buffer屬性
例1:
<%response.buffer=false%>


<title>buffer示例</title>


<%
for I=1 to 10000
response.write(I&"<br>"

next
%>


觀察該程序執(zhí)行結(jié)果。
例2:將上例中的buffer屬性設(shè)置為false,觀察程序執(zhí)行結(jié)果。

程序說明:
1、當(dāng)buffer屬性設(shè)置為true時,表示服務(wù)器端先將網(wǎng)頁輸出到緩沖區(qū),再從緩沖區(qū)輸出到客戶端瀏覽器。當(dāng)設(shè)置為false時,則不輸出到緩沖區(qū),服務(wù)器直接將信息輸出到客戶端瀏覽器。
2、buffer屬性設(shè)置的語句必須放在ASP文件的開頭。
3、windows2000操作系統(tǒng)中buffer屬性默認(rèn)為true,因此此時的true可以不特意設(shè)置。其他操作系統(tǒng)的buffer默認(rèn)為false.
4、對于運算量小的程序,不同的設(shè)置程序執(zhí)行沒有太大的區(qū)別。

二、 練習(xí)response.redirect方法
例1:
<%response.buffer=true %>



  <form name=”form1” method=”post” action=””>
  請選擇用戶類型
  <input type=”radio” name=”user_type” value=”teacher”>教師
  <input type=”radio” name=”user_type” value=”student”>學(xué)生
  <input type=”submit” value=”確定”>
  </form>
 <%
  if request.form(“user_type”)=”teacher” then
response.redirect “teacher.asp”
  elseif request.form(“user_type”)=”student” then
response.redirect “student.asp”
 end if
%>



例2:
將上例中的buffer屬性設(shè)為false,觀察程序執(zhí)行結(jié)果。(出現(xiàn)錯誤提示)
例3:改動redirect語句的位置,觀察執(zhí)行結(jié)果(可以執(zhí)行)
<%response.buffer=false %>
<%
  if request.form(“user_type”)=”teacher” then
response.redirect “teacher.asp”
  elseif request.form(“user_type”)=”student” then
response.redirect “student.asp”
 end if
%>



  <form name=”form1” method=”post” action=””>
  請選擇用戶類型
  <input type=”radio” name=”user_type” value=”teacher”>教師
  <input type=”radio” name=”user_type” value=”student”>學(xué)生
  <input type=”submit” value=”確定”>
  </form>
程序說明:
1、 redirect語句若放在文件的中間(準(zhǔn)確的說是放在html語句的中間),這時一定要在開頭加上<%response.buffer=true%>。
因為當(dāng)已經(jīng)輸出部分HTML元素后,是不允許同時將網(wǎng)頁引導(dǎo)到另一個頁面的。
2、 當(dāng)然,解決辦法還可以將redirect語句放在文件的開頭(準(zhǔn)確的說前面沒有html語句),這時盡管buffer設(shè)置為false,但由于html在后面,所以沒等html語句輸出就首先重定向了。

3、練習(xí)response.end方法


<title>response.end用法勢力</title>


<%
  response.write "這是第一句"
  response.end
  response.write "這是第二句"
%>
<p>這是第三句




程序說明:
一旦碰到response.end 語句,就立即停止執(zhí)行后面的任何語句。
該方法經(jīng)常用在調(diào)試程序的時候,可以暫時用該語句屏蔽后面的語句,類似于逐條注釋掉后面的語句。




 
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ASP的對象結(jié)構(gòu)
STORM--站長筆記
ASP.NET內(nèi)置對象
ASP內(nèi)建對象Application 和 Session和cookie的用法
客戶端禁用COOKIE后,SESSION究竟還可不可用?SESSION到底是不是COOKI...
asp(.net)入門教程
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服