第四章asp内建对象_第1页
第四章asp内建对象_第2页
第四章asp内建对象_第3页
第四章asp内建对象_第4页
第四章asp内建对象_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章

ASP内建对象

ASP的内建对象:Response对象Request对象Session对象Application对象Server对象ObjectContext对象4.1.1Response对象功能

Response对象主要用于服务器端向客户端发送数据,其中可以利用Response.Write直接向客户发送信息,也可以利用response.Redirect进行重新定位客户端到另一个URL上去,当然也可以利用Response.Cookies来设置Cookies的值。4.1.2Response对象的属性

1、Buffer该属性用来(或获得)页面输出时是否要用缓冲区。Buffer属性是一个布尔值的属性,如果将Buffer属性的值设置True,那么服务器端Response的内容被写入缓冲区中,当脚本处理结束后再显示给访问者;如果将Buffer属性的值设置为False,那么在服务器端处理脚本时,服务器端Response的内容将顺序地发送给客户端地浏览器。如下例所示(test4-1.asp):<%response.buffer=false%><html><head><title>bufferexample1</title></head><body><%forI=1to20000response.write(“第”&I&”个<br>”)next%></body></html>如下例所示(test4-2.asp):将上面例子中的:response.buffer=false改成:response.buffer=ture运行后我们比较一下两者的差别注意:如果不设置Buffer值,在ASP2.0中该属性默认为False,在ASP3.0中该属性默认为True。

4.1.2Response对象的属性2、Expires属性该属性设置了页面保存在客户端浏览器缓存上的时间长度(单位为分)。在浏览器接受到服务器响应后的这段时间之内,当用户再次请求该文件时浏览器会直接把缓存区的内容显示出来,而不向服务器发出请求请看下面的一个简单的例子(test4-3.asp)<html><head><title>expiresexample</title></head><body><%response.expires=1response.writenow%></body></html>注意:这里指的再次请求该文件是在浏览器的地址栏上按回车键或是通过浏览器工具拦上的“回退”按钮返回该页面,而不是按浏览器上的“刷新”按钮,若是按“刷新”按钮则是强制向服务器重新发出请求,更新页面。4.1.3Response对象的方法

1、Write方法该方法可以把一个字符串或一个变量发送到用户端的页面上。可以用连接符&将多个字符串连接起来,也可以使用各种HTML标记,可以将字符串的限制标记包含进去,从而使用户端的页面上以特定的方式显示出来。语法:

response.write(变量)请看下面的一个简单的例子(test4-4.asp)

<html><head><title>writeexample</title></head><body><%response.write"hello,everybody!"response.write("hello"&"everybody!"&"<br>")response.writedate%></body></html>4.1.3Response对象的方法2、

Redirect方法该方法主要用来指引用户端浏览器到新的页面,类似于制作一般网页的超链接动作。语法:

response.redirect“网页名”其中网页名是指要切换到的网页文件名称如要显示test4-4.asp文件页面可使用以下语句:

response.redirect“test4-4.asp”请看以下一简单程序(test4-5.asp)

<%response.buffer=true%><html><head><title>redirectexample</title></head><body><% response.write”重新定向到test4-4.asp”response.clearresponse.redirect”test4-4.asp”%></body></html>注意:在使用redirect方法时,如果用户通过代理服务器连接服务器,那么在已经发出部分响应后又使用redirect方法将带来错误。因此,最好在程序中将buffer属性设置为true,并且在使用该方法前清空响应的内容4.1.3Response对象的方法3、

End方法

使用该方法后ASP服务器将停止处理任何ASP文件,并把已处理部分的结果送出,对未处理的部分将不再处理。语法:

response.end请看下面的一个简单的例子(test4-6.asp)

<html><head><title>endexample</title></head><body><%response.write"hello,"response.endresponse.write"everybody!"%></body></html>4.1.3Response对象的方法4、

Clear方法该方法用来清除存放在服务器缓冲区的所有数据。语法:

