asp內(nèi)置對(duì)象解析課件_第1頁(yè)
asp內(nèi)置對(duì)象解析課件_第2頁(yè)
asp內(nèi)置對(duì)象解析課件_第3頁(yè)
asp內(nèi)置對(duì)象解析課件_第4頁(yè)
asp內(nèi)置對(duì)象解析課件_第5頁(yè)
已閱讀5頁(yè),還剩181頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Asp內(nèi)置對(duì)象ASP的特點(diǎn)是面向?qū)ο缶幊?,它提供了功能?qiáng)大的內(nèi)部對(duì)象。其中常用的對(duì)象有:RequestResponseSessionApplicationServer

Asp內(nèi)置對(duì)象ASP的特點(diǎn)是面向?qū)ο缶幊?,它提供了功能?qiáng)大的Request對(duì)象

Request對(duì)象有5種方法可用來(lái)獲取客戶端的信息(由客戶端發(fā)出的HTTP請(qǐng)求報(bào)文)獲取方法功能Form取得客戶端以post方式提交的表單信息QueryString取得客戶端以get方式提交的表單信息或URL后攜帶的信息ServerVariables取得服務(wù)器端或客戶端的環(huán)境變量信息Cookies取得客戶端瀏覽器的Cookies信息ClientCertificate取得客戶端瀏覽器的身份驗(yàn)證信息Request對(duì)象Request對(duì)象有5種方法可用來(lái)獲取客Request對(duì)象(2)Request.獲取方法(變量名或字符串)其中的參數(shù)就是要得到的信息的變量名稱。如果不想加入獲取方法,也可以簡(jiǎn)寫(xiě)為Request(參數(shù))方式,ASP同樣可以幫你取得客戶端的信息。因?yàn)闆](méi)有指定獲取方法,所以ASP將會(huì)依次在QueryString、Form、Cookies、ServerVariables、ClientCertificate這5種獲取方法中檢查是否有信息傳入,如果有則會(huì)返回獲得的變量信息。

(1)這里的“獲取方法”更準(zhǔn)確的說(shuō)應(yīng)該是“數(shù)據(jù)集合”,因?yàn)楂@取到的信息其實(shí)都在一個(gè)集合中。在這里之所以說(shuō)是“獲取方法”主要是強(qiáng)調(diào)從客戶端獲得信息這個(gè)功能。數(shù)據(jù)集合FormQuerystringClientCertificateCookiesServerVariablesRequestRequest對(duì)象(2)Request.獲取方法(變量名或Form方法獲取post方式提交的表單信息語(yǔ)法格式:Request.form(“表單元素名稱”)

例:(4-1.asp4-2.asp)Form方法獲取post方式提交的表單信息語(yǔ)法格式:RequForm方法獲取post方式提交的表單信息……<body><formname="test"method="post"action="4-2.asp">……</form></body>……注意:1.checkbox或radio命名為相同時(shí),表示為同一組Form方法獲取post方式提交的表單信息……注意:Form方法獲取post方式提交的表單信息……<%Dimuser_name,user_password,sex,hobby,career,describe user_name=Request.Form("user_name") user_password=Request.Form("user_password") sex=Request.Form("sex") career=Request.Form("career") hobby=Request.Form("hobby") describe=Request.Form("describe")…… %>……Form方法獲取post方式提交的表單信息……Form方法獲取post方式提交的表單信息注意:1.checkbox或radio命名為相同時(shí),表示為同一組2.獲取多項(xiàng)選擇表單元素值的方法:方法一:Request.Form(“表單元素名”)--多個(gè)值之間自動(dòng)以逗號(hào)隔開(kāi)方法二:num=request.form("hobby").count'記下選擇了多少項(xiàng)fori=1tonum'寫(xiě)出選擇的每一項(xiàng)Response.Writerequest.form("hobby")(i)nextForm方法獲取post方式提交的表單信息注意:Form方法獲取post方式提交的表單信息2.獲取多項(xiàng)選擇表單元素值的方法:方法三:foreachiteminrequest.form("hobby") Response.Writeitem&"/"'寫(xiě)出選擇的每一項(xiàng)nextForm方法獲取post方式提交的表單信息2.獲取多項(xiàng)選擇表Form方法獲取post方式提交的表單信息服務(wù)端獲取表單元素值和客戶端獲取表單元素值的方法不同F(xiàn)orm方法獲取post方式提交的表單信息服務(wù)端獲取表單元素Form方法獲取post方式提交的表單信息注意點(diǎn):(1)4-1.asp那是一個(gè)簡(jiǎn)單的HTML文件,并沒(méi)有使用ASP語(yǔ)句,完全可以將名字改為4-1.htm。注意:Form對(duì)象和其元素屬性的設(shè)置。如action、method、type等。(2)在4-2.asp中定義了幾個(gè)變量,變量名字和表單中的元素名字可以相同,也可以不同。主要是為了程序易讀,可以不一樣。

(3)4-1.asp文檔中的form表單和4-2.asp中Request.Form中的form方法有什么區(qū)別?前者是html文檔或ASP文檔提供的表單,后者是應(yīng)用ASP的Request對(duì)象獲取html文檔或ASP文檔中的表單信息的方法。

Form方法獲取post方式提交的表單信息注意點(diǎn):(1)4-Form方法獲取post方式提交的表單信息ASP文件內(nèi)的表單信息可以傳給自身。見(jiàn)4-3.aspForm方法獲取post方式提交的表單信息ASP文件內(nèi)的表單Form方法獲取post方式提交的表單信息注意點(diǎn):(1)程序中的<%IfRequest.Form(“keywords”)<>“”Then%>這個(gè)判斷語(yǔ)句非常重要,如果沒(méi)有輸入查詢關(guān)鍵字,則不執(zhí)行操作,只有輸入查詢信息才處理if中的語(yǔ)句。(3)比較一下兩種表單信息傳送方式有什么不同?表單form的action對(duì)象不同;處理表單信息的位置不同。如:當(dāng)用戶打開(kāi)這個(gè)網(wǎng)頁(yè)時(shí),request.form(“”)得到的結(jié)果為空,所以不執(zhí)行asp代碼。因?yàn)榇蜷_(kāi)時(shí)網(wǎng)頁(yè)的form1沒(méi)有把其內(nèi)容傳遞給自己。只有通過(guò)提交方式提交了才能獲得里面元素的值。Form方法獲取post方式提交的表單信息注意點(diǎn):(1)程序Querystring獲取方法Querystring方法可以獲取get方式提交的表單信息,也可以獲取URL后攜帶的參數(shù)信息。

Querystring獲取方法Querystring方Querystring方法獲取get方式提交的表單信息語(yǔ)法格式:Request.querystring(“表單元素名稱”)

