动态网站第4章-ASP内置对象课件.ppt

上传人(卖家):三亚风情 文档编号:3438858 上传时间:2022-08-31 格式:PPT 页数:122 大小:795KB
下载 相关 举报
动态网站第4章-ASP内置对象课件.ppt_第1页
第1页 / 共122页
动态网站第4章-ASP内置对象课件.ppt_第2页
第2页 / 共122页
动态网站第4章-ASP内置对象课件.ppt_第3页
第3页 / 共122页
动态网站第4章-ASP内置对象课件.ppt_第4页
第4页 / 共122页
动态网站第4章-ASP内置对象课件.ppt_第5页
第5页 / 共122页
点击查看更多>>
资源描述

1、第4章 ASP内置对象4.1 ASP内置对象概述 内置对象可以直接被使用,不需要先创建一个实例。目前的 ASP 版本总共提供了六个内建对象,(1)Response对象:将服务器端的信息发送回浏览器。(2)Request对象:服务器端用来获取客户端的信息。(3)Application对象:存储一个应用程序中所有用户共享的信息。(4)Session对象:存储一个特定的用户在整个会话期间所需的信息。(5)Server对象:提供许多服务器端的应用函数。(6)OjbectContext对象。每个对象提供了一些方法和属性,可以通过这些方法和属性实现页面编程。4.2 Response对象4.2.1 Resp

2、onse对象概述4.2.2 Response.Cookies数据集合4.2.3 Response对象的属性4.2.4 Response.write方法4.2.5 Response.BinaryWrite方法4.2.6 Response.Redirect方法4.2.7 Response.End方法4.2.8 Response对象的其他方法4.2.1 Response对象概述 Response对象是ASP内置对象中直接对客户端发送数据的对象。Response对象的语法如下:Response.collection|property|method参数说明:1.collection:Response对象

3、的数据集合。2.property:Response对象的属性。3.method:Response对象的方法。4.2.1 Response对象概述 Response对象与一个HTTP响应对应,通过设置其属性和方法可以控制如何将服务器端的数据发送到客户端浏览器。Response对象的成员有:数据集合Cookies 属性:Buffer,CacheControl,Status,ContentType,Charset,Expires,ExpiresAbsolute,PICS,IsClientConnected,方法:Write,End,Redirect,Clear,Flush,BinaryWrite,A

4、ddHeader,AppendToLog4.2.2 Response.Cookies数据集合 Cookies实际上是一个字符串或者一个标志。可以使用Cookies在各个不同的ASP页面间传递变量。Cookie必须设置有效期,否则为临时会话,关闭浏览器后就失效了。利用Cookies可存储与用户相关的信息。利用Response和Request对象的Cookies集合,可实现向客户端设置或获得Cookies的值。4.2.2 Response.Cookies数据集合 利用Response对象的Cookies集合,设置Cookies的语法为:Response.Cookies(CookieName)(Ke

5、y)|.Attribute=value参数说明:1.CookieName:代表所要设置的Cookie的名字,由用户自行命名。2.Key:为Cookie指定关键字。通过给Cookie指定关键字,可使Cookie拥有多个值,这种Cookie称为带索引的Cookie。3.Attribute:该参数代表Cookies集合对象的属性,其最常用的属性主要是Expires(用于设置Cookies的过期日期)、Domain(用于设置Cookies的有效作用域名范围)。4.2.2 Response.Cookies数据集合 使用Response对象的Cookies数据集合设置Cookie时,如果该Cookie不存

6、在,那么ASP会自动建立一个;如果存在,那么该值会覆盖已有数据;如果要使一个Cookie立即消失,可以设置Cookie的有效日期为过去的日期。如果在设置一个Cookie值后,又给它指定了一个关键字,先前的值将被删除;反之,把一个包含关键字的Cookie重新赋值,Cookie也将破坏先前设置的值,而应用最后的cookie值。4.2.2 Response.Cookies数据集合 例1:设置一个名为VisitNum的Cookie,用以储存该用户访问本网站的次数,并初始化其值为1。该语句必须位于网页的标记之前。若指定的Cookies己经存在,则将重写Cookies的值,若不存在,则新创建该Cookie