response.clear注意:如果response对象的buffer属性被设置为ture,那么clear方法将会清除所有在缓冲区内的内容;如果response对象的buffer属性被设置为false,由于未使用缓冲区,采用该方法将会产生一个运行模式的错误。4.1.4Response对象的集合(Cookies)

Cookies集合:其实就是浏览器在用户端硬盘上为每个网站开辟的一小块硬盘空间,这样服务器端程序就能在这块区域中记录些与用户相关的信息,以便区分不同的用户。4.1.4Response对象的集合(Cookies)Response.cookies用来设置cookies集合中的cookie的值。若指定的cookie不存在,则创建它,若存在,则设置新的值并且将旧值删去。语法:Response.Cookies(cookie)[(key)|.attribute]=value这里的cookie是指定cookie的名称。而如果指定了key,则该cookie就是一个字典。attribute指定cookie自身的有关信息。attribute参数可以是下列之一:Domain若被指定,则cookie将被发送到对该域的请求中去。Expiresabsolute

指定cookie的过期日期。为了在会话结束后将cookie存储在客户端磁盘上,必须设置该日期。若此项属性的设置未超过当前日期,则在任务结束后cookie将到期。HasKeys

指定cookie是否包含关键字。Path若被指定,则cookie将只发送到对该路径的请求中。如果未设置该属性,则使用应用程序的路径。请看下面的一个简单的例子(test4-7.asp)

<html><head><title>cookiesexample</title></head><body><%response.cookies("username")="jerry"

response.cookies("userid")="6666"

response.cookies("usersex")="female"response.write“用户名:"&request.cookies("username")&"<br>"response.write"用户id:"&request.cookies("userid")&"<br>"response.write“用户性别:"&request.cookies("usersex")&"<br>"%> </body></html>注意:由于cookies文件要保存在案用户端的硬盘上,要占一定空间,因此要释放不需要的cookie,我们可以运用cookies的expiresabsolute属性设置一个过时时间,这样一来只要超过你所设置的时间就自动释放该cookies。如以下语句:response.cookies("username").expiresabsolute=过时时间4.2.1Request对象的功能

Request对象可以用来访问任何客户端用HTML请求传递的信息,包括使用POST方法传递的参数或利用GET方法送出的请求以及用户端浏览器送出的cookie和server变量集合中大量的标准信息。4.2.2Request对象的集合

1、cookies集合运用resquest.cookies集合来获得你在用户端存储的信息例如我们可以用:response.cookies(“username”)=“jerry”来设置COOKIES集合的值,反过来可以使用REQUEST获得该值的内容:response.write“用户名:”&quest.cookies("username")4.2.2Request对象的集合2、form集合在我们要求用户提供一些信息时经常要用到表单,从现在开始我们就可以利用request对象的form集合处理表单,它可以获得用户端在表单中所填的信息。语法:request.form(“数据项名”)我们通过以下的例子就能清晰的了解该集合用户表单程序如下(test4-8.asp):<html><head><title>formexample1</title></head><body><formmethod="post"action="form_example1.asp"name="form1">用户名:<inputtype="text"name="yhm"size=20><p>性别:<inputtype="radio"name="xb"value="nan">男<inputtype="radio"name="xb"value="nv">女<p><inputtype="submit"value="提交"></body></html>服务器表单处理程序form_example1.asp如下<html><head><title>form_example2</title></head><body><%

yonghuming=request.form("yhm")

xingbie=request.form("xb")response.writeyonghumingifxingbie="nan"thenresponse.write"先生,您好!"elseresponse.write"女士,您好"endif%></body></html>我们还可以利用foreach……next或for……next循环将用户端递交表单的每个数据取出。方法一:<%fori=1torequest.form.countresponse.write(request.form(i)&"<br>")next%>方法二:<%foreachiteminrequest.formresponse.write"<br>"&item&":"&request.form(item)next%>4.2.2Request对象的集合3、

querystring集合Request对象中的querystring数据集合可以直接从用户端取得有关提交的信息或cookies中的数据。语法:request.querystring(“数据项名”)让我们将前面的表单处理程序修改成如下:<html><head><title>form_example3</title></head><body><%

