第5章ASP内置对象.ppt

上传人:sccc 文档编号:5826780 上传时间:2023-08-24 格式:PPT 页数:47 大小:161.51KB
返回 下载 相关 举报
第5章ASP内置对象.ppt_第1页
第1页 / 共47页
第5章ASP内置对象.ppt_第2页
第2页 / 共47页
第5章ASP内置对象.ppt_第3页
第3页 / 共47页
第5章ASP内置对象.ppt_第4页
第4页 / 共47页
第5章ASP内置对象.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《第5章ASP内置对象.ppt》由会员分享,可在线阅读,更多相关《第5章ASP内置对象.ppt(47页珍藏版)》请在三一办公上搜索。

1、第5章 ASP内置对象,本章要点,Response对象Request对象Server对象Session对象Application对象,ASP在其内部提供了几个常用的内置对象,即Response、Request、Server、Session、Application等5个对象。网站开发者可以在VB Script程序中嵌入这些对象,可以及时响应用户通过浏览器发送的HTTP请求并将客户所需要的信息传递给客户。同时又能很容易的收集用户通过浏览器上传的信息。除此而外,还可以利用这些对象来灵活控制服务器、浏览器之间的状态信息从而实现某些特殊场合的需求如实现对用户状态的维持、控制浏览器对网页的显示方式等,本章

2、将系统阐述这些对象的特性和用法。,5.1 Response对象,用于控制和管理由服务器发送到浏览器的信息(HTML普通文本、控制信息、Cookies),其功能主要通过该对象的属性、方法和Cookies集合来实现的。,5.1.1 Response对象属性,1Buffer属性:取值为True或False,可读写,用于指定ASP创建的输出是否缓存在IIS的缓冲区中,若该属性设置为True,将产生的输出存放在IIS缓冲区中,在整个页面的服务脚本执行完毕或调用Flush、End方法之后,才一次性将其发送给客户端浏览器。若该属性设置为False,则服务器在处理过程中不缓存输出而是直接将输出发送到客户端浏览

3、器。请观察下列程序分别将Buffer属性设置为True和False后网页的显示方式。,2ContentType属性:字符型,可读写,指定服务器响应的HTTP内容类型,告知客户端将要传输的文件类型,默认值为“text/html”,3CharSet属性:字符型,可读写。服务器响应时,在创建的HTTP Content-Type报头中添加的字符集名称,如简体中文为“gb2312”。其设置方法为:Response.CharSet=“gb2312”该语句相当于,4Expires属性:数值型,可读写。指明页面有效的时间长度,以分钟为单位。在有效期内用户请求相同的页面,将直接读取缓冲区中的内容;超过有效期的页

4、面,即网页过期,缓冲区失效,网页会自动从服务器重新读取该页面的内容并显示。对于要求信息即时传递的网页,或安全性要求较高的页面,可设置该属性的值为0,让其立即过期,使网页每次都必须从服务器上重新读取,以保证所得到的是最新的网页。,5IsClientConnected属性:布尔型,只读。返回客户是否仍然连接和下载页面的状态标志。如果用户断开连接或停止下载,我们就不用再浪费服务器的资源创建网页,因为缓冲区内容将被IIS丢弃。所以,对那些需要大量时间计算或资源使用较多的网页来说,值得在每一阶段都检查游览者是否已离线。,6Status属性:字符型,可读写。该属性用于传递服务器状态,客户端浏览器使用该信息

5、确定服务器是如何处理请求的,通常由服务器自动设置,用户也可主动设置,以模拟错误的发生来限定一个HTTP响应的状态码。该属性的设置,必须在其他任何输出页面内容之前,否则将出错。,5.1.2 Response对象方法,1AddHeader方法:方法可向 HTTP 响应添加一个新的 HTTP 报头和值。一旦头部被添加,就无法删除。在 IIS 4.0 中,您调用此方法需要在任何的输出被送往浏览器之前。在 IIS 5.0 中,您可以在脚本中的任何点调用 AddHeader 方法,只要它先于对 response.Flush 方法的调用。其语法:response.AddHeader name,value,2