例:(4-1_1.asp4-2_2.asp)Querystring方法獲取get方式提交的表單信息語(yǔ)法格Querystring方法獲取get方式提交的表單信息……<body><formname="test"method=“get"action="4-2_2.asp">……</form></body>……Querystring方法獲取get方式提交的表單信息……Querystring方法獲取get方式提交的表單信息……<%Dimuser_name,user_password,sex,hobby,career,describe user_name=Request.querystring("user_name") user_password=Request.querystring("user_password") sex=Request.querystring("sex") career=Request.querystring("career") hobby=Request.querystring("hobby") describe=Request.querystring("describe")…… %>……Querystring方法獲取get方式提交的表單信息……Querystring方法獲取get方式提交的表單信息注意:1.get方式提交的表單信息是非安全方式,附加在URL地址后面url?表單元素1的name=表單元素1的value&表單元素2的name=表單元素2的valueQuerystring方法獲取get方式提交的表單信息注意:Querystring方法獲取URL攜帶參數(shù)信息<html><head> <title>QueryString用法示例</title></head><body> <p>請(qǐng)單擊下面的超鏈接</p>

<ahref="4-7.asp?name=白蕓&age=22">顯示</a></body></html>4-4_1.aspQuerystring方法獲取URL攜帶參數(shù)信息<htmlQuerystring方法獲取URL攜帶參數(shù)信息……<body><%Dimname,agename=Request.QueryString("name")'返回姓名age=Request.QueryString("age")'返回年齡Response.Write"您的姓名是:"&name&",您的年齡是:"&age%></body>……Querystring方法獲取URL攜帶參數(shù)信息……Querystring方法獲取URL攜帶參數(shù)信息語(yǔ)法:request.querystring(參數(shù)關(guān)鍵字)形式類似于Querystring方法獲取get方式提交的表單信息,只是這里的參數(shù)關(guān)鍵字是自定義的,不是表單元素名Querystring方法獲取URL攜帶參數(shù)信息語(yǔ)法:reQuerystring方法獲取URL攜帶參數(shù)信息URL后傳送的信息如果是變量,不是常數(shù),該怎么表示?

Querystring方法獲取URL攜帶參數(shù)信息URL后傳Querystring方法獲取URL攜帶參數(shù)信息<body><p>請(qǐng)單擊下面的超鏈接</p><% dimname,age name="白蕓" age=22 %><ahref="4-7.asp?name=<%=name%>&age=<%=age%>">顯示</a></body>4-4-2.aspQuerystring方法獲取URL攜帶參數(shù)信息<bodyQuerystring方法獲取URL攜帶參數(shù)信息注意:URL后攜帶的都是字符串信息,不用加引號(hào)Querystring方法獲取URL攜帶參數(shù)信息注意:Querystring方法獲取URL攜帶參數(shù)信息應(yīng)用:圖片展4-6-1.asp和4-6-2.asp類似的還有新聞系統(tǒng),論壇帖子Querystring方法獲取URL攜帶參數(shù)信息應(yīng)用:類似ServerVariables獲取方法有時(shí)候希望知道服務(wù)器端或客戶端的信息,如客戶端的IP地址,這時(shí)我們可以用ServerVariables方法。課本60頁(yè)表格4-5列舉了常用的環(huán)境變量。ServerVariables的語(yǔ)法格式:Request.ServerVariables(“環(huán)境變量名”)ServerVariables獲取方法有時(shí)候希望知道服務(wù)器端ServerVariables獲取方法例子:4-7.asp……<body> <% DimIP IP=Request.ServerVariables("REMOTE_ADDR")

Response.Write"來(lái)訪者IP地址是:"&IP&"<br>" Dimlocal_IP local_IP=Request.ServerVariables("Local_ADDR")

Response.Write"服務(wù)器的IP地址是:"&local_IP %></body>……ServerVariables獲取方法例子:4-7.aspResponse對(duì)象Response對(duì)象可以向客戶端輸出信息,他的方法有:

方法說(shuō)明write送出信息到客戶端redirect引導(dǎo)用戶端的瀏覽器至新的Web頁(yè)面end終止處理ASP程序,并返回當(dāng)時(shí)的狀況flush立刻送出緩沖區(qū)的Html數(shù)據(jù)clear消除緩沖區(qū)中的所有Html頁(yè)面BinaryWrite輸出二進(jìn)制信息Response對(duì)象Response對(duì)象可以向客戶端輸出信息Write方法write方法是Response對(duì)象最普遍、最常用的方法,它直接把信息從服務(wù)端送到客戶端,從而實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容的顯示。語(yǔ)法格式:Response.write字符串或變量或常量Write方法write方法是ResponsWrite方法……<%user_name=“G_Jocky” Response.Write"你的密碼是:" Response.Writeuser_name Response.Write“你的姓名是:"&user_name %>……4-8.aspWrite方法……4-8.aspWrite方法注意:(1)Response.write必須在<%%>內(nèi),不能在客戶端運(yùn)行。(2)Response.write=<%=%>,如例子4-9.asp。區(qū)別:但在<%%>內(nèi)可有多個(gè)Response.write操作而=只能有一個(gè)。Write方法注意:區(qū)別:Write方法Write方法還可以用來(lái)輸出HTML元素

<bodybgcolor="#FFFFFF"text="#000000"><%

response.write"<divalign='center'>比較Write方法輸出Html元素</div>"%></body><bodybgcolor="#FFFFFF"text="#000000"><divalign="center">比較Write方法輸出Html元素</div></body>4-10.aspand4-11.aspWrite方法Write方法還可以用來(lái)輸出HTML元素<bWrite方法注意:(1)HTML代碼中的雙引號(hào)要改成單引號(hào)。(2)在開(kāi)發(fā)ASP程序時(shí),如果遇到不方便進(jìn)行ASP語(yǔ)句和HTML元素之間的切換時(shí),可以用Write方法來(lái)輸出HTML元素。Write方法注意:Redirect方法在普通網(wǎng)頁(yè)中,可以利用超鏈接引導(dǎo)客戶至另一個(gè)頁(yè)面,但是必須要客戶單擊超鏈接才行。可是有時(shí)希望自動(dòng)引導(dǎo)客戶至另一個(gè)頁(yè)面,比如:進(jìn)行網(wǎng)上考試時(shí),當(dāng)考試時(shí)間到時(shí),應(yīng)自動(dòng)引導(dǎo)客戶端至結(jié)束界面。在ASP中,可使用Redirect方法引導(dǎo)客戶至另一個(gè)頁(yè)面。

語(yǔ)法格式為:Response.redirect網(wǎng)址變量或網(wǎng)址字符串

Redirect方法在普通網(wǎng)頁(yè)中,可以利用超鏈接引導(dǎo)客Redirect方法<% IfRequest.Form("adrress")="csdn"then ‘將用戶引至程序大本營(yíng)網(wǎng)站

Response.Redirect""

ElseIfRequest.Form("adrress")="book"then ‘將用戶引至網(wǎng)絡(luò)書(shū)城

Response.Redirect""