yonghuming=request.querystring("yhm")

xingbie=request.querystring("xb")response.writeyonghumingifxingbie="nan"thenresponse.write"先生,您好!"elseresponse.write"女士,您好"endif%></body></html>注意:用querystring集合一定要用“get”方法获得,把表单程序(test4-8.asp)中的“post”改成“get”后运行可以看出两个程序的运行结果是一样的,两者的区别在于:如果传输较小的数据量我们就用get方法,反之如果传输大量的数据时一般使用post方法。4.2.2Request对象的集合4、

servervariables集合servervarables集合可以用来提供随HTTP请求一起传递的HTTP头信息,其中包含系统的环境变量等。语法:

request.servervariables(“环境变量名”)环境变量名含义见表4-1我们可以试试以下程序(test4-9.asp)

<html><head><title>servervariablesexample</title></head><body><%foreachiteminrequest.servervariablesresponse.write

request.servervariables(item)&"<br>"next%></body></html>4.3.1Session对象的功能

session对象主要用来存储访问者的用户信息,多个页面可以访问该信息,但是两个访问者之间不能共享该信息。例如我们在一个文件中写入以下信息:<%session(“yonghuming”)=”jerry”%>我们可以在另一程序中使用这些信息如:<%response.writesession(“yonghuming”)%>4.3.2Session对象的属性

1、

Sessionid属性当访问者访问某个网站时,会给每一个访问者分配一个不同的标识符,可以利用Sessionid属性返回这个标识符。我们可以这样运用:<%response.writesession.sessionid%>4.3.2Session对象的属性2、

TimeOut属性该属性定义访问者session对象的时限,单位是分,它的作用是当访问者在timeout规定时间内没有刷新时,session对象就会中止,在默认情况下该属性为20分钟。语法:

session.timeout=时间(分)4.3.3Session对象的方法session对象中只包含一个方法Abandon,该方法主要用于释放用户session对象所占的资源。语法:session.abandon4.4.1Application对象的功能

使用Application对象来使整个ASP应用程序的所有用户共享数据,把一个ASP程序中的不同用户、不同页面联系在一起。Application对象的一些特性:①在Applicationg内部共享数据,可以让多个访问者访问。②一个对象可以在整个Application中共享。③一个Application包含事件,可以触发一些Application脚本。④当某一个用户的Application出现错误时,一般不会影响其他用户。⑤服务器端可以停止一个Application,而不会影响其他的应用。4.4.2Application对象的建立和取得

1、建立语法:application(“属性名”)=初始值例如:application(“counter”)=10

4.4.2Application对象的建立和取得2、

取得可使用以下方式:<%response.writeapplication(“counter”)%>或<%response.writeapplication.contents.(“counter”)%>说明:实际上大多数的Application变量都保存在contents集合中的,也就是说一旦建立了一个新的application变量,实际上就是在contents集合中添加了一个。4.4.3Application对象的Lock和Unlock方法Application对象能为多个用户所共享,为了避免多个用户同时改变某一属性的值,就可以运用lock和unlock方法。1、

Lock方法该方法是禁止其他用户修改Application对象的属性。语法:application.lock

2、

Unlock方法该方法是允许其他用户修改Application对象的属性。语法:application.unlock注意:lock方法和unlock方法必须成对出现,当一个用户将其锁住并修改完毕后一定要将其解锁,不然的话其他用户始终都不能修改其属性。4.4.4Global.asa文件

这个文件对于建设网站而言是非常重要的,程序编写者可以在该文件中指定事件脚本,并声明具有会话和应用程序作用域的对象。该文件的内容不是用来给用户显示的,而是用来存储事件信息和由应用程序全局使用的对象。该文件的名称必须是Global.asa

且必须存放在应用程序的根目录中。每个应用程序只能有一个Global.asa