7、s。利用该方法所设置的Cookies仅在当前会话中有效,若要在用户已经终止或重新启动浏览器之后仍有效,就必须强制浏览器将Cookie保存到用户的硬盘上,4.2.2 Response.Cookies数据集合 例2:设置名为VisitNum的Cookies在3天后过期。4.2.2 Response.Cookies数据集合 例3:试用Cookie保存用户访问网站的次数和最近一次访问的日期和时间,并要求该Cookie在一周后过期。1.带索引的Cookies的实现方法为:4.2.2 Response.Cookies数据集合 例3:试用Cookie保存用户访问网站的次数和最近一次访问的日期和时间,并要求该

8、Cookie在一周后过期。2.用两个不同Cookie的实现方法(不带索引):4.2.2 Response.Cookies数据集合 案例4-01:显示用户第几次登录本站1.将cookie写入访问者的计算机(使用 Response 命令)2.从访问者的计算机中取回cookie(使用 Request 命令)3.用Response.Cookies(vistor).Expires=Date+365 设置cookies的过期时间 案例代码4.2.2 Response.Cookies数据集合 cookie也有一些不足:1.可以设置是否允许或者接受cookie(IE浏览器中“工具”-“Internet选项.”

9、-“安全”-“自定义级别”-“Cookie的使用”;Netscape浏览器中“工具”-“Cookie管理器”-“管理贮存的Cookie”即可),因此这就不能保证随时能使用cookie。2.访问者可能有意或者无意地删除cookie。当访问者的机器遇到“蓝屏”死机时,或者重新格式化硬盘、安装系统后,原来保存的cookie将全部丢失。3.有一些最初始的浏览器并不能支持cookie。4.2.3 Response对象的属性1.Buffer属性 Buffer属性指定ASP页面所创建的输出是否保存在IIS的缓冲区中,启用后凡是输出到客户端的信息都暂时存入缓冲区,直到整个ASP执行结束后或者调用了Respon

10、se对象的Flush或者End方法后,才将响应发送给客户端的浏览器。必须在任何信息发向客户端浏览器之前设置,否则是无效的,并且会导致一个错误。4.2.3 Response对象的属性语法:Respinse.Buffer=True/False1.Buffer属性用来设置服务器端是否将页面先输出到缓冲区,取值为True或者False,默认值为False。2.True:表示服务器端先输出到缓冲区,然后再从缓冲区输出到客户端浏览器。3.False:表示不能输出到缓冲区,服务器直接将信息输出至客户端浏览器。在ASP 3.0中,默认情况下,缓冲区是打开的,而2.0中却是关闭的,可根据需要,利用Buffer属

11、性进行设置。4.2.3 Response对象的属性2.CacheControl 属性 默认情况下,ASP指示代理服务器不要高速缓存ASP页本身。通过Response对象的CacheControl属性设置Cache-Control头字段,可以允许代理服务器高速缓存特定的页面。在发送任何页之前,必须将HTTP头发送给浏览器或者代理服务器,因此应将Response对象的CacheControl属性置于所有HTML标记的前面。如果禁用了缓存,还可以设置Response对象的Buffer属性来缓存该页。4.2.3 Response对象的属性语法:Response.CacheControl=Cache_C

12、ontrol_HeaderCache_Control_Header:表示缓存存储器控制器控制标题,取值为Private或者Public。Private为默认值,表示只有私有缓存区才能缓存该页面,大多数代理服务器不能缓存具有这种设置的页面。当设置该属性为Public时,代理服务器可以缓存具有这种设置的页面。4.2.3 Response对象的属性3.ContentType属性用于指定服务器响应的HTTP内容类型。若未指定,则默认为“text/html”,若传送的是GIF格式的图形数据,则应设置其值为“image/gif”,若是JPG的图形格式,则应设置为“image/jpg”。设置该属性告诉了浏览

13、器所期望的内容是什么类型。4.2.3 Response对象的属性4.Charset属性 Charset属性用于设置网页所采用的字符集。设置该属性后,字符集名称将附加到HTTP Content-type的后面。对于简体中文,字符集应设置为“GB2312”,其设置方法为:说明:很多ASP编程人员容易忘掉设置这行语句,从而经常导至网页在运行的时候出现乱码,所以如果是简体中文的网页数据,最好在HTML内容输出之前指定如上代码。4.2.3 Response对象的属性5.Expires属性以分钟为单位,设置页面距离过期还有多少分钟,即设置该网页在客户端浏览器缓存中的存活时间。其设置方法为:Response