EndIf%>4-12.aspRedirect方法<% IfRequest.Form(Redirect方法注意:

(2)如果希望在ASP文件的任意地方使用Redirect語(yǔ)句,那就必須在ASP文件的開(kāi)頭加上<%Response.Buffer=True%>這一句話。否則,Redirct語(yǔ)句必須放到ASP文件的開(kāi)頭,如果不放到ASP文件的開(kāi)頭,網(wǎng)頁(yè)執(zhí)行會(huì)出錯(cuò):HTTP頭已經(jīng)寫(xiě)入到客戶瀏覽器。任何HTTP頭的修改必須在寫(xiě)入頁(yè)內(nèi)容之前。(1)Redirct語(yǔ)句中網(wǎng)址的寫(xiě)法,可以是相對(duì)地址,也可以是絕對(duì)地址。

Redirect方法注意:(2)如果希望在ASP文件的任意Buffer屬性Buffer屬性用來(lái)設(shè)置服務(wù)器端是否將頁(yè)面輸出到緩沖區(qū),它的值為T(mén)rue或False。當(dāng)Buffer為T(mén)rue時(shí),服務(wù)器端先輸出至緩沖區(qū),在輸出至緩沖區(qū)時(shí),服務(wù)器端不響應(yīng)客戶端,除非所有的服務(wù)器瑞文件被處理完畢。當(dāng)Buffer為False時(shí),服務(wù)器端直接將頁(yè)面輸出至客戶端瀏覽器。

如果在ASP文件中任意地方用到Redirect方法重定向頁(yè)面,則必須在文件開(kāi)頭加<%Response.Buffer=True%>這一句話,否則就會(huì)報(bào)錯(cuò)。這是因?yàn)椋涸谀J(rèn)狀況下,服務(wù)器端直接將頁(yè)面輸出至客戶端,當(dāng)輸出HTML元素后,又想將網(wǎng)頁(yè)引導(dǎo)到另一個(gè)頁(yè)面,這是不允許的,而令Buffer等于True后,將把頁(yè)面輸出到緩沖區(qū),在緩沖區(qū)不存在這個(gè)問(wèn)題,可以隨時(shí)將網(wǎng)頁(yè)引導(dǎo)至其他頁(yè)面。

Buffer屬性Buffer屬性用來(lái)設(shè)置服務(wù)器端End方法End方法用來(lái)終止ASP程序的執(zhí)行。當(dāng)ASP程序中遇到response.end語(yǔ)句后,則終止程序執(zhí)行(包括asp程序和html代碼)。

<body> <% Response.Write"這是第一句"

Response.End

Response.Write"這是第二句" %> <p>這是第三句</body>4-13.aspEnd方法End方法用來(lái)終止ASP程序的執(zhí)行。當(dāng)ASPCookies的設(shè)置和讀取Cookies是服務(wù)器嵌入用戶瀏覽器中來(lái)標(biāo)識(shí)用戶的一種方法。在需要時(shí),服務(wù)器可以從瀏覽器得到Cookies以供使用。Cookies有兩種形式:一種是會(huì)話cookies,另一種是永久cookies。前者只在用戶和服務(wù)器會(huì)話期間存在于用戶的硬盤(pán)上,后者則在定義的有效期內(nèi)永久地存在于用戶的硬盤(pán)上。Cookies變量可以實(shí)現(xiàn)網(wǎng)站的各頁(yè)面之間共享這些信息。ASP的Cookies是由response對(duì)象的Cookies方法來(lái)設(shè)置的,由Request對(duì)象的Cookies方法獲取。Cookies的設(shè)置和讀取Cookies是服務(wù)器嵌Cookies的設(shè)置語(yǔ)法格式:response.Cookies(“CookiesName”)=取值response.Cookies(“CookiesName”)(“關(guān)鍵字”)=取值response.Cookies(“CookiesName”)[(“關(guān)鍵字”)].屬性=取值CookiesName:Cookies變量名稱

關(guān)鍵字:若指定了關(guān)鍵字該Cookies則表示一個(gè)集合,它可包含幾個(gè)關(guān)鍵字,可以分別賦值

屬性:Cookies的屬性,Cookies變量本身有一些屬性,其中有些屬性是僅可寫(xiě)入的,有些是只讀的??稍O(shè)置的屬性有:expires,path,Domain,SecureCookies的設(shè)置語(yǔ)法格式:CookiesName:CCookies的設(shè)置<%response.Cookies(“user_name”)=request.form(“user_name”)%>

舉例:<%response.Cookies(“user”)(“name”)=request.form(“user_name”)

response.Cookies(“user”)(“sex”)=request.form(“user_sex”)

response.Cookies(“user”)(“hobby”)=request.form(“user_hobby”)……%><%response.Cookies(“user”).expires=#2006-5-1#%>

Cookies的設(shè)置<%舉例:<%response.Cookies的設(shè)置注意:(1)設(shè)置Cookies時(shí),如果該Cookies已經(jīng)存在,則覆蓋原來(lái)的Cookies;如果不存在則創(chuàng)建一個(gè)。(2)想在ASP文件任何地方使用用response.Cookies方法設(shè)置Cookies變量,必須保證response.Buffer=true.

(3)防止不同站點(diǎn)設(shè)置的Cookies名一樣而發(fā)生覆蓋,則可在程序中設(shè)置cookies變量的作用域(如domain、path屬性)Cookies的設(shè)置注意:讀取Cookies語(yǔ)法格式:Request.Cookies(“CookiesName”)[(關(guān)鍵字)]

讀取不包含關(guān)鍵字的Cookies<%response.Cookies(“user_name”)=request.form(“user_name”)response.writerequest.Cookies(“user_name”)

%>讀取Cookies語(yǔ)法格式:讀取不包含關(guān)鍵字的Cookie讀取Cookies語(yǔ)法格式:Request.Cookies(“CookiesName”)[(關(guān)鍵字)]

讀取包含關(guān)鍵字的Cookies<%response.Cookies(“user”)(“name”)=request.form(“user_name”)response.Cookies(“user”)(“sex”)=request.form(“user_sex”)response.Cookies(“user”)(“hobby”)=request.form(“user_hobby”)response.writerequest.Cookies(“user”)(“name”)response.writerequest.Cookies(“user”)(“sex”)response.writerequest.Cookies(“user”)(“hobby”)%>讀取Cookies語(yǔ)法格式:讀取包含關(guān)鍵字的Cookies讀取Cookies語(yǔ)法格式:Request.Cookies(“CookiesName”)[(關(guān)鍵字)]

.屬性讀取Cookies變量的HasKeys屬性:<%‘讀取是否有關(guān)鍵字response.writerequest.Cookies(“user”).haskeys%>屬性:Cookies變量本身有一個(gè)只讀屬性:haskeys讀取Cookies語(yǔ)法格式:讀取Cookies變量的Has讀取Cookies思考:request.Cookies方法讀取一個(gè)不存在的Cookies時(shí),會(huì)出現(xiàn)什么狀況?

