欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
ASP組件介紹


文件上傳組件ASPUpload

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

綜合實(shí)例:
1、上傳一個(gè)文件實(shí)例
step1:建立11-3.asp表單文件


  <title>上傳一個(gè)文件示例</title>



  <h2 align="center">上傳一個(gè)文件</h2>
  <center>
  <form action="11-4.asp" method=post enctype="multipart/form-data">
    選擇文件:<input type="file" name="upfile"><br>
    文件說(shuō)明:<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>上傳一個(gè)文件示例</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&"字節<br>"
    response.write "文件說(shuō)明為:"&upload.form("intro"
.value&"<br>"
    response.write "作者姓名為:"&upload.form("author"
.value&"<br"
  %>
  </center>
  
  

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

實(shí)例2:上傳多個(gè)文件表單



  <title>上傳多個(gè)文件示例</title>

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




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


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




 

2005-11-3
文件系統組件

文件系統組件

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

Filesystemobject對象:包含了處理文件系統的所有基本方法。
Textstream對象:用來(lái)讀寫(xiě)文本文件。
File對象:用來(lái)處理單個(gè)文件。
Folder對象:用來(lái)處理文件夾。
Drives對象:用來(lái)取得系統中所有可用驅動(dòng)器的信息。

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

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

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

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

<title> 服務(wù)器磁盤(pán)驅動(dòng)器顯示列表</title></HEAD>
<%
set myfileobject=server.createobject("scripting.filesystemobject"

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

例2:課本172的例9-1

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

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

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

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


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

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

操作:例9-5

第二部分:學(xué)習textstream對象(用于訪(fǎng)問(wèn)文本文件)

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

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

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

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

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

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


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


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



 

2005-10-25
ASP組件2

Content Linking組件介紹

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

計數器組件介紹
該組件可以完成統計某個(gè)頁(yè)面的訪(fǎng)問(wèn)次數,網(wǎng)站的訪(fǎng)問(wèn)人數,某個(gè)廣告的點(diǎn)擊率等。
例1


<title>計數器組件應用示例</title>

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

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



例2:P166例8-4

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


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

兩個(gè)例子說(shuō)明:在一個(gè)計數器組件中可以有多個(gè)不同名稱(chēng)的計數器,利用這些不同的計數器可以統計網(wǎng)站中多個(gè)元素的數據。

CDONTS組件

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

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

三、實(shí)例練習
<%
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組件,然后安裝自動(dòng)注冊
W3 Jmail組件的方法和屬性如下:
From:發(fā)件人e-mail地址
Fromname:發(fā)件人姓名
Addrecipient:添加收件人e-mail地址
Subject:郵件主題
Body:郵件內容
Addattachment:添加附件
Send:執行發(fā)送
Close:關(guān)閉對象
Version:W3 Jmail的版本號

二、使用實(shí)例
<%
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="中秋節快樂(lè )"
msg.AddRecipient "taoshuangshuang.student@sina.com"
msg.body="北京生活網(wǎng)歡迎您的到來(lái)"
msg.Send("tssxyma:112211tss@smtp.163.com"
          
response.write "SUCCESS"                                                                               
msg.close
                                                                                                     
%>

 

2005-10-25
ASP組件介紹

ASP組件介紹

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

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

    Ad Rotator組件介紹

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

1、建立三個(gè)圖形文件,1.gif,2.gif,3.gif
2、建立循環(huán)定時(shí)文件,名為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>



請執行welcome.asp文件,多次刷新頁(yè)面,觀(guān)察執行結果。

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

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





例1:










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

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

if browcap.activexcontrols then
%>

<title>支持activexcontrols</title>

<%else%>

<title>不支持activexcontrols</title>

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


</%end if%>

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

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

 

2005-10-10
asp組件介紹

ASP組件介紹

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

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

例1:
1、建立三個(gè)圖形文件,1.gif,2.gif,3.gif
2、建立循環(huán)定時(shí)文件,名為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>



請執行welcome.asp文件,多次刷新頁(yè)面,觀(guān)察執行結果。

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

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

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

if browcap.activexcontrols then
%>

<title>支持activexcontrols</title>

<%else%>

<title>不支持activexcontrols</title>

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


</%end if%>

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

 

2005-10-10
application對象介紹

Application對象介紹

Session對象可以記載特定客戶(hù)的信息,而application對象可以記載所有客戶(hù)信息。好比公共儲藏柜,大家都可以存放物品。也可以說(shuō),不同的客戶(hù)必須訪(fǎng)問(wèn)不同的session對象,但可以訪(fǎng)問(wèn)公共的application對象。
一、application對象的應用范圍廣泛。它針對某一站點(diǎn)內的所有用戶(hù),可以被所有用戶(hù)共享。Session對象是針對單一用戶(hù),某個(gè)用戶(hù)無(wú)法訪(fǎng)問(wèn)其他用戶(hù)的session變量。
Application對象最典型的應用是聊天室,大家的發(fā)言都存放到一個(gè)application對象中,彼此就可以看到發(fā)言?xún)热萘恕?br>例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"

   %>



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

該語(yǔ)句是將用戶(hù)每次的發(fā)言(request(“pronunciation”))與上幾次的發(fā)言(application(“show”)連接起來(lái)。也可以說(shuō),application(“show”)存儲了所有發(fā)言信息。
(5)5-7.asp文件中的response.write application("show"
  該語(yǔ)句是將每一次發(fā)言?xún)热蒿@示出來(lái)。
<meta http-equiv="refresh" content=5>該語(yǔ)句很關(guān)鍵。指該頁(yè)面5秒鐘自動(dòng)刷新一次,刷新的目的是不斷顯示最新發(fā)言?xún)热荨?br>
二、application對象的存活時(shí)間較長(cháng),只要站點(diǎn)不關(guān)閉或服務(wù)器不重新啟動(dòng),application對象一直有效。而session對象是隨著(zhù)某一用戶(hù)的離開(kāi)可以自動(dòng)結束或強行結束。
很多網(wǎng)頁(yè)上都有一個(gè)計數器,開(kāi)發(fā)計數器有很多方法,如用文本文件或用數據庫(以后會(huì )介紹),這里使用application對象實(shí)現計數器功能。
例2:
 <%
application.lock
application("user_name"
=application("user_name"
+1
application.unlock
response.write "您是第"&application("user_name"
&"位訪(fǎng)客"
%>

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

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

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


 

2005-10-10
server對象介紹

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



該例運行時(shí)會(huì )出現錯誤。下面進(jìn)行分析:
程序說(shuō)明:
(1) 該程序運行結果是顯示10行,每行顯示一個(gè)*。
(2) nextsecond=dataadd("s",10,time)  該語(yǔ)句是將nextsecond變量的值設為當前時(shí)間+10
(3) do while time<nextsecond loop  這兩行語(yǔ)句沒(méi)有執行某一語(yǔ)句,只是為了延時(shí)。
(4) 循環(huán)10次,每次延時(shí)10秒,所以整個(gè)ASP代碼至少需要100秒時(shí)間。而系統默認ASP腳本代碼執行時(shí)間為90秒,顯然超時(shí)。所以頁(yè)面無(wú)法正常顯示。
(5) 可以在代碼開(kāi)頭加上<%server.scripttimeout=150%>,只要大于100秒即可。
二、server.createobject方法
createobject方法是server對象中最重要的方法,用于創(chuàng )建以注冊到服務(wù)器上的ActiveX組件,以實(shí)現數據庫訪(fǎng)問(wèn)、文件訪(fǎng)問(wèn)等功能。后面章節中都用到它,這里暫不介紹。
  三、server.mappath方法
  mappath方法是將指定的虛擬路徑或相對路徑轉換為服務(wù)器上相應的物理路徑。因為后面各章在執行數據庫操作和文件上傳等操作時(shí)經(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方法
該方法是將指定的字符串應用HTML編碼。我們知道,瀏覽器是解釋執行的,即瀏覽器把服務(wù)器輸出的html代碼解釋執行以便在瀏覽器上顯示結果。而有時(shí)用戶(hù)需要查看服務(wù)器輸出的html代碼,我們常常在“編輯”菜單里“查看源文件”來(lái)顯示代碼,其實(shí)也可以用server.htmlencode方法來(lái)直接將HTML代碼顯示在頁(yè)面上。
例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方法用于將一個(gè)指定的字符串按url的編碼輸出。
例1:
  <%response.write server.urlencode(“
http://www.sina.com.cn”)%>
可見(jiàn),該方法將ASCII字符轉化成URL中等效的字符。其中,空格用+代替,ascii碼大于126的字符用%后跟16進(jìn)制代碼進(jìn)行替換。



 

2005-10-10
session對象介紹

session對象介紹

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

Session對象用來(lái)記載特定客戶(hù)的信息,當該客戶(hù)從一個(gè)頁(yè)面跳轉到另一個(gè)頁(yè)面時(shí),該session信息仍然存在。需要注意:每個(gè)用戶(hù)都可以有自己的獨立的session信息,用戶(hù)只能訪(fǎng)問(wèn)自己的session信息。因此說(shuō),session對象是針對單個(gè)用戶(hù)。打個(gè)比方,我們去公共浴池都會(huì )有自己的一個(gè)柜子,這個(gè)柜子只供我們自己使用,session對象就好比這個(gè)柜子。
一、驗證session對象的記憶功能。
例1:5-1.asp


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


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



5-2.asp


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


  <%
   user_name=session("user_name"

   age=session("age"

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

  %>
sahshs


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

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

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

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

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

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

也可以說(shuō),這兩個(gè)事件中的代碼是該站點(diǎn)所有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
<%>
請接著(zhù)運行5-4.asp文件,觀(guān)察能否取得uid與pwd的值。(可以取得,因為任何程序運行之前都首先檢查有無(wú)global.asa文件,有則先運行該文件。)
例2:有時(shí)我們希望訪(fǎng)問(wèn)者必須瀏覽某一個(gè)主頁(yè),而無(wú)論在瀏覽器上輸入什么地址。這時(shí)可以在global.asa中輸入如下代碼:
<script language=vbscript runat=server>
sub session_onstart
  response.redirect www.sina.com.cn
end sub


再運行5-1.asp文件,觀(guān)察運行結果。

例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ù)器日志文件呢?

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


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

 

2005-10-10
response對象2

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


<title>buffer示例</title>


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

next
%>


觀(guān)察該程序執行結果。
例2:將上例中的buffer屬性設置為false,觀(guān)察程序執行結果。

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

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



  <form name=”form1” method=”post” action=””>
  請選擇用戶(hù)類(lèi)型
  <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屬性設為false,觀(guān)察程序執行結果。(出現錯誤提示)
例3:改動(dòng)redirect語(yǔ)句的位置,觀(guān)察執行結果(可以執行)
<%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=””>
  請選擇用戶(hù)類(lèi)型
  <input type=”radio” name=”user_type” value=”teacher”>教師
  <input type=”radio” name=”user_type” value=”student”>學(xué)生
  <input type=”submit” value=”確定”>
  </form>
程序說(shuō)明:
1、 redirect語(yǔ)句若放在文件的中間(準確的說(shuō)是放在html語(yǔ)句的中間),這時(shí)一定要在開(kāi)頭加上<%response.buffer=true%>。
因為當已經(jīng)輸出部分HTML元素后,是不允許同時(shí)將網(wǎng)頁(yè)引導到另一個(gè)頁(yè)面的。
2、 當然,解決辦法還可以將redirect語(yǔ)句放在文件的開(kāi)頭(準確的說(shuō)前面沒(méi)有html語(yǔ)句),這時(shí)盡管buffer設置為false,但由于html在后面,所以沒(méi)等html語(yǔ)句輸出就首先重定向了。

3、練習r(shí)esponse.end方法


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


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




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




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

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久