ASP动态网页设计教程.ppt

上传人:豆**** 文档编号:24087864 上传时间:2022-07-03 格式:PPT 页数:116 大小:1.41MB
返回 下载 相关 举报
ASP动态网页设计教程.ppt_第1页
第1页 / 共116页
ASP动态网页设计教程.ppt_第2页
第2页 / 共116页
点击查看更多>>
资源描述

《ASP动态网页设计教程.ppt》由会员分享,可在线阅读,更多相关《ASP动态网页设计教程.ppt(116页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、25.1.2 获取信息的方法获取信息的方法-Form1、使用、使用Form集合获取信息集合获取信息我们使用Form变量是用来获取用户在窗体中填写的相关信息。但是在使用Request.Form的对象时,HTML标记中的必须使用“POST”方法,否则将无法取得窗体中的字段信息。Form的用法:Request.Form(Element)(Index).Count其中,Request.Form(Element)的值为请求正文中所有Element值构成的一个数组,通过调用Request.Form(Element).Count来确定参数中值的个数。如果参数未进行关联,则Count的值为1。如果找不到该项参

2、数,则为0。如关联了多个值,则必须指定Index的值。Index的值为1到Request.Form(Element).Count中的任意整数。下面我们用一个例子来说明一下。35.1.2 获取信息的方法获取信息的方法-Form(实例)(实例)【例例5-1】程序名:程序名:exam5-1.htm姓名:姓名:性别:性别:男男女女您的爱好有:您的爱好有:体育体育购物购物阅读阅读程序名:程序名:exam5-1.asp您的姓名:您的姓名:性性 别:别:% Response.Write您的爱好有:您的爱好有: For i=1 to Request.Form(hobby).Count Response.Wri

3、te Request.Form(hobby)(i)& Next%45.1.2 获取信息的方法获取信息的方法-QueryString2、使用、使用QueryString集合获取信息集合获取信息QueryString集合:一般用于检索客户HTTP请求中字符串变量的值。QueryString的用法:的用法:Request.QueryString(Variable)(Index)|.Count其中,Variable指的是查询字符串中要检索的变量名称,Index和Count的用法类似于Form集合的用法。还有要说明的是,通常我们在地址栏中都是以QueryString变量的方法传送变量名及数值。而且需要注

4、意变量的名称与内容必须放在“?”符号的后面。我们以一个简单的例子来说明其用法。55.1.2 获取信息的方法获取信息的方法-QueryString(实例)(实例)【例5-2】程序名:程序名:exam5-2.htm This is a test!用户发送的字符串变量为用户发送的字符串变量为 strtest,内容为:内容为: 在你的IE中输入http:/localhost/aspweb/chapter5/exam5-2.asp?strtest=asppro,这时,IE会显示如图5-2所示。 65.1.3 得到服务器属性的方法得到服务器属性的方法-ServerVariables当我们想获取服务器端的各

5、种信息时,我们可以用 ServerVariables集合来获得。ServerVariables的用法:Request.ServerVariables(Server Environment Variable)【例5-3】 程序名:程序名:exam5-3.asp 读者在运行该程序以后即可看到所有的服务器端的相关参数,如图5-3所示。有兴趣的读者可以试着根据自己所需要获得的参数来编写程序,以获取服务器端的参数。75.2.1 Response对象简介对象简介第一节我们谈到的Request对象是从客户端获取信息,而Response对象恰恰相反,它的作用是将ASP程序运行后的结果信息发送到客户端。Resp

6、onse对象不像Request对象那么简单,它具有很多的集合、属性和方法。在众多的类别中,我们经常用到的是Write方法、Redirect方法以及Buffer属性。在以下的几节中我们会重点介绍它们的用法。首先,我们来看看Response对象的基本用法:Response.collection|property|method1、Response的属性的属性Response对象具有很多属性,具体情况如表5-3所示。属性说明* Buffer说明了页输出是否有缓冲。ContentType指定即将开始被送至客户端浏览器的信息种类,默认值是text/HTML。Expires在浏览器中缓存的页面超时前,指定缓

7、存的时间。Status服务器返回的状态行值。IsClientConnected该值表明了客户端与服务器的状态是连接还是断开85.2.5 Request对象和对象和Response对象的综合使用对象的综合使用【例例5-5】演示如何向服务器发送数据,在提交表单后如何显示出提交的演示如何向服务器发送数据,在提交表单后如何显示出提交的结果。结果。程序名:程序名:exam5-5.asp%Response.Expires=0If Request.ServerVariables(Content_Length) 0 Then通过通过Content_Length来判断时候已经提交过信息来判断时候已经提交过信息s

8、trName=Trim(Request.Form(yourname) 使用使用Trim函数来删除首尾多余的空格,下同!函数来删除首尾多余的空格,下同!strSex=Trim(Request.Form(sex)strLiuyan= Trim(Request.Form(message)strMessage=Replace(strLiuyan,vbcrlf, & vbcrlf)%您的姓名:您的姓名: 性性 别:别: 留留 言:言: %Response.Write 您共选择了您共选择了 & Request.Form(hobby).Count & 项爱好项爱好: & For i=1 to Request

9、.Form(hobby).Count Response.Write Request.Form(hobby)(i) & Next% form Method=post action=姓名:姓名:性别:性别:男男女女留言:留言: 欢迎欢迎请填写完您的留言请填写完您的留言 您的爱好有:您的爱好有:体育体育购物购物阅读阅读其运行结果如图5-5-1、图5-5-2所示。95.3.1 Cookies集合简介集合简介Cookies可以理解成存放在客户端的相关数值的集合,它经常被用于在客户端上存储一些数据,从而在下一次客户重新登陆该网站时它是有效的。也就是说:第一次有服务器端写入客户端的系统中。以后每次访问该站点

10、时,客户端都是先发送Cookie到服务器端,由服务器进行分析,分析完成以后产生HTML代码再返回给客户端。比方说:现在很多高校图书馆的主页上都允许你自定义你的WEB站点-我的图书馆。实际上是根据你自己的喜好设置一些参数选项。站点在你的客户机上存储一个Cookie,并在每次访问该站点时检索这个Cookie。站点从Cookie中的参数中就会知道你是谁,你曾经访问过本站以及根据你设定的参数进行界面以及其他选项的更改。前面我们已经讨论过,可以用Response对象将Cookie写入客户机,同时,Request对象的Cookie集合也允许用户从客户机上检索Cookie的值。Cookie集合的用法为集合的

11、用法为:Request.Cookies(Cookie)(Key)|.Attribute105.3.2 Cookies集合的操作集合的操作-写入与读取写入与读取我们一般用Response对象的Cookies来写入Cookies Cookie可以用两种方式来写入,单值cookie实际上是一个一般的类ASP集合。我们说,在ASP中,集合的每个成员可能自身也是一个集合,包含这种信息的cookie通常被称为多值Cookie。创建一个单值的Cookie较为简单,如下所示:Response. Cookies(FieldsName)=变量或字符串;创建一个多值的cookie,可以使用如下命令:Response

12、.Cookies(FieldsName)(Sub-Item-Name)=Sub-Item-Value。Cookies的Response.Cookies程序段必须放在Html标记之前,且不可以有其它的Html代码。另外,我们还必须在Cookies中使用Expires设定有效期,Cookies才能真正地写入客户端的硬盘中,否则只是临时的。具体用法为:具体用法为:Response. Cookies(FieldsName)=变量或字符串如:Response.Cookies(stuname)=LiMing读取读取Cookies的基本语法为:的基本语法为:Request.Cookies(CookieNam

13、e)可以将Request值当作一个变量看待,执行下面的代码,将取回名字为stuname的cookie值,并存入变量MyCookie:MyCookie=Request.Cookies(stuname)执行下面的代码,将判断名字为stuname的cookie值是否为“Yes”:If Request.Cookies(stuname)=Yes then115.3.3 Cookies集合的属性集合的属性ASP的属性有四种:的属性有四种:Domain,Expires,HasKey以及Path。首先,我们来看看命名Cookie时要用到的两个属性:Domain和Path属性。同其他变量的命名一样,合理的命名c

14、ookie,有利于在程序中方便的使用它。你可以使用下面的2个Cookie属性对Cookie变量进行命名:域属性(域属性(Domain):):域属性表明Cookie由哪个WEB网站产生或者读取,默认情况下,Cookie的域属性设置为产生它的网站,但你也可以根据需要改变它。相关代码如下:Response.Cookies(stuname).Domain = 路径属性(路径属性(Path):):路径属性可以实现更多的安全要求,通过设置WEB网站上的精确路径,我们能够限制Cookie的使用范围。例如:Response.Cookies(stuname).Path = /lib/sub/path有效期属性(

15、有效期属性(Expires):):通常情况下,当用户的浏览器被关闭时,Cookie就不存在了。但是在很多种情况下,我们希望能更长时间地在客户端的计算机上保存Cookie。这时候,我们要用到Cookie的Expires属性。通过下面的代码,我们可以设置Cookie的使用到期时间为2008年7月1日:Response.Cookies(CookieName).Expires=#July 01, 2008#或者,将设定cookie的过期时间为“Cookie的创建时间365日”:Response.Cookies(CookieName)=Date+365HasKey属性:属性:如果Cookies集合是如前

16、面所说的多值Cookies时,我们可以使用该属性来遍历完整的Cookies集合。下面通过一段代码来说明HasKey的用法。For Each objItem In Request.Cookies If Request.Cookies(objItem).HasKey Then For Each objItemKey in Request.Cookies(objItem) Response.Write objItem & ( & objItemKey & ) =& Request.Cookies(objItem)(objItemKey) & Next Else Response.Write objI

17、tem & = & Request.Cookies(objItem) & End If Next 125.3.4 Cookies集合的应用集合的应用下面我们通过两个具体的例子来说明Cookies的用法。我们假定你需要做一个网站,在网站中你想做一个调查,每个用户初次访问时都需要填写好注册信息,当日后再访问时,就不需要再填写了。利用Cookie,就可以非常圆满地解决这个问题。我们来分析一下这段代码:我们来分析一下这段代码:首先,我们读取了名字为stuname 的Cookie的值。然后,判断该值是否存在具体的数值,如果不存在,就创建该Cookie值,设置它以后转到stu.asp页面。当用户再次访问它

18、时,因为已经存在了Cookie值,所以,就不会再转到 stu.asp页面,而是继续执行以后的ASP代码了。再来看另外一个例子。这个例子是利用使用再来看另外一个例子。这个例子是利用使用Cookies使当用户第一次访问该使当用户第一次访问该站点时显示欢迎信息。站点时显示欢迎信息。135.3.4 Cookies集合的应用(实例)集合的应用(实例)【例例5-6】程序名:程序名:exam5-6.asp%RequestName = Request.Form(Name)RequestMs= Request.Form(MySelf)If RequestName or RequestLeaveMeAlone t

19、henResponse.Cookies(VisitorName) = RequestNameResponse.Cookies(VisitorName).Expires = #July 01, 2008#Response.Cookies(MySiteMySelf) = RequestMsResponse.Cookies(MySiteMySelf).Expires = #July 01, 2008#End ifVisitorName = request.cookies(VisitorName)LeaveMeAlone = request.cookies(MySiteMySelf)If Visito

20、rName = and Myself = thenEnd ifIf VisitorName thenResponse.write VisitorName & WELCOME TO THIS WEBSITE!End if其它的其它的ASP代码代码%程序名:程序名:exam5-6.htm说明:说明:首先设置页面,检查表单信息,如果存在,则创建Cookie集合,并设置有效期时间。再读取Cookie集合,如果Cookie在访问者的计算机上不存在,就创建一个表单,询问相关信息。如果已经存在,并且用户名字存在,就显示给访问者一个欢迎界面,然后执行其余的代码。其运行结果如图5-6-1、图5-6-2所示。14

21、5.4.1 Session对象简介对象简介Session对象和我们后一节要说的Application对象一样,体现了其他三种内置对象所没有的特性-事件。众所周知,HTTP是一种非状态的协议,也就是说Web服务器将每个网页请求都看做是独立的,因此服务器不保留以前请求的任何信息,即使它们只早于当前请求几秒钟。这种缺陷给编写应用程序造成了很大的困难。ASP为管理会话信息问题提供了独特的解决方案。使用ASP的Session对象和服务器生成的特定用户ID,可以创建更合理的ASP应用程序,以便标识每次访问的用户并收集用户信息,应用程序随后就可以利用这些信息来跟踪用户的各种选择。我们可以使用Session对

22、象存储单个用户会话所需的一些信息。当用户通过应用程序的页面向服务器发送请求时,如果该用户还没有进行会话,则自动创建一个Session对象,如果会话已经过期了,服务器将终止该会话。Session对象经常被用在电子商务的网站中,用于创建虚拟的购物篮。只要你登陆到了该网站,无论什么时候,只要你点击了购买商品的按钮,产品就会进入购物篮,当用户离开时,实际上就已经进行了他所选的所有商品的订购工作,这些购物信息就是被保存在Session对象中的。155.4.1 Session对象简介(续上)对象简介(续上)需要注意的是:会话状态仅在支持cookie的浏览器中保留,如果客户关闭了Cookie选项,Sessi

23、on也就不能发挥作用了。Session对象的功能看起来和Cookie有些相似,但实际意义上存在着很大的区别。我们知道,Cookie中的数据是存放在客户端的浏览器中,而Session中的数据则存放在WEB服务器上面。当用户第一次登陆到网站时,ASP会检查HTTP协议的头信息,看是否存在有ASPSESSIONID的字段信息发过来,如果存在,则WEB服务器就启动新的会话,为该用户创建一个全局变量,并将该值返回给客户端。ASP就是利用这种方法来访问存储在客户端上的用户独特的信息的。当然,在你不需要使用Session时,你也可以告诉IIS不用对Session进行追踪,只要在ASP的最前面加上即可。Ses

24、sion对象的语法为:对象的语法为:Session.Collection|Property|Method其中:Collection为Session的集合Property为Session的属性Method为Session的方法。165.4.2 利用利用Session存储信息存储信息利用Session对象存储用户信息,只需要简单的调用Session对象就可以了。下面我们以一个简单的例子来说明其用法。【例5-7】程序名:程序名:exam5-7.asp This is a Example 其运行结果如图5-7所示。我们假定用户请求了另外一个页面,代码如下:我们假定用户请求了另外一个页面,代码如下:程序

25、名:程序名:exam5-7-1.aspAnother Example当用户浏览此页面时,同样的又显示一次。当用户浏览此页面时,同样的又显示一次。但在此页面上会话变量并没有被赋值。因为在前但在此页面上会话变量并没有被赋值。因为在前面的页面中变量已经被赋值了。面的页面中变量已经被赋值了。175.4.3 利用利用Session存储数组信息存储数组信息Session对象可以提供动态关联数组,在数组中存储信息。在Session对象中存储单纯变量和对象变量。要在Session对象中存储变量,需指定Session对象中已命名条目的值。可以利用Contents集合来存储数组信息。Contents集合可以包括所

26、有未使用标记而为该会话建立的项目。也可以用于遍历集合并检索出会话中所有项目的列表。下面的例子说明了其用法。 %Session(name)=TomSession(Sex)=maleSession(year)=34For I=1 to Session.Contents.CountResponse.Write(&Session.Contents(I)NextSession.Abandon%185.4.4 Session对象的属性和方法对象的属性和方法1、SessionIDSessionID属性返回用户的会话标识。在创建会话时,服务器会为每一个会话生成一个单独的标识符号。会话标识以长整形数据类型返回。

27、大多数情况下SessionID可以用于WEB页面注册的统计。2、TimeOutTimeout属性以分钟为单位为Session对象指定超时时限。如果用户在该超时时限之内不刷新或重新请求网页,则该会话将终止。这段时间的默认值是20分钟。可以通过在 Internet服务管理器中设置“应用程序选项”属性页中的“会话超时”属性改变应用程序的默认超时限制设置。用户可以根据应用程序的要求来设置此值。例如,如果您希望浏览您的Web应用程序的用户在每一页仅停留几分钟,就应该缩短会话的默认超时值。过长的会话超时值将导致打开的会话过多而耗尽WEB服务器的内存资源。对于一个特定的会话,如果您想设置一个小于默认超时值的

28、超时值,可以设置Session对象的Timeout属性。例如,下面这段代码将超时值设置为10分钟。当你希望会话在长期内进行的话,你也可以设置一个大于默认设置的超时值。Session对象只有一个方法:对象只有一个方法:Abandon,该方法删除所有存储在Session对象中的对象并释放这些对象的源。如果用户未明确地调用Abandon方法,一旦会话超时,服务器将删除这些对象。当服务器处理完当前页时,下面的代码将释放会话状态。195.5.1 Application对象简介对象简介我们可以这么理解Application对象:当你创建了一组ASP页面的话,你就相当于创建了一个Application对象。

29、因此,一个Application对象就是你所开发的一组页面和ASP文件。在此,我们不仅可以使用Application 对象,在给定的应用程序的所有用户之间实现信息共享,并在服务器运行期间持久的保存数据。而且,Application 对象还有控制访问应用层数据的方法和可用于在应用程序启动和停止时触发过程的事件。Application对象具有很多其他ASP内置对象所没有的特点,首先,数据信息可以在Application内部进行共享,因此,一个Application对象可以覆盖多个用户。其次,单独的Application对象可以隔离出在自己的领域内运行,这样的话,如果有个别的Application遭

30、到人为的破坏的话,不会影响到其他的用户使用;同时,你也可以停止一个Application而不影响其他应用。下面我们来看看Application对象所具有的属性、方法和事件。205.5.1 Application对象简介(续上)对象简介(续上)虽然 Application 对象没有内置的属性,但我们可以使用以下句法设置用户自己定义的属性。Application(属性属性)= 值值 下面代码声明并建立 Application 对象的属性。一旦我们分配了 Application 对象的属性,它就会一直存在,直至关闭 WEB 服务器服务使得Application停止。由于存储在 Application

31、 对象中的数值可以被应用程序的所有用户读取,所以Application对象的属性特别适合在应用程序的用户之间互相传递信息。Application对象有两个方法,是用来处理多个用户对存储在Application中的数据进行写入的问题。Lock方法:方法:禁止其他用户修改Application对象的属性。 Lock方法阻止其他用户修改存储在Application对象中的变量,以确保在同一时刻仅有一个客户可修改和存取Application变量。在应用程序中,我们通常将两种方法一起使用。如果用户没有明确调用Unlock方法,则服务器将在.asp文件结束或超时后即解除对Application对象锁定。2

32、15.5.1 Application对象简介(续上)对象简介(续上)下面这段代码使用Application对象来记录页面访问次数的程序:欢迎您光临我们的网站,你是本网站的第位访客!Unlock方法:方法:允许其他客户修改Application对象的属性。在上面的例子中,Unlock方法解除对象的锁定,使得下一个客户端能够增加NumVisits的值。如果用户没有在后面调用Unlock方法,则服务器将在ASP文件结束后即可解除对Application对象的锁定。但在实际的程序中,最好在Lock以后,使用Unlock方法,否则的话,在文件没有结束时,其他用户就不能再操作Application的变量了

33、。Application有两个事件:有两个事件:Application_OnStart事件和Application_OnEnd事件。Application_OnStart事件在首次创建新的会话(即Session_OnStart事件)之前发生。当WEB服务器启动并允许对应用程序所包含的文件进行请求时就触发Application_OnStart事件。225.5.1 Application对象简介(续上)对象简介(续上)不过,和Session_OnStart事件不同的是:Application只触发一次。而且,学要注意的是:Application_OnStart事件的处理过程必须写在Global.a

34、sa文件之中。其用法为:Sub Application_OnStartEnd SubApplication_OnEnd事件只有在服务终止或Application对象被卸载时才会被触发。如在IIS管理器中关闭了IIS服务,该事件就被触发了。Application_OnEnd事件肯定发生在Session_OnEnd事件之后。同样,也必须把该事件的处理过程写在Global.asa 文件之中。其用法为:Sub Application_OnEndEnd Sub我们在一般应用中,一般把与数据库的连接定义在这两个事件中。在后面的章节中,我们还将具体讲述Global.asa文件的用法。235.5.2 利用利用

35、Application存储信息存储信息利用Application对象存储信息,只需要将变量声明后赋值给它即可。下面的例子可以说明其用法。【例5-8】程序名:程序名:exam5-8.asp This is a Example 你也可以将一个对象存入Applicaition对象集合中,与变量不同的是,你需要使用Set方法。如:其运行结果如图5-8所示。245.5.3 利用利用Application存储数组信息存储数组信息如果我们想将一个数组存储在 Application 对象中,需要注意的是:不要直接更改存储在数组中的元素。例如,下列的脚本无法运行这是由于Application对象是作为集合被实现

36、的。数组元素MyArray(2)并未获得新的赋值。而此值将包含在Application对象集合中,并将覆盖在此位置存储的原来的任何信息。建议您在将数组存储在Application对象中时,在检索或改变数组中的对象前获取数组的一个副本。在对数组操作时,您应再将数组全部存储在Application对象中,这样您所做的任何改动将被存储下来。下面的代码对此进行演示。255.5.4 Global.asa文件及应用文件及应用Global.asa文件是一个可选文件,程序编写者可以在该文件中指定事件脚本,并声明具有会话和应用程序作用域的对象。该文件主要用来存储事件信息和由应用程序全局使用的对象的。比如说:我们

37、在前面一节中说到的,与数据库的连接就放到这个文件中,以提高程序的效率。需要提醒大家注意的是:我们必须把该文件存放到应用程序的根目录中,而且每个根目录中只能有一个这样的文件。在Global.asa文件中,脚本代码中必须使用标记封装,定义的对象也必须有会话或应用程序作用域,否则,服务器会返回错误。我们可以用任何支持脚本的语言编写其脚本。Global.asa文件的标准格式为:Session_OnStart用户首次运行ASP应用程序中的任何一个页面时运行Session_OnEnd当用户首次运行ASP应用程序中的任何一个页面时运行Application_OnStart当任何用户首次首次访问该应用程序的首

38、页时运行Application_OnEnd当该站点的WEB服务器关闭时运行下面我们用一个例子来具体讲解一下用法。265.5.4 Global.asa文件及应用(实例)文件及应用(实例)在这段代码中,涉及到了File Access组件,它可以提供用于访问文件系统的方法、属性和集合。这将在以后章节中进行展开讨论。在程序中,它起到了在服务器上创建新文件并对文件进行写操作的作用。这其实是一个ASP页面访问记数器应用程序的程序:首先当用户首次访问该站点的首页时,过程Application_OnStart定义了在服务器上指定的虚拟目录下新建一个名字为VisitorCount.txt的文本文件,并将文件的路

39、径和内容保存在应用程序级的变量中。而当任何一个客户访问ASP应用程序中的任何一个页面时,过程 Session_OnStart则将应用程序级的变量visitors的值实现自加。这样,每当有用户访问该页面时,变量visitors都将自动的累加,以起到统计点击率的作用。由于变量visitors的值是存储在系统内存之中,所以如果服务器关闭或重新启动,存储在变量中的数据将自动丢失,所以通过定义过程Application_OnEnd,在服务器关闭或重启之前将数据写入事先建立的文本文件之中,这样就能确保当服务器再次启动时,Application_OnStart过程可以从VisitCount.txt文件中读取

40、以前的统计数。Sub Application_OnStartVisitorCountFileName=Server.MapPath(/lib)+VisitorCount.txtSet FileObject = Server.CreateObject(Scripting.FileSystemObject)Set Out= FileObject.OpenTextFile (VisitorCountFilename, 1, False, False)Application(visitors) = Out.ReadLineApplication(VisitorCountFilename) = Visi

41、torCountFilenameEnd SubSub Application_OnEndSet FileOutObject = Server.CreateObject(Scripting.FileSystemObject)Set Out= FileOutObject.CreateTextFile (Application(VisitorCountFilename), TRUE,FALSE)Out.WriteLine(Application(visitors)End SubSub Session_OnStartSession.Timeout = 5Application(visitors) =

42、Application(visitors) + 1Session(ID)=Session.SessionIDEnd Sub275.6.1 设置设置Web服务器服务器响应时间的属性响应时间的属性-ScriptTimeoutServer对象主要是用来提供对服务器上的方法和属性的访问的。其具体用法为:Server.Property|Method因此,我们可以用ScriptTimeOut属性设置WEB服务器的响应时间。如就指定服务器响应时间为50秒。需要提醒大家的是:在数据库方面,使用AspScriptTimeOut属性可以为WEB服务器设置默认的响应时间值。同时,Server.ScriptTimeo

43、ut属性的值的大小不能小于在原数据库中指定的值。比方说,假设NumSeconds的值为80,而在原数据库中设置了默认值为100,则脚本程序仍然在100秒后超时。285.6.2 创建创建ActiveX组件实例的方法组件实例的方法-CreateObjectCreateObject方法是ASP内置组件中功能最为强大的方法。它被用来创建已经注册到WEB服务器上的ActiveX组件。众所周知,ActiveX组件能够帮助你实现许多重要的功能,如:数据库的连接、文件系统的访问等等。其具体用法为:其具体用法为:Server.CreateObject(ProgID)其中,ProgID指定了构件标识。构件可以是E

44、XE程序,或者是DLL动态链接库。这些程序必须在操作系统中注册后,COM才会在系统注册表(Registry)中维护这些信息。如果要创建有会话或应用程序作用域的对象,可以使用标记并设置Session或Application的Scope属性,也可以在对话及应用程序变量中存储该对象。下面的代码创建了一个对象: 这里需要注意的是,不能创建与内置对象同名的对象实例,否则,如下列脚本将返回错误信息。如:295.6.3 虚拟路径的转换方法虚拟路径的转换方法-MapPathMapPath方法主要是把虚拟路径转换成物理路径。其具体用法为:Server.MapPath(Path)其中Path为要转换的虚拟路径。需

45、要注意的是:如果Path以/或开始,MapPath方法返回路径时将Path看做完整的虚拟路径。否则,该方法返回同一个ASP文件中已有路径的相对路径。但使用该方法时应注意的是:它不检查返回的路径是否正确或在WEB服务器上是否存在。而且,不支持相对目录的写法。305.7 ASP内置对象的综合举例内置对象的综合举例通过上面几节的学习,我们已经能够用ASP的6个内置对象来编写一些功能简单的应用程序。下面,我们通过一个综合的例子来说明其的一些具体的用法。本例子主要实现了聊天室的功能。【例5-9】程序名:程序名:exam5-9.htm%Response.End 结束程序的处理结束程序的处理ElseResp

46、onse.clear 清空缓存中的内容清空缓存中的内容dim talkIf Request.Form(nick) then 判断客户是是否在聊天界面中判断客户是是否在聊天界面中 Session(nick)=Request.Form(nick)End If-客户聊天界面客户聊天界面-% 说话:说话:离开离开315.7 ASP内置对象的综合举例(续上)内置对象的综合举例(续上)通过这个实例,我们将前面所学的各种内置对象有机的结合在一起。其运行结果如图5-9-1、图5-9-2所示。程序名:程序名:exam5-9.asp%If Request.Form(log)1 thenIf trim(Reques

47、t.Form(talk)= then 判断用户是否没有输入任何内容判断用户是否没有输入任何内容 talk=Session(nick)&沉默是金。沉默是金。Elsetalk=trim(Request.Form(talk) 去掉字符后的空格去掉字符后的空格End IfApplication.lockApplication(show)= 来自来自 的的 说:说:32第第6章章 ASP组件组件o6.1 ASP组件概述o6.2 文件存取组件n6.2.1 文件存取组件概述文件存取组件概述n6.2.2 利用利用FileSystemObject对象创建文件对象创建文件n6.2.3 利用利用TextStream

48、对象读取和追加数据对象读取和追加数据n6.2.4 利用文件创建一个简单的留言板利用文件创建一个简单的留言板o6.3 广告轮显组件n6.3.1 广告轮显组件概述广告轮显组件概述n6.3.2 广告轮显组件的属性和方法广告轮显组件的属性和方法n6.3.3 广告轮显组件的应用实例广告轮显组件的应用实例o6.4 浏览器兼容组件n6.4.1 浏览器兼容组件概述浏览器兼容组件概述n6.4.2 浏览器兼容组件的属性浏览器兼容组件的属性n6.4.3 浏览器兼容组件的应用实例浏览器兼容组件的应用实例o6.5 文件超链接组件n6.5.1 文件超链接组件概述文件超链接组件概述n6.5.2 文件超链接组件的方法文件超链

49、接组件的方法n6.5.3 文件超链接组件的应用实例文件超链接组件的应用实例o6.6 计数器组件o6.7 免费组件n6.7.1 如何使用免费组件如何使用免费组件n6.7.2 如何获取免费组件如何获取免费组件336.1 ASP组件概述组件概述我们知道,ActiveX组件实际上是一个包含执行一组任务代码的文件。比如一个股票行情收报组件可以在你的WEB页面上实时的显示最新的股票代码,你只需要在组件提供商来获取该组件即可使用,而不需要自己去开发它。组件的优势在于,用户可以使用任何一门支持支持COM(组件对象模型)的语言去开发组件,而且,更方便的是:组件是可以重复使用的。但在编写组件的时候,应该注意Act

50、iveX组件不能包含图形用户接口的元素。类似于VB中的MSGBOX函数在ActiveX组件中是不能运行的。对于内置的ActiveX组件,我们一般使用Server.CreateObject方法来创建它。例如:我们也可以使用Html标签来创建它,但需要引起注意的是:RunAT属性必须设置成服务器的值,同时,还要还要为将在脚本语言中使用的变量名提供ID属性值。使用注册名(ProgID)或注册号码(CLSID)可以识别该对象。例如:用这种方法建立组件对象,最好保存在Global.asa文件中,但使用Object对象一定要放到任何事件的脚本之外,一旦在Global.asa文件中创建了该对象,就可以在整个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com