讀取Cookies思考:Cookies的設(shè)置和讀取注意:Cookies變量的expires屬性設(shè)置影響著cookies變量的存活期,如果expires屬性為過(guò)去的一個(gè)時(shí)期,則是會(huì)話型的,如果不設(shè)置expires屬性或?yàn)橐院蟮囊粋€(gè)時(shí)間,則是永久性的。Cookies的設(shè)置和讀取注意:Cookies變量的expiCookies的特點(diǎn)1.Cookies保存在用戶的機(jī)子上,不是在服務(wù)器上,進(jìn)行了簡(jiǎn)單的加密。2.Cookies的值為最近一次上網(wǎng)時(shí)修改后的值不同的用戶在同一臺(tái)電腦上網(wǎng)時(shí),Cookies不會(huì)辨別用戶的身份,從而暴露其他客戶的隱私。所以設(shè)置cookies一定要謹(jǐn)慎。cookies一般用于保存非重要的信息,供網(wǎng)站中文件共享。Cookies的特點(diǎn)1.Cookies保存在用戶的機(jī)子上,Cookies的刪除IE屬性設(shè)置中“刪除Cookies”Cookies的刪除IE屬性設(shè)置中“刪除Cookies”Session和Application對(duì)象我們?cè)谠L問(wèn)一個(gè)網(wǎng)站的時(shí)候,經(jīng)常要由一個(gè)網(wǎng)頁(yè)跳轉(zhuǎn)到另一個(gè)網(wǎng)頁(yè),在由一個(gè)網(wǎng)頁(yè)跳轉(zhuǎn)到另一個(gè)網(wǎng)頁(yè)時(shí),經(jīng)常需要共享一些信息。回顧:我們前面學(xué)了哪些方法可以幫我們實(shí)現(xiàn)這一功能?Form;URL后攜帶信息;Cookies;Session和Application對(duì)象我們?cè)谠L問(wèn)Session和Application對(duì)象1.利用session對(duì)象記載每個(gè)用戶各自的信息2.利用Application對(duì)象記載所有客戶共享的信息3.Global.asa的編寫(xiě)

Session和Application對(duì)象1.利用sessi一、Session對(duì)象大家都有過(guò)登陸論壇、聊天室的經(jīng)歷,在我們登陸后,系統(tǒng)需要記住我們的用戶名,呢稱等信息,以便在我們發(fā)表言論時(shí)使用。這是怎么實(shí)現(xiàn)的呢?我們的網(wǎng)絡(luò)程序設(shè)計(jì)者往往會(huì)采用Session對(duì)象。Session對(duì)象是用來(lái)記載特定用戶的信息的。這些信息在會(huì)話期間,網(wǎng)站的任何一個(gè)網(wǎng)頁(yè)都可以共享這些信息。強(qiáng)調(diào)一點(diǎn):多客戶訪問(wèn)同一網(wǎng)站時(shí),不同用戶有他們自己的Session變量信息,相互之間不存在干擾和泄密的。瀏覽器瀏覽器Session對(duì)象Session對(duì)象…………服務(wù)器一、Session對(duì)象大家都有過(guò)登陸論壇、聊天室的經(jīng)一、Session對(duì)象Session對(duì)象的屬性有:SessionID和TimeOutSession對(duì)象的方法有:AbandonSession對(duì)象的事件有:Session_OnStart和Session_Onend.一、Session對(duì)象Session對(duì)象的屬性有:Sessi一、Session對(duì)象1.SessionID瀏覽器Session變量及值Sess+sessionID文件服務(wù)器申請(qǐng)生成session返回sessionIDCookies(“ASPsession”)一、Session對(duì)象1.SessionID瀏覽器Ses一、Session對(duì)象1.SessionIDsession利用會(huì)話型cookie的身份標(biāo)志功能,將用戶在瀏覽網(wǎng)站時(shí)需要保存的信息保存在服務(wù)器上。這樣session既克服了http協(xié)議的缺陷,又防止了信息的泄漏,而且方便了編程者的使用,是一個(gè)非常好的解決方案。

讀取sessionID值語(yǔ)法為:<%response.writesession.sessionID%>一、Session對(duì)象1.SessionID一、Session對(duì)象2.TimeOut屬性

TimeOut屬性為session對(duì)象的的有效期。網(wǎng)站中session對(duì)象的有效期默認(rèn)為20分鐘。也就是說(shuō)用戶在20分鐘內(nèi)不刷新網(wǎng)頁(yè)或不向服務(wù)器發(fā)出請(qǐng)求,session對(duì)象會(huì)自動(dòng)結(jié)束。注意:修改的值必須大于20分鐘,否則仍默認(rèn)為20分鐘。讀取或修改session對(duì)象TimeOut屬性的語(yǔ)法為:n=session.timeout

‘讀取session.timeout=整數(shù)(分鐘)

‘修改舉例:<%session.timeout=30%>

一、Session對(duì)象2.TimeOut屬性TimeO一、Session對(duì)象2.TimeOut屬性

session對(duì)象的TimeOut屬性也可以在服務(wù)器的IIS的站點(diǎn)屬性中修改。一、Session對(duì)象2.TimeOut屬性sessi一、Session對(duì)象3.Abandon方法

Abandon方法用于釋放Web服務(wù)器用于保存某個(gè)用戶會(huì)話信息的存儲(chǔ)空間。但是,這個(gè)方法并不影響其他用戶的會(huì)話信息。如果用戶未調(diào)用Abandon方法,那么該會(huì)話信息也會(huì)在Timeout屬性設(shè)定的時(shí)間之后,由服務(wù)器自動(dòng)刪除。

Abandon方法的使用語(yǔ)法:Session.Abandon

一、Session對(duì)象3.Abandon方法Ab一、Session對(duì)象4.建立和使用Session對(duì)象的變量

(1)建立和改變Session值的方法:

Session("變量名")=表達(dá)式(2)引用Session值的方法(可用于賦值或直接輸出):

Session(“變量名”)

一、Session對(duì)象4.建立和使用Session對(duì)象的變量一、Session對(duì)象<%Dimuser_name,ageuser_name="卓云"age=22

Session("user_name")=user_name

'給Session賦值

Session("age")=age%> 一、Session對(duì)象<%一、Session對(duì)象<%Dimuser_name

user_name=Session("user_name")

'將Session值賦給變量Response.Writeuser_name&"您好,歡迎您<br>"

Response.Write"您的年齡是"&Session("age")

'直接使用Session值%>一、Session對(duì)象<%一、Session對(duì)象<%Dimuser_name