6、Write方法:将指定的数据写入到当前的HTTP响应流中。常用该方法实现由服务期向客户端浏览器输出内容,其输出的内容可以包括文本、HTML标记符和脚本。该方法使用最多,其作用是将指定的表达式的值写到当前的HTTP网叶上输出。例如:返回主页”%,3BinaryWrite方法:将指定的数据写入到当前的HTTP响应流中,而不进行字符转换。常用于从数据库中向客户端输出二进制数据,如图像或声音文件等。4Redirect方法:使用户能够从一个ASP页面转到另一个页面。当调用Response.Redirect方法来重新定向新的页面时,实际上发送了一个特殊的HTTP报头,客户端浏览器读到此报头信息后,将按指定

7、的URL载入一个新的页面。,5Flush方法:用于立即发送缓存区中的输出,若Response.Buffer不为true,会导致输出错误。6End 方法:该方法可使Web服务器停止处理脚本并返回当前的处理结果,如果此时Response.Buffer为true,可调用Response.End可将缓存输出,而Response.End语句后面的内容将不在输出,,7clear 方法:用语清除缓冲区中的所用的HTML输出的正文,但不清楚标题,当Response.Buffer设为true时,clear方法使用时才不会出错。该方法可处理错误情况。,5.1.3 Response的Cookies集合,Cookie

8、作为一种标记,由Web服务器嵌入客户端浏览器,以便标识用户或存储与用户相关的信息。下次同一浏览器请求网页时,将自动向Web服务器发送收到的Cookie。Web服务器接收到Cookie后,对其进行修改后可重新写回到客户端的浏览器。利用Response和Request对象的Cookies集合,可实现设置或获取Cookie的值。其中使用Response.Cookies的语法格式如下:Response.Cookies.(Cookies_Name)(Key)|Attribute=Cookies_Value,各个参数的意义如下:参数Cookies_Name:表示Cookie的名称。可选参数Key:为Coo

9、kie指定关键字。通过给Cookie指定关键字,可以使Cookie拥有多个值,这种Cookie称为带索引的Cookie,相当于数组元素的下标。可选参数Attribute:代表Cookie集合对象的属性,相关参数如表所示。,5.2 Request对象,Request对象将客户端数据保存到内置的几个集合中,通过访问这些集合,便可获得表单所提交的数据、Cookie以及服务器环境变量的值、客户端有关信息等。,5.2.1 Request 对象的集合,Request对象主要用于获取客户端数据,其功能主要通过内置的5个集合来实现,这5个集合的名称以及功能如表所示。Request 对象的集合可采用如下格式进行

10、访问:Request.集合名(“成员名”),例如:Request.Form(“username”)该语句将在Form集合中查询一个叫username的成员,并返回其值。,5.2.2 Form集合,该集合对象用于获取Post方法所提交的表单数据,其用法为:Retvalue=Request.Form|(“Obj_Name”)|(Index)|.Count各个参数的意义如下:Form:指明是Form集合,其成员是表单所提交的界面对象Obj_Name:表单控件的名称Index:数字序列号Count:计数,5.2.3 QueryString集合,该集合用于获得Get方法所提交的表单数据,其用法与Form

11、集合相同,具体格式为:Retdata=Request.QueryString(“Obj_Name”)|(Index)|.CountQueryString集合可获得指定界面对象提交的数据,数据值的传递可用两种不同方式来进行。1通过直接在网址之后添加“?变量名1=值1&变量名2=值2”格式添加参数,可实现向网页传递值,在网页中,利用Request.QueryString(“Obj_Name”)的形式,即可获得指定变量所传递的值。2表单中运用Get方法提交数据,该方法仅适合于提交数据量少的场合。,5.2.4 Cookies集合,Request对象的Cookies集合用于获取指定Cookie的值,其用