14、.Expires=页面存活时间 对于要求信息即时传送的网页,或安全性较高的网页,可设置该属性的值为0或负数,让其立即过期,使网页每次都必须从服务器上重新读取,以保证所得到的网页是服务器上最新的网页。但对于数据更新要求不是很及时,可以设置为一个稍长的时间,以减轻服务器负担。该属性必须放在所有HTTP内容输出之前。4.2.3 Response对象的属性6.ExpiresAbsolute属性 ExpiresAbsolute属性用来指定网页过期的日期和时间。在设置时,若未指定时间,则在所指定日期的午夜到期,若未指定日期,则在脚本运行当天的指定时间过期。设置方法:Response.ExpireAbsol

15、ute=#日期 时间#例如,设置页面的到期时间为2008年8月8日上午8点08分08秒,代码如下:如果ExpiresAbsolute属性在页面中被多次设置,则以最早到期的日期和时间为准。4.2.3 Response对象的属性7.Status属性 Status属性用于设置HTTP响应状态。可以被用来限定一个HTTP响应的状态码,用于指出页面的处理是错误还是成功。在调试过程和客户端返回有关错误消息时,可以设置Status属性给以提示。服务器返回的响应状态码由三位数字组成,它代表了服务器对当前请求的响应请况。例如:当访问(请求)一个并不存在的网页时,服务器会自动设置该属性的值为状态码404,浏览器收

16、到该状态码后,就会显示404状态码所对应的信息。4.2.3 Response对象的属性状态代码状态代码状状 态态说说 明明400400Bad RequestBad Request错误请求错误请求401401UnauthorizedUnauthorized未授权访问未授权访问403403ForbiddenForbidden禁止访问禁止访问404404Not FoundNot Found文件未找到文件未找到500500Internet Server ErroInternet Server Error r 内部服务器错误内部服务器错误503503Server unavailableServer un

17、available服务器无效服务器无效4.2.3 Response对象的属性 该属性的值通常由服务器自动设置,用户也可以自行设置,以模拟错误的发生。该属性的设置,必须在其它任何HTML输出之前,否则将出错,通常放在网页的开头部分设置,即之前。4.2.3 Response对象的属性8.IsClientConnected属性IsClientConnected属性用于返回客户是否仍然连接到服务器和加载页面。例如:4.2.4 Response.write方法 Write方法将指定的字符串写入到当前的HTTP响应流中。常用该方法实现由服务器向客户端浏览器输出内容,其输出的内容可以包括文本、HTML标记符

18、和脚本。Write方法与JavaScript及VBScript中的document.write()功能相近,但是必须了解其区别:Response是ASP的对象,输出的方式是从服务器端向客户端的浏览器输出。4.2.4 Response.write方法 response.write后面为所显示的信息,可以用括号包含,也可以直接书写(注意和response.write之间有空格)。书写的字符串信息或者HTML代码等,用引号包含;而ASP本身的函数或变量则不需要,直接用即可。并且无论字符串信息、HTML代码、函数还是变量之间进行连接都是采用&号(针对VBScript)。%response.write(

19、hello,world&)Randomizeresponse.write 任意数是&rnd()&%4.2.5 Response.BinaryWrite方法 BinaryWrite方法用于直接向客户端浏览器输出二进制数据,而不进行任何字符集的转换。常用于向客户端发送二进制数据,如图像或声音文件等。其用法为:Response.BinaryWrite data其中的data为要输出的数据。该方法通常与Request对象的TotalBytes属性一同使用。4.2.6 Response.Redirect方法 Redirect方法使浏览器立即重新定位到指定的URL地址,而不是将内容发送给用户,在功能上类似

20、于HTML的标记。该方法经常被用在根据客户的不同响应或为不同的客户指定不同的页面,或根据不同的情况指定不同的页面时。该方法是立即生效的,在其后的所有脚本都不执行。基本格式:Response.Redirect URL 例如,若num变量的值不是1,则返回到index.asp页面,实现代码为:4.2.7 Response.End方法 End方法会结束服务器对脚本的处理并将己处理结果传送给浏览器。若Buffer属性设置为True,还可以将缓冲区内容一并传送给浏览器。基本格式:Response.End()案例4-02:停止输出4.2.7 Response.End方法 停止输出 你好4.2.8 Resp