session.Abandonuser_name=Session("user_name") Response.Writeuser_name&"您好,歡迎您<br>"Response.Write"您的年齡是"&Session("age")%>(應(yīng)用session對(duì)象abandon)一、Session對(duì)象<%(應(yīng)用session對(duì)象aband一、Session對(duì)象思考:

如果session對(duì)象的某個(gè)變量不存在或session對(duì)象已經(jīng)被釋放,讀取session(“xxx”)=?

一、Session對(duì)象思考:二、Application對(duì)象Application和session對(duì)象剛好相反,它是用來(lái)存儲(chǔ)所有用戶之間的共同信息。比如聊天室里,每個(gè)人的發(fā)言都能被看到,這就是由Application對(duì)象實(shí)現(xiàn)的。瀏覽器瀏覽器Application對(duì)象……服務(wù)器二、Application對(duì)象Application和ses二、Application對(duì)象Application對(duì)象的生命周期為從服務(wù)器打開(kāi)到關(guān)閉。Application的方法:Lock和UnlockApplication的事件:Application_OnStart和Application_OnEnd二、Application對(duì)象Application對(duì)象的二、Application對(duì)象1.建立和改變Application變量值語(yǔ)法:Application(“變量名”)=表達(dá)式二、Application對(duì)象1.建立和改變Applicat二、Application對(duì)象<%application.Lock()ifapplication("visitor")=""then

application("visitor")=1

else

application("visitor")=application("visitor")+1endifapplication.UnLock()%>二、Application對(duì)象<%二、Application對(duì)象<%dimallvisitorallvisitor=application("visitor")%>二、Application對(duì)象Session變量和Application變量的比較3.

練習(xí)從生命周期、作用范圍、工作原理、應(yīng)用場(chǎng)合等方面概括Session對(duì)象和Application對(duì)象的相似之處和不同之處

Session變量和Application變量的比較3.練Session變量和Application變量的比較相同之處:對(duì)象中的變量都可以進(jìn)行存取,都有生命周期和作用域;不同之處:Session對(duì)象Application對(duì)象生命周期從用戶登陸到退出該網(wǎng)站從服務(wù)器開(kāi)啟到關(guān)閉作用范圍每個(gè)用戶有一個(gè)單獨(dú)的Session對(duì)象所有用戶公用一個(gè)Application對(duì)象工作原理每個(gè)登錄用戶都有一個(gè)相應(yīng)的Sess+sessID文件存在于服務(wù)器上。Application文件存在于服務(wù)器上,只有一個(gè)。應(yīng)用場(chǎng)合記錄單個(gè)用戶的信息,如:身份密碼、個(gè)人喜好等。記錄所有用戶的公共信息,如:主頁(yè)訪問(wèn)記數(shù)器、公共討論區(qū)的信息等Session變量和Application變量的比較相同之處Session變量和cookies變量的比較Cookies變量保存在客戶端硬盤(pán)上,不同用戶可共享同一網(wǎng)站的cookies變量,不安全,容易泄密。有效期可以是會(huì)話型的也可以永久。Session變量的保存在服務(wù)端,不同用戶有各自的session變量,安全,不會(huì)泄密。有效期是會(huì)話型的。Session變量和cookies變量的比較Cookies變?nèi)?、Global.asa文件

Global.asa文件是用來(lái)定義Session、Application對(duì)象事件所對(duì)應(yīng)的程序的。當(dāng)Session或Application第一次被調(diào)用或結(jié)束時(shí),將運(yùn)行該文件中對(duì)應(yīng)的程序。三、Global.asa文件Global三、Global.asa文件

<Scriptlanguage=“VBScript”runat=“server”>SubApplication_OnStart‘Application對(duì)象開(kāi)始程序EndSubSubApplication_OnEnd‘Application對(duì)象結(jié)束程序EndSubSubSession_OnStart‘Session對(duì)象開(kāi)始程序EndSubSubSession_OnEnd‘Session對(duì)象開(kāi)始程序EndSub</Script>語(yǔ)法三、Global.asa文件<Scriptlangua三、Global.asa文件

注意:

(1)每個(gè)應(yīng)用程序,即每個(gè)網(wǎng)站只能有一個(gè)Global.asa文件,且必須是命名為Global.asa,且必須存放在應(yīng)用程序的根目錄下。(2)語(yǔ)法格式必須是<Scriptlanguage=“VBScript”runat=“server”>……</Script>。(3)由于Global.asa文件只是被調(diào)用,不會(huì)顯示在頁(yè)面上,所以Global.asa文件中不能有任何輸出語(yǔ)句。(4)對(duì)于一個(gè)應(yīng)用程序,可以有Global.asa文件,也可以沒(méi)有Global.asa文件,有Global.asa文件時(shí),可以同時(shí)包含上述4個(gè)事件,也可以只包含其中的幾個(gè)事件。(5)編寫(xiě)Global.asa文件時(shí),可以調(diào)用文本編輯軟件,存為Global.asa即可。三、Global.asa文件注意:(1)每個(gè)應(yīng)用程序,三、Global.asa文件

比較:Global.asa中設(shè)置:SubSession_OnStartApplication.LockApplication("visitor")=Application("visitor")+1Application.UnlockEndSub頁(yè)面程序中設(shè)置:<%iftrim(request.form("name"))<>""then application.Lock() ifapplication("visitor")=""then application("visitor")=1 else application("visitor")=application("visitor")+1 endif application.unLock()endif%>三、Global.asa文件比較:三、Global.asa文件比較結(jié)果:只要有用戶訪問(wèn)該站點(diǎn)下任何一網(wǎng)頁(yè)則會(huì)執(zhí)行該程序。相反,在頁(yè)面程序中設(shè)置該段程序則在用戶訪問(wèn)該網(wǎng)頁(yè)三、Global.asa文件比較結(jié)果:三、Global.asa文件

比較:Global.asa中設(shè)置:SubSession_OnEndApplication.LockApplication("visitor")=Application("visitor")-1Application.UnlockEndSub頁(yè)面程序中設(shè)置:<%iftrim(request("goout"))<>""thenapplication.lockapplication("visitor")=application("visitor")-1application.unlockresponse.Write"<scriptlanguage='vbscript'>window.top.close()</script>"endif%>三、Global.asa文件比較:三、Global.asa文件比較結(jié)果:Global.asa中設(shè)置:用戶退出該站點(diǎn)達(dá)到session變量的timeout時(shí)限后或session.Abandon()后自動(dòng)執(zhí)行該程序段。頁(yè)面程序中設(shè)置:該段程序則在用戶訪問(wèn)該網(wǎng)頁(yè)時(shí)執(zhí)行,但session變量在timeout時(shí)限達(dá)到后或使用session.Abandon()后自動(dòng)取消

三、Global.asa文件比較結(jié)果:Server對(duì)象學(xué)習(xí)內(nèi)容:Server對(duì)象的屬性和方法,特別是:HTMLencode方法和Mappath方法。Server對(duì)象學(xué)習(xí)內(nèi)容:Server對(duì)象的一、server對(duì)象的屬性和方法一、server對(duì)象的屬性和方法二、ScriptTimeOut屬性的應(yīng)用和前面的session.timeout很相似,ScriptTimeOut是設(shè)置服務(wù)器執(zhí)行網(wǎng)站中某一網(wǎng)頁(yè)腳本的最長(zhǎng)時(shí)間。如果腳本程序在設(shè)定的時(shí)間值范圍內(nèi)沒(méi)有執(zhí)行完畢,將自動(dòng)停止執(zhí)行。它的默認(rèn)值是90秒,程序員可以根據(jù)程序的復(fù)雜程度重新設(shè)置這個(gè)值,但不能低于90秒。如:<%Server.ScriptTimeOut=150%>二、ScriptTimeOut屬性的應(yīng)用和前面的se三、CreateObject方法的應(yīng)用語(yǔ)法格式:Set實(shí)例名=server.CreateObject(ActiveXserver組件)