12、法为:variablename=Request.Cookies(name)(key)|.attribute其参数含义与Response.Cookies集合中的相关参数一致,,5.2.5 ServerVariables集合,Request.ServerVariables 集合中记录了服务器与客户端的环境信息如:浏览器信息、客户端的IP地址等。利用这些信息可以控制浏览器对服务器的访问以及服务器对浏览器的响应。它主要是通过HTTP头信息来进行传输。其用法是:Retvalue=Request.ServerVariables(“环境变量名”),5.3 Session对象,HTTP协议是无联系或状态的协议

13、,用户连接一个Web服务器,请求一个页面,接受一个页面然后脱离,所有请求被看作是唯一和独立的连接,与在它之前的连接无任何关系。当用户从一个页面跳转到另一个页面时,系统无法跟踪其会话状态,变量的最大作用域就是页面范围。这就造成在一个页面中生成的状态值,当转到另一个页面时将会消失。为了解决这个问题,ASP通过服务器为每位新用户创建一个新的 Session 对象来实现。该对象用SessionID属性来标识。新会话开始时,服务器将产生的SessionID作为Cookie存储到用户的浏览器中作为会话标记,以后当用户请求页面时,浏览器会发送SessionID给服务器,用来识别会话。Session 对象在其

14、集合中可以存储关于某个用户会话的信息,这些信息通常是 name、id 以及参数等。存储在 session 对象中的变量掌握着单一用户在某次会话中的信息,同时这些信息在会话生命期内对于该站点下的所有页面都是可用的,而不会随着页面的跳转而消失。,5.3.1 利用Session对象存储变量,利用Session对象存储普通变量或对象变量,可创建出具有Session(会话)级作用域的变量,该种变量在当前的会话生命期内,对于当前用户所请求的每个页面均有效,对于其他用户则无效,相当于用户级的变量,其创建方法为:Session(“变量名”)例如,若要创建一个Session级的变量passflag,并赋值为1,

15、则创建方法为:Session(“passflag”)=1,5.3.2 Session对象的集合,5.3.3 Session对象的属性,1CodePage:整形可读写。定义用于在浏览器中显示页内容的代码页。代码页是字符集的数字值,不同的语言使用不同的代码页。例如简体中文的代码页为936。,2SessionID:长整形只读。返回这个会话的会话标识符,创建会话时,为每个用户返回一个唯一的 Sessionid。此 Sessionid 由服务器通过复杂运算产生的一组随机数值,与当前服务器内的其它会话Sessionid不会重复。新会话开始时,服务器将产生的SessionID作为Cookie存储到用户的浏览

16、器中作为会话标记,以后用户请求页面时,浏览器会发送SessionID给服务器,用来识别会话。若要输出当前会话的标识符,则实现的语句是:,3、Timeout:整形可读写。以分钟为单位定义Session会话过期的时间期限。若用户在该时间内,没有刷新或请求页面,则结束当前会话。会话超时的时限可在IIS服务器中设置,其默认值为20分钟。也可在页面中根据需要,利用该属性来设置。会话过期的时间设置太长,可能会导致打开的会话太多,从而增大服务器内存资源的开销,对于高访问率的站点,应设置较短的时间期限较好。例如,若要设置会话超时的时间为5分钟,则设置语句为:,5.3.4 Session对象的方法,1Aband

17、on方法:用于结束当前会话。其用法为:在会话过期之前,调用该方法会主动结束当前会话。2Contents.Remove方法:从 Contents 集合中删除一个项目,其用法为:Session.Contents.Remove(name|index)3Contents.RemoveAll方法:从 Contents 集合中删除全部项目,其用法为:,5.3.5 Session对象的事件,Session对象有两个非常重要的事件,它们是OnStart和OnEnd,其触发条件为:1Session_OnEnd:事件在会话结束时发生(会话被放弃或超时的时候)。此事件过程放置在 Global.asa 文件中。2Se