21、onse对象的其他方法1.Flush方法将缓冲区中的内容发送给浏览器。调用该方法时,Buffer属性必须设置为True,否则将出错。基本格式:Response.Flush4.2.8 Response对象的其他方法2.Clear方法Clear方法清除缓冲区中的所有 HTML 输出,但该方法只清除响应正文而不清除响应标题。只有Buffer属性设置为True时才能调用,否则将出错。基本格式:Response.Clear例如:4.2.8 Response对象的其他方法3.AppendToLog方法将指定的信息添加到IIS的日记文件中,添加的信息最多可为80个字符,其用法为:Response.Appen

22、dToLog 要添加的信息例如,若要将当前登录的日期和时间添加到日志文件中,则实现代码为:4.AddHeader方法向应答中添加一个新的HTTP头。其用法为:Response.AddHeader Name,Value Name为新HTTP头的名称,Value为该头变量的值。4.3 Request对象4.3.1 Request对象概述4.3.2 Request.Form数据集合4.3.3 Request.QueryString数据集合4.3.4 Request.ServerVariables集合4.3.5 Request.Cookies数据集合4.3.6 Request对象的属性与方法4.3.1

23、 Request对象概述 使用 Request 对象可以访问任何基于 HTTP 请求传递的所有信息,包括从 HTML 表单用 POST 方法或 GET 方法传递的参数、cookie 和用户认证。同时Request 对象也能够访问客户端发送给服务器端的二进制数据。Request对象的语法如下:Request.集合|属性|方法 (变量)其中变量是由字符串定义的变量参数,指定要从集合中检索的项目或者作为方法、属性的输入。4.3.1 Request对象概述成成 员员描描 述述数据集合Form读取HTML表单域控件的值,即读取客户浏览器上以POST方法提交的数据数据集合QueryString读取附于UR

24、L地址后的字符串的值,在页面的参数传递中使用数据集合Cookies读取存放在客户端浏览器Cookie的内容数据集合ServerVariables读取客户端请求发出的HTTP报头值以及Web服务器的环境变量值数据集合ClientCertificate读取客户端的验证字段属性TotalBytes返回客户端发出请求的字节数量方法BinaryRead以二进制方式来读取客户端使用POST方法所传递的数据,并返回一个变量数组4.3.1 Request对象概述 在使用Request对象时,集合、属性和方法只能选择一个,也可以3个都不选,这时Request对象按照以下的顺序来搜索集合:QueryString、

25、Form、Cookies、ServerVariables、ClientCertificate,当发现第一个匹配的变量时,就认定是要访问的成员。为了提高效率,建议最好显示地指定集合名称。例如:尽量这样写Request.QueryString(id),而不是Request(id)4.3.2 Request.Form数据集合 使用Form数据集合可以取得客户端用POST方式传送的表单上的各对象内容值。语法:Request.Form(element)(index)|.Count 参数说明:1.element:指定集合要检索的表单元素的名称。2.index:检索值,为可选参数,可以取得表单中名称相同的元

26、素值。索引值可以是1至Request.Form(element).count之间的任意整数。3.Count:是一个集合对象,其成员是表单所提交的界面对象,利用For Each循环,通过枚举方式,可罗列出表单所提交的每个界面对象及其对应的值。也可以用for.next循环来罗列表单所提交的数据,但无法显示界面对象的名字。4.3.2 Request.Form数据集合%For Each name In Request.FormResponse.Write&name&=Response.Write Request.Form(name)%for n=1 to Request.Form.Count Resp

27、onse.Write&Request.Form(n)next%4.3.2 Request.Form数据集合 在表单中传递数据有POST和GET两种方法。当使用POST方法将HTML表单提交给服务器时,表单元素可以作为Form集合的成员来检索,即,使用Request对象的Form集合来获取表单中传递的数据。传递大量数据一般使用POST方法。使用GET方法传递数据时,通过Request对象的QueryString 集合来获得数据。4.3.2 Request.Form数据集合 案例4-03:获取表单数据程序1:表单提交页面4-03.htm程序2:取得传递数据4-03_show.asp利用Reques