server.CreateObject方法主要用于創(chuàng)建ActiveX組件、應(yīng)用程序或腳本對(duì)象的實(shí)例。組件可以是各種形式的可執(zhí)行程序(DLL、EXE等),不必考慮它的位置,只要在WindowsNT(或98)中登記注冊(cè)了這些程序,COM就會(huì)在系統(tǒng)注冊(cè)表(Registry)里維護(hù)這些資料,讓程序員調(diào)用。三、CreateObject方法的應(yīng)用語(yǔ)法格式:Set實(shí)三、CreateObject方法的應(yīng)用使用ActiveX服務(wù)器組件能擴(kuò)展ASP的功能,實(shí)現(xiàn)一些僅依賴腳本語(yǔ)言所無(wú)法實(shí)現(xiàn)的功能,使得ASP具有更強(qiáng)大的生命力,ActiveXserver組件包括數(shù)據(jù)庫(kù)存取、文件存取等組件。作用:舉例:<%setmyconn=Server.CreateObject("ADODB.Connection")%>三、CreateObject方法的應(yīng)用使用Activ三、CreateObject方法的應(yīng)用注意:

(1)CreateObject方法僅能用來(lái)創(chuàng)建外置對(duì)象實(shí)例,不能用來(lái)創(chuàng)建系統(tǒng)的內(nèi)建對(duì)象實(shí)例,如下列語(yǔ)句是錯(cuò)誤的。<%seta=Server.CreateObject("Application")%>(2)若想在其他頁(yè)面中也可使用已創(chuàng)建好的對(duì)象實(shí)例,可將對(duì)象實(shí)例存儲(chǔ)在Session對(duì)象或Application對(duì)象中。如

<%setsession("conn")=Server.CreateObject("ADODB.Connection")%>三、CreateObject方法的應(yīng)用注意:(1)Cr四、HTMLEncode方法的應(yīng)用瀏覽器對(duì)HTML標(biāo)記字符是進(jìn)行解釋執(zhí)行的。如果有時(shí)候希望顯示某個(gè)HTML頁(yè)面中涉及到的實(shí)際HTML代碼或ASP腳本,就必須使用Server對(duì)象的HTMLEncode方法,把HTML標(biāo)記轉(zhuǎn)化為轉(zhuǎn)義字符再發(fā)送到瀏覽器。

語(yǔ)法格式為:Server.HTMLEncode(string)舉例:6-1.aspResponse.write“<fontsize=‘5’>youarewelcome!</font>”期望在網(wǎng)頁(yè)上寫(xiě)出:

<fontsize=‘5’>youarewelcome!</font>四、HTMLEncode方法的應(yīng)用瀏覽器對(duì)HTML四、HTMLEncode方法的應(yīng)用<%Response.Write"<ahref=''>搜狐</a>"'輸出一個(gè)換行符Response.Write"<br>"Response.Write

Server.HTMLEncode("<ahref=''>搜狐</a>")%>四、HTMLEncode方法的應(yīng)用<%六、MapPath方法的應(yīng)用在網(wǎng)站設(shè)計(jì)中,我們通常使用虛擬路徑(相對(duì)路徑或絕對(duì)路徑)。但數(shù)據(jù)庫(kù)文件操作或其他文件就必須使用物理路徑(真實(shí)路徑),MapPath方法就是將指定的虛擬路徑映射到物理路徑的方法。

語(yǔ)法格式為:Server.MapPath(虛擬路徑字符串)舉例:6-2.asp六、MapPath方法的應(yīng)用在網(wǎng)站設(shè)計(jì)中,我們通常六、MapPath方法的應(yīng)用(1)在具體應(yīng)用中,如果需要用到物理路徑,可以直接寫(xiě),也可以用MapPath方法轉(zhuǎn)換。

(2)MapPath方法通常用于數(shù)據(jù)庫(kù)文件操作、文件上傳等操作中。說(shuō)明六、MapPath方法的應(yīng)用(1)在具體應(yīng)用中,如果需要用到七、Execute方法的應(yīng)用Server.Execute方法允許當(dāng)前的ASPX頁(yè)面執(zhí)行同一Web服務(wù)器上的指定的ASPX頁(yè)面,當(dāng)指定的ASPX頁(yè)面執(zhí)行完畢,控制流程重新返回原頁(yè)面發(fā)出Server.Execute調(diào)用的位置。這種頁(yè)面導(dǎo)航方式類似于針對(duì)ASPX頁(yè)面的一次函數(shù)調(diào)用。語(yǔ)法格式:

Server.Execute(變量或字符串)舉例:6-3.asp和6-4.asp

七、Execute方法的應(yīng)用Server.Exe七、Execute方法的應(yīng)用<body>歡迎光臨我的主頁(yè)<%

server.Execute("6-4.asp")%><p>謝謝,再見(jiàn)</body>6-3.asp<body><p>敬請(qǐng)?zhí)岢鰧氋F意見(jiàn)</body>6-4.asp七、Execute方法的應(yīng)用<body>6-3.asp<bo八、Transfer方法的應(yīng)用

Server.Transfer方法與Server.Execute方法很相似,只是執(zhí)行完新網(wǎng)頁(yè)后不返回原網(wǎng)頁(yè)。語(yǔ)法格式:Server.Transfer(字符串或變量)舉例:6-5.asp和6-4.asp八、Transfer方法的應(yīng)用Server.八、Transfer方法的應(yīng)用<body>歡迎光臨我的主頁(yè)<%

server.transfer("6-4.asp")%><p>謝謝,再見(jiàn)</body>6-5.asp<body><p>敬請(qǐng)?zhí)岢鰧氋F意見(jiàn)</body>6-4.asp八、Transfer方法的應(yīng)用<body>6-5.asp<b課后思考比較異同Response.redirectServer.ExecuteServer.Transfer課后思考比較異同補(bǔ)充知識(shí)指由這個(gè)文件所在的路徑引起的跟其它文件(或文件夾)的路徑關(guān)系。使用相對(duì)路徑可以為我們帶來(lái)非常多的便利,特別是提高程序的移植性。在www中(廣域網(wǎng)),以http開(kāi)頭的鏈接都是絕對(duì)路徑。指的是某一臺(tái)計(jì)算機(jī)本地的路徑,以盤(pán)符開(kāi)頭,例如C:\、D:\temp等等。ASP的數(shù)據(jù)庫(kù)連接中,只能連接物理路徑,而不能連接虛擬路徑,所以需要用server.mappath對(duì)象把相對(duì)路徑轉(zhuǎn)化成物理路徑。相對(duì)路徑:絕對(duì)路徑:物理路徑:補(bǔ)充知識(shí)指由這個(gè)文件所在的路徑引起的跟其它文件(或文件夾)的Asp內(nèi)置對(duì)象ASP的特點(diǎn)是面向?qū)ο缶幊?,它提供了功能?qiáng)大的內(nèi)部對(duì)象。其中常用的對(duì)象有:RequestResponseSessionApplicationServer

Asp內(nèi)置對(duì)象ASP的特點(diǎn)是面向?qū)ο缶幊?,它提供了功能?qiáng)大的Request對(duì)象

