《ASP教程第4章ASP内置对象.ppt》由会员分享,可在线阅读,更多相关《ASP教程第4章ASP内置对象.ppt(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第4 4章章 ASP ASP 内置对象内置对象4.1 ASP内置对象简介4.2 Response对象4.3 Request对象4.4 Server对象4.5 Application对象4.6 Session对象4.7 Global.asa文件4.1 ASP内置对象简介nASP提提供供的的对对象象以以及及组组件件都都可可以以用用来来实实现现和和扩扩展展ASP应应用用程程序序的的功功能能。每每个个对对象象都都有有其其各各自自的的属属性性、集集合合和和方方法法,并并且且可可以以响响应应有有关关事事件件。用用户户不不必必了了解解对对象象内内部部复复杂杂的的数数据据传传递递与与执执行行机机制制,而而只
2、只需需在在程程序序中中设设置置或或调调用用某某个个对对象象特特定定的的属属性性、集集合合或或方方法法,即即可可实实现现该该对对象所提供的特定功能。象所提供的特定功能。n对对象象名名描描述述Response用来传输数据到客户端浏览器Request用来读取客户端浏览器的数据Server用来提供某些Web服务器端的属性与方法Application用来存储当前应用程序所有使用者共用的数据Session用来存储当前应用程序单个使用者专用的数据ObjectContext用来提交或中止由ASP脚本启动的事务ASPError用来捕捉ASP运行错误并向用户返回详细的信息描述nASP的内置对象及其功能说明:的内置
3、对象及其功能说明:4.2 Response对象n4.2.1Response对象概述对象概述nResponse对对象象的的作作用用是是向向浏浏览览器器输输出出文文本本、数数据据和和cookies,并并可可重重定定向向网网页页,或用来控制向浏览器传送网页的动作。或用来控制向浏览器传送网页的动作。n属属性性描描述述Buffer标明输出内容是否被缓冲标明输出内容是否被缓冲CacheControl设置代理服务器是否将输出内容放进缓冲区设置代理服务器是否将输出内容放进缓冲区CharSet将将字字符符集集的的名名称称附附加加到到内内容容类类型型(Content-Type)标头标头ContentType设置服
4、务器输出的设置服务器输出的HTTP内容类型内容类型Expires设设置置放放进进浏浏览览器器缓缓冲冲区区的的网网页页逾逾期期时时间间的的长长短短(以分为单位)(以分为单位)n1Response对象的属性对象的属性2Response对象的方法对象的方法方方法法描描述述Write输出数据到客户端浏览器输出数据到客户端浏览器Redirect重新定向浏览器的重新定向浏览器的URL地址地址End结束向浏览器的数据输出结束向浏览器的数据输出Clear清除输出缓冲器中的数据清除输出缓冲器中的数据Flush将缓冲器中已有的数据输出将缓冲器中已有的数据输出4.2.2Response.Write方法nRespon
5、se.Write方方法法是是Response对对象象最最常常用的方法,用来向浏览器动态输出数据。用的方法,用来向浏览器动态输出数据。n示例示例1:nnnnnnn今天是:今天是:nnn图4-1Response.Write方法使用举例示例示例2:今天是:今天是:4.2.3Response.Redirect方法nResponse.Redirect方方法法可可用用来来将将客客户端的浏览器重新定向到一个新的网页。户端的浏览器重新定向到一个新的网页。n格式:格式:nresponse.redirectURL4.2.4Response对象的其他方法n1Response.End方法方法n2Response.Cl
6、ear方法方法n3Response.AppendToLog方法方法n4Response.Flush方法方法4.2.5Response对象的属性n1Response.Buffer属性属性n2Response.CacheControl属性属性n3Response.IsClientConnected属性属性n4Response.Expires属性:属性:4.2.6Response.Cookies集合nCookies是是在在HTTP协协议议下下通通过过Web服服务务器器存存储储在在客客户户端端硬硬盘盘上上的的一一个个小小型型的的文文本本文文件件。是是服服务务器器或或脚脚本本程程序序用用来来保保留留客客
7、户户端端信信息息的的一一种种方方法法。在在Cookies中中包包含含了了客客户户的的有有关关信信息息,如如身身份份识识别别号号码码、密密码码、客客户户在在Web站站点点上上的的操操作作以以及及客客户户访访问问该该站站点点的的次次数数等等。当当客客户户第第一一次次连连接接到到某某个个Web站站点点时时,Web服服务务器器可可以以利利用用Response对对象象的的Cookies集集合合将将有有关关信信息息写写入入到到客客户户端端磁磁盘盘的的Cookies文文件件中中,而而当当这这个个客客户户再再次次连连接接到到该该Web站站点点时时,便便可可以以利利用用Request对对象象的的Cookies集
8、集合来取得这个保存在客户端合来取得这个保存在客户端Cookies中的信息。中的信息。n设置设置Cookies的语法格式:的语法格式:nResponse.Cookies(cookiename)(key)|.attribute=value4.3 Request对象nRequest对对象象用用来来读读取取客客户户端端的的表表单单信信息息或或其其他他传传送送到到服服务务器器端端的的信信息息,并并可可在在此此基基础础上上实实现现将将客客户户数数据据存存入入Web数数据据库库或或对对其其作作进进一一步步的的处处理理。Request对象的属性、方法和集合如下表所示。对象的属性、方法和集合如下表所示。名名称称
9、描描述述TotalBytes属性属性返返回回客客户户端端在在请请求求文文本本中中发发送送的的字字节节总数总数BinaryRead方法方法以以二二进进制制方方式式读读取取客客户户端端浏浏览览器器所所传传送的数据送的数据Form集合集合包包含含客客户户端端浏浏览览器器以以POST方方式式递递交交的的各项数据各项数据QueryString集合集合包包含含客客户户端端浏浏览览器器以以GET方方式式递递交交的的各项数据各项数据ClientCertificate集合集合包含客户端浏览器返回的各项认证值包含客户端浏览器返回的各项认证值Cookies集合集合包包含含客客户户端端浏浏览览器器返返回回的的Cook
10、ies中中的的各项数据各项数据4.3.1Request对象的属性与方法n1Request.TotalBytes属性属性nRequest对对象象只只有有一一个个Request.TotalBytes属性,表示从客户端所接受数据的字节数。属性,表示从客户端所接受数据的字节数。n2Request.BinaryRead方法方法nRequest对对象象只只有有一一个个Request.BinaryRead方方法法。是是以以二二进进制制方方式式读读取取客客户户端端浏浏览览器器采采用用POST方方式式所所传传送送来来的的数数据据,并并将将所所取取得得的的数数据保存在指定的数组中。据保存在指定的数组中。4.3.2
11、Request.Form集合n 利利用用Request对对象象的的Form集集合合可可以以取取得得客客户户端端浏浏览览器器以以POST方方式式递递交交的的表表单单中的各项数据,其语法格式为:中的各项数据,其语法格式为:nRequest.Form(element)(index)|.Countn1表单创建示例表单创建示例输入客户资料输入客户资料请在此输入客户资料:请在此输入客户资料:您的姓名:您的姓名:您的年龄:您的年龄:20岁以下岁以下20岁至岁至30岁岁30岁至岁至40岁岁40岁至岁至50岁岁50岁以上岁以上联系电话:联系电话: 2接受与处理表单数据示例接受与处理表单数据示例%Dim
12、name,age,phonename=Request.Form(name)age=Request.Form(age)phone=Request.Form(phone)Ifname=EmptyOrphone=EmptyThenResponse.Write您的个人信息没填写完毕,请返回重新填写!您的个人信息没填写完毕,请返回重新填写!Response.EndEndIfResponse.Write&您提交的信息如下:您提交的信息如下:&Response.Write您的姓名是:您的姓名是:&name&Response.Write您的年龄是:您的年龄是:&age&Response.Write您的联系电话
13、是:您的联系电话是:&phone&%4.3.3Request.QueryString集合nRequest对对象象的的QueryString集集合合同同样样可可以以包包含含传传送送到到Web服服务务器器的的各各个个表表单单值值,这这些些值值在在URL请请求求中中表表现现为为若若干干项项用用问问号号连连接接起起来来的的一一串串文文本本。其其语语法法格格式为:式为:nRequest.QueryString(variable)(index)|.Countnn1表单创建示例表单创建示例n输入客户资料输入客户资料nnn请在此输入客户资料:请在此输入客户资料:n您的姓名:您的姓名:n您的年龄:您的年龄:n联
14、系电话:联系电话:nnn nn2接受与处理表单数据示例接受与处理表单数据示例%Dimname,age,phonename=Request.QueryString(name)age=Request.QueryString(age)phone=Request.QueryString(phone)Response.Writename&:您好!:您好!&Response.Write您今年您今年&age&岁岁&Response.Write您的联系电话是:您的联系电话是:&phone&IfRequest.QueryString(UserStatus)=NewThenResponse.Write这
15、是您第一次访问本网站!这是您第一次访问本网站!Endif%4.3.4Request.ServerVariables集合nRequest对对象象的的ServerVariables集集合合中中包包含含了了系系统统的的各各种种环环境境变变量量信信息息,以以及及随随HTTP请请求求和和响响应应一一起起传传递递的的HTTPHeaders信信息息。通通过过访访问问该该集集合合中中的的有有关关元元素素,编编程程者者可可以以获获取取关关于于浏浏览览器器和和服服务器的各种信息,以及其他重要的数据。务器的各种信息,以及其他重要的数据。n4.3.5Request.Cookies集合nCookies是是 附附 属属
16、于于 Request对对 象象 和和Response对对 象象 的的 数数 据据 集集 合合。利利 用用Response对对象象的的Cookies集集合合可可将将有有关关信信息息作作为为Cookies写写入入客客户户端端的的磁磁盘盘;而而利利用用Request对对象象的的Cookies集集合合则则可可读读取取存存放在客户端磁盘上的放在客户端磁盘上的Cookies文件信息。文件信息。方法与属性方法与属性功能说明功能说明CreateObject方法方法创建一个创建一个ActiveX对象(服务器组件的对象实例)对象(服务器组件的对象实例)MapPath方法方法把相对路径或虚拟路径转换为服务器的物理路
17、径把相对路径或虚拟路径转换为服务器的物理路径Execute方法方法执行指定的执行指定的ASP程序程序Transfer方法方法将控制权转移至指定的将控制权转移至指定的ASP程序程序HTMLEncode方法方法对特殊的字符串进行对特殊的字符串进行HTML编码编码URLEncode方法方法对对指指定定的的URL字字符符串串编编码码,附附加加在在QueryString中中返回服务器返回服务器ScriptTimeout属性属性标标明明一一个个脚脚本本程程序序可可以以运运行行的的时时间间期期限限,默默认认为为90秒秒4.4.1Server.CreateObject方法nServer.CreateObjec
18、t方方法法是是Server对对象象最最为为重重要要的的方方法法之之一一,可可用用来来创创建建已已经经注注册册到到服服务务器器上上的的某某个个ActiveX组组件件的的实实例例,从从而而实实现现一一些些仅仅靠靠脚脚本本语语句句难难以以实实现现的的功功能能。例例如如对对数数据据库库的的连连接接和和访访问问、对对文文件件的的存存取取、电电子子邮邮件件的的发发送送和和活活动动广广告告的的显显示示等等。正正是是因因为为有有了了这这些些ActiveX组组件件功功能能的的扩扩展展才才使使得得ASP具具有有强强大的生命力。大的生命力。n格式:格式:nSet对象变量名对象变量名=Server.CreateObj
19、ect(ActiveX组件名组件名)n示例:示例:n4.4Server对象4.4.2Server.MapPath方法nServer.MapPath方方法法的的作作用用是是把把所所指指定定的的相对路径或者虚拟路径转换为物理路径。相对路径或者虚拟路径转换为物理路径。n示例:示例:nn4.4.3Server.Execute方法nServer.Execute方方法法可可以以在在ASP程程序序代代码码中中调调用用另另一一个个指指定定的的ASP程程序序,并并在在执执行行完完毕毕这这个个被被调调用用的的程程序序之之后后返返回回到原来的程序继续执行。到原来的程序继续执行。4.4.4Server.Transfe
20、r方法nServer.Transfer方方法法是是将将ASP程程序序的的当当前前控控制制权权转转移移至至另另一一个个指指定定的的ASP程程序序,并并且且即即使使转转移移之之后后的的程程序序已已经经执执行行完毕,控制权也不再返回原来的程序。完毕,控制权也不再返回原来的程序。4.4.5Server.HTMLEncode方法nServer.HTMLEncode方方法法的的作作用用是是对对特特定定HTML标标记记进进行行编编码码。假假如如我我们们需需要要原原样样输输出出含含有有HTML标标记记符符的的字字符符串串,那那么么就就需需要要对对这这个个HTML字字符符串串进进行行编编码码,否否则则,字字符符
21、串串中中的的HTML标标记记符会被浏览器解释,而不能原样输出。符会被浏览器解释,而不能原样输出。4.4.6Server.URLEncode方法nServer.URLEncode方方法法是是将将字字符符串串按按照照URL地地址址编编码码规规则则进进行行编编码码。在在HTTP协协议议中中,诸诸如如空空格格和和标标点点符符号号等等符符号号不不能能被被作作为为URL信信息息形形式式正正确确发发送送。如如果果在在请请求求页页面面的的URL地地址址中中或或者者在在发发送送的的查查询询字字符符串串中中存存在在着着不不符符合合URL编编码码 规规 则则 的的 字字 符符,就就 必必 须须 首首 先先 使使 用
22、用URLEncode方法对其进行编码。方法对其进行编码。4.5 Application对象n4.5.1application对象概述对象概述n 使使用用application对对象象,能能够够使使得得访访问问同同一一个个ASP应应用用程程序序的的多多个个客客户户端端浏浏览览器器之之间间实实现现信信息息共共享享,因因为为无无论论多多少少个个客客户户同同时时访访问问该该应应用用程程序序,都都只只会会产产生生一一个个Application对对象象。通通常常可可以以把把共共享享的的数数据据变变量量存存储储在在application对对象象的的集集合合中中,这这些些变变量量可可以以在在站站点点应应用用程
23、程序序的的所所有有页页面面上上被被所所有有客客户户端端使使用用。Application对对象的集合、方法和事件如下表所示。象的集合、方法和事件如下表所示。名名称称描描述述Contents集合集合包包含含所所有有通通过过脚脚本本命命令令添添加加到到应应用用程程序序中中的的数数据项据项StaticObjects集合集合包包含含所所有有通通过过标标记记添添加加到到应应用用程程序序中的对象中的对象Lock方法方法禁禁止止其其他他用用户户修修改改Application对对象象记记录录的的变变量量值值Unlock方法方法允允许许其其他他用用户户修修改改Application对对象象记记录录的的变变量量值值
24、Contents.Remove方法方法从从Contents集合中删除指定的变量值集合中删除指定的变量值Contents.RemoveAll方法方法删除删除Contents集合中所有的变量值集合中所有的变量值Application_OnStart事件事件建立建立Application对象时所触发的事件对象时所触发的事件Application_OnEnd事件事件结束结束Application对象时所触发的事件对象时所触发的事件4.5.2application对象的集合nApplication对象具有对象具有Contents和和StaticObjects两个集合。两个集合。Application.S
25、taticObjects集合包含了所有通过集合包含了所有通过标记添加到应用程序中的对象,而标记添加到应用程序中的对象,而常用的常用的Application.Contents集合则包含了用脚集合则包含了用脚本命令创建的各种简单变量、数组变量或对象本命令创建的各种简单变量、数组变量或对象变量。变量。4.5.3application对象的事件n1Application_OnStart事件事件nApplication_OnStart事事件件在在首首次次创创建建新新的的会会话话(即即Session_OnStart事事件件)之之前前被被触触发发。换换言言之之,当当Web服服务务器器启启动动运运行行并并接接
26、受受对对应应用用程程序序所所包包含含的的ASP文文件件进进行行请请求求时时就就将将触触发发此此事事件件。Application_OnStart事事件件被被触触发发时时所所运运行的脚本程序必须写在行的脚本程序必须写在Global.asa文件之中,文件之中,n该事件脚本的语法格式如下。该事件脚本的语法格式如下。nnnSubApplication_OnStartn程序块程序块nEndSubnn2Application_OnEnd事件事件nApplication_OnEnd事事件件在在应应用用程程序序退退出出时时或或者者服服务务被被终终止止时时被被触触发发。并并且且总总在在Session_OnEnd事
27、事件件之之后后发发生生。此此事事件件脚脚本本也也必必须须写写在在Global.asa文文件件之之中中,该该事事件件脚脚本本的的语法格式如下。语法格式如下。nnnSubApplication_OnEndn程序块程序块nEndSubn4.6 Session对象n4.6.1Session对象概述对象概述nSession对对象象用用来来为为每每个个客客户户存存储储独独立立的的数数据据或或特特定定客客户户的的信信息息,而而Application对对象象则则用用来来为为所所有有客客户户存存储储共共享享的的数数据据。如如果果当当前前有有若若干干个个客客户户连连线线到到某某一一个个站站点点,那那么么这这些些客
28、客户户除除了了共共享享一一个个Application对对象象之之外外,每每一一个个客客户户还还各各自自拥拥有有一一个个独独立立的的Session对对象象。使使用用Session对对象象可可以以为为每每个个客客户户保保存存指指定定的的数数据据。存存储储在在某某个个客客户户Session对对象象中中的的任任何何数数据据都都可可以以在在该该客客户户调调用用下下一一个个页页面面时时取取得得。在在用用户户与与网网站站交交互互的的整整个个会会话话期期间间内内,Session对对象象中中的的变变量量值值都都不不会会丢丢失失,直直到到会会话话超超时时或或访访问问者者离离开开时时为为止止,该该Session对对
29、象象才才被被释释放放。Session对对象的属性、集合、方法和事件如下表所示。象的属性、集合、方法和事件如下表所示。名名称称描描述述Contents集合集合包包含含所所有有通通过过脚脚本本命命令令添添加加到到应应用用程程序序中中的数据项的数据项StaticObjects集合集合包包含含所所有有通通过过标标记记添添加加到到应应用用程序中的对象程序中的对象SessionID属性属性用来表识每一个用来表识每一个Session对象对象TimeOut属性属性用用来来设设置置Session会会话话的的超超时时时时间间(以以分分钟钟表示)表示)Abandon方法方法强强行行删删除除当当前前会会话话的的Ses
30、sion对对象象,释释放放系系统资源统资源Session_OnStart事件事件建立建立Session对象时所激发的事件对象时所激发的事件Session_OnEnd事件事件结束结束Session对象时所激发的事件对象时所激发的事件4.6.2Session对象的集合nSession对象具有对象具有Contents和和StaticObjects两个集合。两个集合。Session.StaticObjects集合包含了所有通集合包含了所有通过过标记添加到当前会话中的标记添加到当前会话中的对象,而常用的对象,而常用的Session.Contents集合则集合则包含了用脚本命令在当前会话中创建的包含了用脚
31、本命令在当前会话中创建的各种变量。各种变量。4.6.3Session对象的事件n1Session_OnStart事件事件nSession_OnStart事事件件在在服服务务器器创创建建新新会会话话时时引引发发。服服务务器器在在执执行行客客户户请请求求的的页页面面之之前前将将首首先先处处理理该该事事件件对对应应的的程程序序代代码码,所所以以可可在在该该事事件件代代码码中中设设置置某某个个客客户户将将于于会会话话期期间间在在多多个个页页面面之之间间共共享的变量。享的变量。n2Session_OnEnd事件事件nSession_OnEnd事事件件在在某某个个客客户户会会话话超超时时或或者者该该客客户
32、户离离开开站站点点时时被被触触发发。相相应应的的Session_OnEnd事事件件处处理理程程序序可可用用来来对对一一些些重重要要的的个个人人信信息息作作适适当当处处理理,比如将这些信息及时存入磁盘中。比如将这些信息及时存入磁盘中。nSession _OnStart和和Session _OnEnd事件脚本示例:事件脚本示例:SubSession_OnStartResponse.AppendToLogSessionID&time()EndSubSubSession_OnEndResponse.AppendToLogSessionID&time()EndSub4.7 Global.asa文件n 在
33、在编编写写ASP应应用用程程序序时时,Global.asa文文件件其其实实是是一一个个可可选选文文件件,程程序序设设计计者者可可以以在在该该文文件件中中为为Application对对象象和和Session对对象象设设置置特特定定的的的的事事件件脚脚本本。Global.asa文文件件的的内内容容不不是是用用来来显显示示给给用用户户的的,而而是是用用来来存存储储由由应应用用程程序序全全局局使使用用的的事事件件脚脚本本和和对对象象的的。这这个个文文件件的的名名称称必必须须是是Global.asa,且且必必须须存存放放在在网网站站应应用用程程序序的的根根目目录录中中。每每个个应应用用程程序序只只能能有有一一个个Global.asa文件。文件。n