28、t对象的Form数据集合取得传递数据您的姓名是:您的所在地是:4.3.2 Request.Form数据集合 案例4-04:获取表单中相同名称对象的不同值程序1:表单提交页面4-04.htm程序2:取得相同名称对象的不同值4-04_show.asp4.3.2 Request.Form数据集合您选择的技术有 种,其中包括:%dim iFor i=1 to nums Response.Write Request.Form(demo)(i)&Next%4.3.2 Request.Form数据集合若有多个选择题,可采用如下方法,来获得各题用户所作的答案。%dim textID,answer,n,obj

29、textID=1 for each obj in Request.Form answer=for n=1 to Request.Form(Obj).Count answer=answer&Request.Form(obj)(n)next Response.Write 第&textID&题的答案为:&answer&textID=textID+1 next%4.3.3 Request.QueryString数据集合 QueryString数据集合是利用QueryString环境变量来检索HTTP查询字符串中变量的值。HTTP查询字符串中的变量可以直接定义在超链接URL地址中的“?”字符之后。传递多

30、个参数变量时,使用“&”符号作为参数间的分隔符。例如:http:/?name=wang&age=28。4.3.3 Request.QueryString数据集合 语法:Request.QueryString(variable)(index)|.Count 参数说明:variable:指定要索引的HTTP查询字符串的变量名。index:索引值,为可选参数,可以取得HTTP查询字符串中相同变量名的变量值。索引值可以是1至Request.QueryString(variable).Count之间的任意整数。Count:HTTP查询字符串中的相同名称变量的个数。4.3.3 Request.QueryS

31、tring数据集合 有两种情况需要在服务器端指定利用QueryString数据集合取得客户端传送的数据:一是在表单中通过GET方法提交的数据。该方法是在Web页面间传递参数时,通过HTTP的附加参数传递的,通过浏览器的地址栏可以得到传递的参数,因而仅适用于提交数据量少、安全性要求不高的场合;二是直接利用HTML的超级链接标记传递的参数,传递的参数写在“?”符号的后面。如:A href=del.asp?id=1删除/A4.3.3 Request.QueryString数据集合 案例4-05:获取表单数据分析:利用Get方法将表单中用户姓名和性别的数据提交给4-03_show.asp页面,然后在4

32、-03_show.asp页面中显示用户名称和性别。实现界面输出的HTML页面对提交数据进行处理的4-05_show.asp页面代码4.3.3 Request.QueryString数据集合案例名称:QueryString数据集合应用程序名称:4-05_show.asp文件内容:4.3.4 Request.ServerVariables集合 ServerVariables数据集合帮助客户端取得服务器端的环境变量信息,它由一些预定义的服务器环境变量组成,这些变量对ASP 程序有很大帮助,使程序能够根据不同的情况进行判断,增加了程序的健壮性。服务器环境变量是只读变量,只能查阅,不能设置。语法 Req

33、uest.ServerVariables(服务器环境变量名)4.3.4 Request.ServerVariables集合例如:若要获得客户端的IP地址,则实现代码为:Request.ServerVariables(REMOTE_ADDR)如果客户端使用的是代理服务器,通过上述代码获取的IP地址只是代理服务器的IP地址。若要求获取的客户端的IP地址必须真实,通过以下方法能够透过代理服务器,读取客户端真实的IP地址:Request.ServerVariables(HTTP_X_FORWARDED_FOR)获得当前页面的虚拟路径的实现代码为:4.3.5 Request.Cookies数据集合 Re

34、quest对象的Cookies集合用于获取指定的Cookies的值。经常被使用在要求认证客户密码以及电子公告板、WEB 聊天室等 ASP 程序中。语法:Request.Cookies(cookiename)(key)|.attributecookiename:指定要检索的Cookie名字。key:可选参数,用于从Cookie中检索关键字的值。attribute:Cookie的属性参数,指定cookie自身的有关信息。其属性参数只提供一个Haskeys,为只读属性,指定Cookie是否包含关键字。如果Cookie包含关键字,则返回True,否则返回False。4.3.5 Request.Cook