Request對(duì)象有5種方法可用來(lái)獲取客戶端的信息(由客戶端發(fā)出的HTTP請(qǐng)求報(bào)文)獲取方法功能Form取得客戶端以post方式提交的表單信息QueryString取得客戶端以get方式提交的表單信息或URL后攜帶的信息ServerVariables取得服務(wù)器端或客戶端的環(huán)境變量信息Cookies取得客戶端瀏覽器的Cookies信息ClientCertificate取得客戶端瀏覽器的身份驗(yàn)證信息Request對(duì)象Request對(duì)象有5種方法可用來(lái)獲取客Request對(duì)象(2)Request.獲取方法(變量名或字符串)其中的參數(shù)就是要得到的信息的變量名稱。如果不想加入獲取方法,也可以簡(jiǎn)寫(xiě)為Request(參數(shù))方式,ASP同樣可以幫你取得客戶端的信息。因?yàn)闆](méi)有指定獲取方法,所以ASP將會(huì)依次在QueryString、Form、Cookies、ServerVariables、ClientCertificate這5種獲取方法中檢查是否有信息傳入,如果有則會(huì)返回獲得的變量信息。

(1)這里的“獲取方法”更準(zhǔn)確的說(shuō)應(yīng)該是“數(shù)據(jù)集合”,因?yàn)楂@取到的信息其實(shí)都在一個(gè)集合中。在這里之所以說(shuō)是“獲取方法”主要是強(qiáng)調(diào)從客戶端獲得信息這個(gè)功能。數(shù)據(jù)集合FormQuerystringClientCertificateCookiesServerVariablesRequestRequest對(duì)象(2)Request.獲取方法(變量名或Form方法獲取post方式提交的表單信息語(yǔ)法格式:Request.form(“表單元素名稱”)

例:(4-1.asp4-2.asp)Form方法獲取post方式提交的表單信息語(yǔ)法格式:RequForm方法獲取post方式提交的表單信息……<body><formname="test"method="post"action="4-2.asp">……</form></body>……注意:1.checkbox或radio命名為相同時(shí),表示為同一組Form方法獲取post方式提交的表單信息……注意:Form方法獲取post方式提交的表單信息……<%Dimuser_name,user_password,sex,hobby,career,describe user_name=Request.Form("user_name") user_password=Request.Form("user_password") sex=Request.Form("sex") career=Request.Form("career") hobby=Request.Form("hobby") describe=Request.Form("describe")…… %>……Form方法獲取post方式提交的表單信息……Form方法獲取post方式提交的表單信息注意:1.checkbox或radio命名為相同時(shí),表示為同一組2.獲取多項(xiàng)選擇表單元素值的方法:方法一:Request.Form(“表單元素名”)--多個(gè)值之間自動(dòng)以逗號(hào)隔開(kāi)方法二:num=request.form("hobby").count'記下選擇了多少項(xiàng)fori=1tonum'寫(xiě)出選擇的每一項(xiàng)Response.Writerequest.form("hobby")(i)nextForm方法獲取post方式提交的表單信息注意:Form方法獲取post方式提交的表單信息2.獲取多項(xiàng)選擇表單元素值的方法:方法三:foreachiteminrequest.form("hobby") Response.Writeitem&"/"'寫(xiě)出選擇的每一項(xiàng)nextForm方法獲取post方式提交的表單信息2.獲取多項(xiàng)選擇表Form方法獲取post方式提交的表單信息服務(wù)端獲取表單元素值和客戶端獲取表單元素值的方法不同F(xiàn)orm方法獲取post方式提交的表單信息服務(wù)端獲取表單元素Form方法獲取post方式提交的表單信息注意點(diǎn):(1)4-1.asp那是一個(gè)簡(jiǎn)單的HTML文件,并沒(méi)有使用ASP語(yǔ)句,完全可以將名字改為4-1.htm。注意:Form對(duì)象和其元素屬性的設(shè)置。如action、method、type等。(2)在4-2.asp中定義了幾個(gè)變量,變量名字和表單中的元素名字可以相同,也可以不同。主要是為了程序易讀,可以不一樣。

(3)4-1.asp文檔中的form表單和4-2.asp中Request.Form中的form方法有什么區(qū)別?前者是html文檔或ASP文檔提供的表單,后者是應(yīng)用ASP的Request對(duì)象獲取html文檔或ASP文檔中的表單信息的方法。

Form方法獲取post方式提交的表單信息注意點(diǎn):(1)4-Form方法獲取post方式提交的表單信息ASP文件內(nèi)的表單信息可以傳給自身。見(jiàn)4-3.aspForm方法獲取post方式提交的表單信息ASP文件內(nèi)的表單Form方法獲取post方式提交的表單信息注意點(diǎn):(1)程序中的<%IfRequest.Form(“keywords”)<>“”Then%>這個(gè)判斷語(yǔ)句非常重要,如果沒(méi)有輸入查詢關(guān)鍵字,則不執(zhí)行操作,只有輸入查詢信息才處理if中的語(yǔ)句。(3)比較一下兩種表單信息傳送方式有什么不同?表單form的action對(duì)象不同;處理表單信息的位置不同。如:當(dāng)用戶打開(kāi)這個(gè)網(wǎng)頁(yè)時(shí),request.form(“”)得到的結(jié)果為空,所以不執(zhí)行asp代碼。因?yàn)榇蜷_(kāi)時(shí)網(wǎng)頁(yè)的form1沒(méi)有把其內(nèi)容傳遞給自己。只有通過(guò)提交方式提交了才能獲得里面元素的值。Form方法獲取post方式提交的表單信息注意點(diǎn):(1)程序Querystring獲取方法Querystring方法可以獲取get方式提交的表單信息,也可以獲取URL后攜帶的參數(shù)信息。

Querystring獲取方法Querystring方Querystring方法獲取get方式提交的表單信息語(yǔ)法格式:Request.querystring(“表單元素名稱”)

例:(4-1_1.asp4-2_2.asp)Querystring方法獲取get方式提交的表單信息語(yǔ)法格Querystring方法獲取get方式提交的表單信息……<body><formname="test"method=“get"action="4-2_2.asp">……</form></body>……Querystring方法獲取get方式提交的表單信息……Querystring方法獲取get方式提交的表單信息……<%Dimuser_name,user_password,sex,hobby,career,describe user_name=Request.querystring("user_name") user_password=Request.querystring("user_password") sex=Request.querystring("sex") career=Request.querystring("career") hobby=Request.querystring("hobby") describe=Request.querystring("describe")…… %>……Querystring方法獲取get方式提交的表單信息……Querystring方法獲取get方式提交的表單信息注意:1.get方式提交的表單信息是非安全方式,附加在URL地址后面url?表單元素1的name=表單元素1的value&表單元素2的name=表單元素2的valueQuerystring方法獲取get方式提交的表單信息注意:Querystring方法獲取URL攜帶參數(shù)信息<html><head> <title>QueryString用法示例</title></head><body> <p>請(qǐng)單擊下面的超鏈接</p>