文件。4.4.4Global.asa文件在下列条件下要访问该文件:①Web服务器启动后,当一组应用程序中的任何一个ASP文件时,要访问该文件。②不具有Session的客户向服务器端请求ASP文件时也要访问该文件。4.4.4Global.asa文件在Global.asa

文件中声明的过程只能从一个或多个与Application_OnStart、Application_OnEnd、Session_OnStart

和Session_OnEnd

事件相关的脚本中调用。①Application或者Session开始事件(Application_OnStart、Session_OnStart)。②Application或者Session结束事件(Application_OnEnd、Session_OnEnd)。③<Object>标记,创建带有会话或应用程序作用域的对象。④TypeLibrary声明:声明ActiveX对象类型4.4.4Global.asa文件1、

Application_OnstartApplication_Onstart事件在首次创建新的会话(即Session_Onstart事件)之前发生。只有Application和Server内建对象可以使用,在Application_Onstart事件脚本中引用Session、Request或Response对象将导致错误。语法:<SCRIPTLANGUAGE=SCRIPTLANGUAGERUNAT=SERVER>SUBAPPLICATIOIN_ONSTART………ENDSUB</SCRIPT>4.4.4Global.asa文件2、Application_OnEndApplication_OnEnd事件在应用程序退出时在Session_OnEnd事件之后发生,只有Application和Server内建对象可以使用。语法:<SCRIPTLANGUAGE=SCRIPTLANGUAGERUNAT=SERVER>SUBAPPLICATIOIN_ONEND………ENDSUB</SCRIPT>4.4.4Global.asa文件3、Session_OnStartSession_OnStart事件在服务器创建新的会话时发生。服务器在执行请求页之前处理该脚本。Session_OnStart事件是设置会话期间变量的最佳时机,因为在访问任何页之前都会先设置它们。所有内建对象都可以在Session_OnStart事件脚本中使用和引用。语法:<SCRIPTLANGUAGE=SCRIPTLANGUAGERUNAT=SERVER>SUBSession_OnSart

………ENDSUB</SCRIPT>4.4.4Global.asa文件4、ssion_OnEndSession_OnEnd事件在会话被放弃或超时时发生。在服务器内建对象中,只有Application、Server和Session对象可以使用。语法:<SCRIPTLANGUAGE=SCRIPTLANGUAGERUNAT=SERVER>SUBSession_OnEnd

………ENDSUB</SCRIPT>4.5.1Server对象的功能

该对象提供许多高级的功能,我们可以用该对象的scripttimeout属性来指定文件执行的时间期限来避免诸如服务器正好非常忙不能处理该脚本,或者脚本本身出现的某些错误而导致不能运行。该对象还提供了最常用的方法CreateObject,该方法来创建ActiveX组件的实例,其他方法用于将URL或HTML编码成字符串、将虚拟路径映射到物理路径等。

4.5.2Server对象的ScriptTimeOut属性

该属性可以指定一个脚本文件执行的最长时间期限。如果在设置事件限度内脚本还没有执行完毕,则将中止并显示超时错误;但如果一个server组建还正在执行,那么该属性的设置将无效。该属性的时间单位为秒,默认值为90秒。语法:

server.scripttimeout=时间(秒)4.5.3Server对象的方法

1、

MapPath方法该方法主要用于返回指定文件的相对路径或虚拟路径映射到服务器上相应的物理路径。语法:

server.mappath(路径)注意:若

“路径”

以一个正斜杠(/)或反斜杠(\)开始,则

MapPath方法返回路径时将

Path视为完整的虚拟路径。若

“路径”

不是以斜杠开始,则

MapPath方法返回同.asp文件中已有的路径相对的路径。并且MapPath方法不检查返回的路径是否正确或在服务器上是否存在。

请看下面的例子(test4-11.asp)

<html><head><title>mappathexample1</title></head><body><%response.writeserver.mappath("/")&"<br>"response.writeserver.mappath("\")&"<br>"response.write

server.mappath("countall.txt")&"<br>"response.write

server.mappath("\countall.txt")&"<br>"response.write

server.mappath("/countall.txt")&"<br>"%><

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论