35、ies数据集合例1:读取名为VisitNum 的Cookie的值:例2:读取关键字为pass,名为user的Cookie的值:例3:如果客户端浏览器发送了两个同名的 cookie,那么 Request.Cookie 将返回其中路径结构较深的一个。例如,有两个同名的的 cookie,其中一个的路径属性为/www/而另一个为/www/home/,客户端浏览器将两个 cookie 都发送到/www/home/目录中,而 Request.Cookie 将只返回第二个 cookie。4.3.6 Request对象的属性与方法1.TotalBytes属性该属性只读,用于当数据以Post方法发送到服务器时,

36、取得客户端响应的数据字节总数。例如,可以用它来判断用户是否向服务器发送了一个Post请求,从而执行相关的数据库写入操作。0 then 在这儿执行相关的操作 end if%TotalBytes属性一般与BinaryRead方法配合使用。4.3.6 Request对象的属性与方法2.BinaryRead方法用于以二进制码方式读取客户端过使用POST方法所传递的数据。语法:Variant 数组=Request.BinaryRead(Count)Count:是一个整数数据,用以表示每次读取数据的字节大小,范围介于0到TotalBytes属性取回的客户端送回的数据字节大小之间。BinaryRead方法的

37、返回值是通用变量数组(Variant Array)。4.3.6 Request对象的属性与方法 利用该方法,可以获得客户端提交的图形或声音等二进制数据,从而实现有关图形或声音的文件上传功能。TotalBytes属性结合Request对象的BinaryWrite方法,可实现图形的显示或声音的播放等功能。注意:使用BinaryRead方法后,将不能再使用常规的Request.Form集合来取得数据,同样,如果首先使用了Request.Form来取得数据,也将无法再用BinaryRead方法。4.4 Application对象4.4.1 Application对象概述4.4.2 Applicatio

38、n对象的属性4.4.3 Application对象的方法4.4.4 Application对象的事件4.4.1 Application对象概述 Application对象是个应用程序级的对象,包含的数据可以在整个Web站点中被所有用户使用,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。Application 对象默认的生命周期开始于该应用程序网页被访问时,结束于Web服务器终止运行该应用程序时。也就是说,在Application对象中定义的变量将会长期占用内存。可以使用 Application 对象,在给定的应用程序的所有用户之间共享信息,并在服务器运行期间持久的保存

39、数据。4.4.1 Application对象概述 语法:Application.collection|method参数说明:1.collection:Application 对象的数据集合。2.method:Application 对象的方法。4.4.1 Application对象概述 Application 对象可以定义应用级变量。应用级变量是一种对象级的变量,隶属于Application 对象,它的作用域等同于Application 对象的作用域。例如,通过Application 对象定义一个应用级变量:Application 对象主要功能就是为Web应用程序提供全局变量。Applicat

40、ion 对象没有内置的属性,但是可以由用户根据需要自行定义,这些自定义的属性实际上就可以作为全局变量使用。4.4.1 Application对象概述成成 员员描描 述述集合Contents在Application层次的所有可用的变量集合,不包含使用标记建立的变量集合StatusObjects在Global.asa文件中使用标记建立的Application 层次的变量集合方法Contents.Remove从Application对象的Contents集合中删除一个项目方法Contents.RemoveAll从Application 对象的Contents集合中删除所有项目方法Lock锁定Appl

41、ication 变量,其他用户就不能同时修改同一Application变量方法Unlock解除Application变量的锁定状态事件Application_OnStart当应用程序的第一个叶面被请求时,触发这个事件事件Application_OnEnd当Web服务器关闭时这个事件中的代码被触发4.4.2 Application对象的属性 虽然 Application 对象没有内置的属性,但用户可以根据自己的需要自行定义一些属性来保存一些信息,也可被称为集合。4.4.2 Application对象的属性1.创建简单变量创建简单变量创建方法:例如,可以使用如下脚本声明并建立 Applicatio