<ahref="4-7.asp?name=白蕓&age=22">顯示</a></body></html>4-4_1.aspQuerystring方法獲取URL攜帶參數(shù)信息<htmlQuerystring方法獲取URL攜帶參數(shù)信息……<body><%Dimname,agename=Request.QueryString("name")'返回姓名age=Request.QueryString("age")'返回年齡Response.Write"您的姓名是:"&name&",您的年齡是:"&age%></body>……Querystring方法獲取URL攜帶參數(shù)信息……Querystring方法獲取URL攜帶參數(shù)信息語(yǔ)法:request.querystring(參數(shù)關(guān)鍵字)形式類似于Querystring方法獲取get方式提交的表單信息,只是這里的參數(shù)關(guān)鍵字是自定義的,不是表單元素名Querystring方法獲取URL攜帶參數(shù)信息語(yǔ)法:reQuerystring方法獲取URL攜帶參數(shù)信息URL后傳送的信息如果是變量,不是常數(shù),該怎么表示?

Querystring方法獲取URL攜帶參數(shù)信息URL后傳Querystring方法獲取URL攜帶參數(shù)信息<body><p>請(qǐng)單擊下面的超鏈接</p><% dimname,age name="白蕓" age=22 %><ahref="4-7.asp?name=<%=name%>&age=<%=age%>">顯示</a></body>4-4-2.aspQuerystring方法獲取URL攜帶參數(shù)信息<bodyQuerystring方法獲取URL攜帶參數(shù)信息注意:URL后攜帶的都是字符串信息,不用加引號(hào)Querystring方法獲取URL攜帶參數(shù)信息注意:Querystring方法獲取URL攜帶參數(shù)信息應(yīng)用:圖片展4-6-1.asp和4-6-2.asp類似的還有新聞系統(tǒng),論壇帖子Querystring方法獲取URL攜帶參數(shù)信息應(yīng)用:類似ServerVariables獲取方法有時(shí)候希望知道服務(wù)器端或客戶端的信息,如客戶端的IP地址,這時(shí)我們可以用ServerVariables方法。課本60頁(yè)表格4-5列舉了常用的環(huán)境變量。ServerVariables的語(yǔ)法格式:Request.ServerVariables(“環(huán)境變量名”)ServerVariables獲取方法有時(shí)候希望知道服務(wù)器端ServerVariables獲取方法例子:4-7.asp……<body> <% DimIP IP=Request.ServerVariables("REMOTE_ADDR")

Response.Write"來(lái)訪者IP地址是:"&IP&"<br>" Dimlocal_IP local_IP=Request.ServerVariables("Local_ADDR")

Response.Write"服務(wù)器的IP地址是:"&local_IP %></body>……ServerVariables獲取方法例子:4-7.aspResponse對(duì)象Response對(duì)象可以向客戶端輸出信息,他的方法有:

方法說(shuō)明write送出信息到客戶端redirect引導(dǎo)用戶端的瀏覽器至新的Web頁(yè)面end終止處理ASP程序,并返回當(dāng)時(shí)的狀況flush立刻送出緩沖區(qū)的Html數(shù)據(jù)clear消除緩沖區(qū)中的所有Html頁(yè)面BinaryWrite輸出二進(jìn)制信息Response對(duì)象Response對(duì)象可以向客戶端輸出信息Write方法write方法是Response對(duì)象最普遍、最常用的方法,它直接把信息從服務(wù)端送到客戶端,從而實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容的顯示。語(yǔ)法格式:Response.write字符串或變量或常量Write方法write方法是ResponsWrite方法……<%user_name=“G_Jocky” Response.Write"你的密碼是:" Response.Writeuser_name Response.Write“你的姓名是:"&user_name %>……4-8.aspWrite方法……4-8.aspWrite方法注意:(1)Response.write必須在<%%>內(nèi),不能在客戶端運(yùn)行。(2)Response.write=<%=%>,如例子4-9.asp。區(qū)別:但在<%%>內(nèi)可有多個(gè)Response.write操作而=只能有一個(gè)。Write方法注意:區(qū)別:Write方法Write方法還可以用來(lái)輸出HTML元素

<bodybgcolor="#FFFFFF"text="#000000"><%

response.write"<divalign='center'>比較Write方法輸出Html元素</div>"%></body><bodybgcolor="#FFFFFF"text="#000000"><divalign="center">比較Write方法輸出Html元素</div></body>4-10.aspand4-11.aspWrite方法Write方法還可以用來(lái)輸出HTML元素<bWrite方法注意:(1)HTML代碼中的雙引號(hào)要改成單引號(hào)。(2)在開(kāi)發(fā)ASP程序時(shí),如果遇到不方便進(jìn)行ASP語(yǔ)句和HTML元素之間的切換時(shí),可以用Write方法來(lái)輸出HTML元素。Write方法注意:Redirect方法在普通網(wǎng)頁(yè)中,可以利用超鏈接引導(dǎo)客戶至另一個(gè)頁(yè)面,但是必須要客戶單擊超鏈接才行??墒怯袝r(shí)希望自動(dòng)引導(dǎo)客戶至另一個(gè)頁(yè)面,比如:進(jìn)行網(wǎng)上考試時(shí),當(dāng)考試時(shí)間到時(shí),應(yīng)自動(dòng)引導(dǎo)客戶端至結(jié)束界面。在ASP中,可使用Redirect方法引導(dǎo)客戶至另一個(gè)頁(yè)面。

語(yǔ)法格式為:Response.redirect網(wǎng)址變量或網(wǎng)址字符串

Redirect方法在普通網(wǎng)頁(yè)中,可以利用超鏈接引導(dǎo)客Redirect方法<% IfRequest.Form("adrress")="csdn"then ‘將用戶引至程序大本營(yíng)網(wǎng)站

Response.Redirect""

ElseIfRequest.Form("adrress")="book"then ‘將用戶引至網(wǎng)絡(luò)書(shū)城

Response.Redirect""

EndIf%>4-12.aspRedirect方法<% IfRequest.Form(Redirect方法注意:

(2)如果希望在ASP文件的任意地方使用Redirect語(yǔ)句,那就必須在ASP文件的開(kāi)頭加上<%Response.Buffer=True%>這一句話。否則,Redirct語(yǔ)句必須放到ASP文件的開(kāi)頭,如果不放到ASP文件的開(kāi)頭,網(wǎng)頁(yè)執(zhí)行會(huì)出錯(cuò):HTTP頭已經(jīng)寫(xiě)入到客戶瀏覽器。任何HTTP頭的修改必須在寫(xiě)入頁(yè)內(nèi)容之前。(1)Redirct語(yǔ)句中網(wǎng)址的寫(xiě)法,可以是相對(duì)地址,也可以是絕對(duì)地址。

Redirect方法注意:(2)如果希望在ASP文件的任意Buffer屬性Buffer屬性用來(lái)設(shè)置服務(wù)器端是否將頁(yè)面輸出到緩沖區(qū),它的值為T(mén)rue或False。當(dāng)Buffer為T(mén)rue時(shí),服務(wù)器端先輸出至緩沖區(qū),在輸出至緩沖區(qū)時(shí),服務(wù)器端不響應(yīng)客戶端,除非所有的服務(wù)器瑞文件被處理完畢。當(dāng)Buffer為False時(shí),服務(wù)器端直接將頁(yè)面輸出至客戶端瀏覽器。

如果在ASP文件中任意地方用到Redirect方法重定向頁(yè)面,則必須在文件

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論