18、ssion_OnStart:事件在服务器创建新会话时发生。此事件过程放置在 Global.asa 文件中。,5.4 Application对象,ASP提供了一个Application对象,它可以在Web应用程序的所有用户之间共享信息,并在服务器运行期间持久保存数据。Application 对象掌握的信息会被应用程序中的很多页面使用(比如数据库连接信息)。这就意味我们可以从任意页面访问这些信息。也意味着你可以在一个页面上改变这些信息,随后这些改变会自动地反映到所有的页面中。,5.4.1 利用Application对象存储变量,Application对象的用法与Session基本相同,利用Appl

19、ication对象所创建的变量,可以在整个应用中被所有用户共享和访问。一个用户修改或设置了该类变量的值后,对于其他所有用户,也是可见的。从而可见,利用Application对象所创建的变量,具有最大的作用域,有时也称为Application(应用程序)级变量,该类变量的创建方法为:Application(“变量名”),5.4.2 Application对象的集合,5.4.3 Application对象的方法,5.4.4 Application对象的事件,1Application_OnStart 事件Application_OnStart 事件发生在第一个新的会话创建之前(当 Applicati

20、on 对象第一次被引用时)。此事件放置在 Global.asa 文件中。2Application_OnEnd 事件Application_OnEnd 事件发生在应用程序结束时(当 web 服务器停止运行时)。,5.5 Server对象,ASP Server 对象的作用是访问有关服务器的属性和方法。可用于服务器端的控制和管理。利用Server对象提供的CreateObject方法,可实现在服务器上创建对象的实例,从而大大增强和扩充ASP的功能。,5.5.1 Server对象的属性,1ScriptTimeout:设置或返回在一段脚本终止前它所能运行时间(秒)的最大值。可在IIS服务器中设置,其默认

21、值为90秒,也可在ASP页面中通过该属性来设置或更改,其设置方法为:Server.ScriptTimeOut=时间值设置的时间以秒为单位,该语句应放在页面的最开头部分。例如,若要设置ASP页面的最大执行时间为50秒,则设置语句为:,5.5.2 Server对象的方法,1CreateObject方法:该方法用于在服务器上创建一个已注册对象的实例,其用法为:Set objvar=Server.CreateObject(ProgID)该语句创建指定对象的实例,然后利用Set语句,将实例对象保存到objvar变量中,以后objvar就可代表该实例对象。在VBScript中,将一个对象赋给一个变量,必须

22、用Set语句来实现。ProgID代表要实例化的对象的类或类型。ProgID具有“appname.objecttype”格式特点,例如,文件系统对象的ProgID为Scripting.FileSytemObject;数据库的链接对象的ProgID为ADODB.Connection。,2MapPath方法:该方法用于将虚拟路径转换为真实的物理路径。其用法为:truepath=Server.MapPath(virtualPath)将virtualPath映射为物理路径的相对路径或绝对路径。如果该参数以/或 开头,则truepath返回完整的虚拟路径。如果该参数不以/或 开头,则truepath返回相

23、对于正在被处理的.asp 文件的路径。,3Execute方法:从另外一个 ASP 文件中执行 ASP 文件。在被调用的.asp 文件执行完毕后,控制权会返回原始的.asp 文件。,4Transfer方法:把一个 ASP 文件中创建的所有状态信息(所有 application/session 变量以及所有 request 集合中的项目)发送(传输)到另一个 ASP 文件中。与Execute方法不同的是当第二个 ASP 完成任何时,它不会返回到第一个 ASP 页面。Transfer 方法是 Response.Redirect 的一个高效的替代方案。重定向强制 Web 服务器处理额外的请求,而 Server.Transfer 在服务器上向另外的 ASP 页面传输执行,避免了额外的周折。利用Transfer重定向到新页面后,在浏览器地地址栏中,显示的仍然是原来页面的地址,利用这一点,可在用户不知的情况下,将网页重定向到另一个页面。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号