42、n 对象的属性。4.4.2 Application对象的属性大部分Application变量都存放在Contents集合中,当创建一个新的Application变量时,其实就是在Contents集合中添加了一项。下面两个脚本是等效的:或4.4.2 Application对象的属性由于Application变量存在集合里,所以如果想要全部显示,可以利用For Each循环。%For Each item in Application.ContentsResponse.write(&item&Application.Contents(item)next%4.4.2 Application对象的属性2

43、.创建对象变量创建对象变量下面的程序代码用来创建一个数据库连接对象实例conn,再将conn对象实例指派给Application对象变量,使得对象实例conn在整个应用程序中都有效。但是不能在 Application 对象中存储 ASP 内建对象。4.4.2 Application对象的属性3.创建数组变量创建数组变量Application 对象可以创建和存储数组,但不能通过下标对数组元素进行修改操作。这是因为一个数组能够被定义成Application对象,但这个数组只能作为一个对象保存,而不能用Application(0)取出其值。建议在将数组存储在 Application 对象中时,在检索

44、或改变数组中的对象前获取数组的一个副本。即可以定义一个临时数组,把Application对象赋给数组,然后修改这个数组的元素,最后把数组赋回Application对象。4.4.2 Application对象的属性案例4-06:创建及修改数组程序名称:4-06.asp%dim MyArray()Redim MyArray(5)MyArray(0)=hello MyArray(1)=world Application(StoredArray)=MyArray LocalArray=Application(StoredArray)建立临时数组LocalArray(1)=there Response.

45、Write LocalArray(0)&LocalArray(1)Application(StoredArray)=LocalArray%4.4.3 Application对象的方法Application 对象有两个方法:一个是Lock,另一个是Unlock。它们都用于处理多个用户对存储在 Application 中的数据进行写入的问题。其中Lock方法用于保证同一时刻只能一个用户对Application操作。Unlock则用于取消Lock方法的限制。4.4.3 Application对象的方法1.Lock 方法方法Lock 方法禁止其他客户修改存储在 Application 对象中的变量,以

46、确保在同一时刻只能有一个客户可修改和存取 Application 变量。如果用户没有明确调用 Unlock 方法,则服务器将在.asp文件结束或超时后即解除对 Application 对象的锁定。4.4.3 Application对象的方法案例案例4-07:网站计数器:网站计数器分析:网站计数器是Application的主要应用,因为Application是所有用户共有的所以可以用 Application 来记录页面访问次数,形成一个网站计数器,当有新用户访问网页时自动增加计数器的值。欢迎光临本网站,你是本站的第 位访客!4.4.3 Application对象的方法2.Unlock 方法方法和

47、 Lock 方法相反,Unlock 方法允许其他客户修改存储在 Application 对象中的变量。在上述例子中,Unlock 方法解除对象的锁定,使得下一个客户端才能够增加 NumVisits 的值。4.4.4 Application对象的事件1.Application_OnStart事件事件 该事件在首次创建新的会话(即 Session_OnStart 事件)之前被触发。当 WEB 服务器启动并允许对应用程序所包含的文件进行请求时就触发 Application_OnStart 事件。Application_OnStart 事件只触发一次,即在第一个客户的第一次请求时触发。Applicat

48、ion_OnStart 事件的处理过程必须写在 Global.asa 文件之中。4.4.4 Application对象的事件Application_OnStart 事件脚本的语法:Sub Application_OnStart程序块 End Sub 4.4.4 Application对象的事件2.Application_OnEnd事件事件 Application_OnEnd 事件在应用程序退出时或服务被终止时被触发,并且总在 Session_OnEnd 事件之后发生,Application_OnEnd 事件的处理过程也必须写在 Global.asa 文件之中。Application_OnEnd

49、事件脚本的语法:Sub Application_OnEnd程序块 End Sub 4.5 Session对象4.5.1 Session对象概述4.5.2 Session对象的属性4.5.3 Session对象的方法4.5.4 Session对象的事件4.5.1 Session对象概述 Session 对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除,而用户在应用程序中访问页面时,这些变量始终存在。换句话说,使用Session对象可以让脚本程序继续使用以前的页面数据,并且可以在多个ASP应用程序之间传递数据。当用户请求来自应用程序的

50、Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。在用户与网站交互的整个会话期间内,Session对象中的变量值都不会丢失,直到会话超时或访问者离开时为止,该Session对象才被释放。4.5.1 Session对象概述Session对象与Application对象的相似之处:都可以用于不同的ASP页面之间共享信息;两者都允许用户自定义属性;对象中的变量都可以进行存取;都有生命周期和作用域。两者最大的区别在于:Session对象用来为每个来访者(即客户)存储独立的数据或特定客户的信息,而Application对象则用来为所有客户存储共享的数据。4.5.

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(动态网站第4章-ASP内置对象课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|