《asp内置对象一》由会员分享,可在线阅读,更多相关《asp内置对象一(38页珍藏版)》请在金锄头文库上搜索。
1、第五章 ASP内置对象(一),Request对象 、Response对象,教学内容,ASP中6个内建对象的基本功能; ASP对象的创建、使用和集合访问的方法; Request对象和Response对象的各种方法及属性; 利用Request对象获取客户端的数据; 利用Response对象向客户端输出数据。,教学重点、难点:,重点:Request对象的Form方法、Request对象的QueryString方法、Response对象的write方法、Redirect方法。 难点:Request对象的Form方法、Request对象的QueryString方法、Response对象的write方法、
2、Redirect方法。,5.1 对象与组件,对象具有属性、方法和事件三个特性,而在ASP中,对象还可能具有集合特性: 属性用于读取或设置对象的状态; 方法代表对象所完成的特定功能; 事件描述了对象做出响应时特定的状态; 集合则包含了与对象相关的关键字及其相应数据。 在ASP脚本中,可以使用的对象有: ASP内建对象; ActiveX组件提供的对象 ; VBScript提供的对象。,5.1 对象与组件,从本质上说,ActiveX组件就是一段可执行代码。这些可执行代码可以包含在动态链接库文件(.dll)或者可执行文件(.exe)中。组件提供的对象能够在脚本中实现一个或多个特定的功能。 组件的特点:
3、 重用性 功能的实现和调用分离,5.1.1 ASP内建对象和ActiveX组件简介,ASP提供了内置(内建)的对象和大量可安装的ActiveX组件。这些对象以及组件都可以用来拓展ASP的功能。 在ASP页面的脚本中,我们可以直接使用ASP内建对象,而不需要创建。而在使用ActiveX组件时,必须先创建组件的实例,然后才能使用组件提供的对象。,5.1.1 ASP内建对象和ActiveX组件简介,5.1.2 对象的创建,组件的实例需使用ASP内建对象Server的CreateObject方法创建或删除,格式如下: 建立对象: 例: 删除对象: 例:,5.1.2 对象的使用,属性代表对象的某些特征。
4、 在脚本中,获取对象属性的语法格式如下: Object . Property /获取用户的会话标识 在脚本中,设置对象属性的语法格式如下: Object . Property = 值 /设置用户的会话变量生命周期为10秒,5.1.2 对象的使用,方法能完成一定的操作。 在脚本中,调用对象方法的语法格式如下: Object . Method Parameters 例:,5.1.3 集合,集合是一块存储数字、字符串、对象和其他值的区域。 当集合中的元素发生变化时,其他元素的位置会自动发生变化。也就是,当添加或删除集合中的一个元素时,集合会自动增大或者缩小,而不需要我们编写脚本来手工调整。 访问集合
5、中的元素共有两种方式: 通过元素名称或索引访问集合的特定元素; 枚举集合中所有的元素。,5.1.3 集合,访问集合中的元素。 例如:把姓名、年龄和性别信息保存在Session对象中,将意味着这些信息存储在Session对象的Contents集合中:,5.1.3 集合,通过名称直接获取集合的元素 通过索引访问集合的元素:在集合中,每个元素都拥有其位置的索引(索引编号从1开始)。 有时也可以省略集合的名称:如果没有指定集合的名称,ASP将会自动搜索对象的所有集合。 如果可以确定所要访问的元素名称是唯一的时,才可省略集合的名称。,5.1.3 集合,一般说来,在访问Application对象和Sess
6、ion对象时,可以省略集合的名称,因为它们都只有两个集合Contents和StaticObjects,通常在这两个对象中的元素不会有发生重名现象。,5.1.3 集合,枚举集合中所有的元素。 例1:运用VBScript中的ForEach语句 ,5.1.3 集合,例2:运用VBScript中的ForNext语句 ,5.1.3 集合,例3:如果已经知道集合中元素的数量。 ,5.2 Request对象,作用:(提供)获取用户相关信息。,5.2 Request对象,5.2.1 QueryString集合,通过QueryString集合,可以获取请求的URL地址中的查询字符串,在查询字符串中包括变量的名称
7、和变量的值。 把查询字符串包含在URL地址中: 传递一个变量: 传递多个变量: 传递变量集合:,5.2.1 QueryString集合,获取URL地址变量: 表单的GET方法 当表单的Method属性取值为Get时,ASP要使用Request.QueryString集合来读取表单数据。,5.2.2 Form集合,通过Form集合,可以获取由表单的POST方法上传过的信息。 在HTML中常见的FORM语句的语法结构如下: ,例:上传网页的表单代码如下form_1.asp, 用 户: 密 码: ,例:处理网页的代码如下do_form_1.asp,用户为: 密码为: 如果直接将整个Form集合显示出
8、来,可使用下脚本: 执行结果为:(如在姓名文本框中输入“张老三”、密码框中输入“7788”) username=张老三&password=7788,5.2.3 Request.ServerVariables集合,浏览器中浏览网页的时候使用的传输协议是HTTP,在HTTP的标题文件中会记录一些客户端的信息,如客户的IP地址、浏览器版本及端口号等等。 有时服务器端需要根据不同的客户端信息做出不同的反映,这时候就需要用ServerVariables集合获取所需信息。 常用的环境变量及其说明如表所示。,5.3 Response对象,作用:向客户端输出信息。 Response对象用于向客户端浏览器发送数
9、据,用户可以使用该对象将服务器的数据以HTML的格式发送到用户端的浏览器,它与Request组成了一对接收、发送数据的对象,这也是实现动态的基础。Response对象具有集合、属性和方法,但没有事件。,5.3 Response对象的集合、属性和方法,5.3.1 Response对象的属性 Buffer,用于指定页面输出时是否要用到缓冲区,默认值为False。 诺设置为true,则缓存当前页面,直到当前页面的所有服务器脚本处理完毕,或者调用了Flush或End方法,才一次性将其发送给客户端浏览器。 若设置为false,则不缓存当前页面,服务器处理多少就发送多少,浏览器也可同时处理接收到的部分页面
10、。,5.3.1 Response对象的属性 Expires,用来确定在浏览器上缓冲存储页面距离过期还有多少时间(以分为单位)。如果用户在某个页面过期前返回该页面,就会显示缓冲区中的页面,否则将从服务器重新读取该页面。其语法格式如下: Response.Expires =number 将此属性设置为0,可以使缓存的页面立即过期。 如果此属性在一页上设置了多次,则使用最短的时间。 此属性较为实用。如,当客户通过 ASP 的登录页面进入 Web 站点后,应该利用该属性使登陆页面立即过期(设置 Response.Expires=0).以确保安全。 但对于数据更新要求不是很即时,可以设置为一个稍长的时间
11、,以减轻服务器负担。该属性必须放在所有HTTP内容输出之前。,5.3.1 Response对象的属性,CacheControl 决定代理服务器是否能够缓存ASP页面执行后向用户发送的页面。 当设置为Private时,代理服务器不能进行缓存; 当设置为Public时,可以进行缓存。 ContenType 用于指定服务器响应的HTTP内容类型。若未指定,则默认为“text/html”,若传送的是GIF格式的图形数据,则应设置其值为“image/gif”,若是JPG的图形格式,则应设置为“image/jpg”。设置该属性也就告诉了浏览器所期望的内容是什么类型。,5.3.2 Response对象的方法
12、,Clear 清除缓冲区中的内容。只有Buffer属性设置为True时,才能调用,否则将出错,其用法为:Response.Clear End 结束服务器对脚本的处理并将己处理结果传送给浏览器。若Buffer属性设置为True,还可以将缓冲区内容一并传送给浏览器。其用法为:Response.End Flush 将缓冲区中的内容发送给浏览器。调用该方法时,Buffer属性必须设置为True,否则将出错。其用法为:Response.Flush,5.3.2 Response对象的方法 Redirect,用Redirect方法可将浏览器重定向到另一个URL,而不是将内容发送给用户。其用法为:Respon
13、se.Redirect URL 这在根据客户的不同响应,为不同的客户指定不同的页面,或根据不同的情况指定不同的页面时,显得非常重要。该方法是立即生效的,在其后的脚本都不执行。 Response.Redirect 必须放在没有数据输出到浏览器之前,换句话说,Response.Redirect 就放在程序的标记前面,如果在返回给浏览器的内容或标题后使用 Response.Redirect,将看到一个错误信息。若要在标记后调用它,则必须将Response.Buffer属性为True。,5.3.2 Response对象的方法 Write,常用该方法实现由服务器向客户端浏览器输出内容,其输出的内容可以包
14、括文本、HTML标记符和脚本。 格式: 文本字符串输出: 函数输出: 数字输出: 还可用“&yy ) %,5.3.2 Response对象的方法 Write,实例一:write-1.asp 使用Response.Write向客户端输出数据信息 实例二:write-2.asp 使用Response.Write输出当前系统时间及HTML超链接 实例三:form_1.htm 、do_form_1.asp Response与Request结合,输出用户表单上传来的信息,实例四、Response.redirect实现页面重定向,用Redirect方法可将浏览器重定向到另一个URL,而不是将内容发送给用户
15、。 登陆页面:form_2.asp 处理页面:do_form_2.asp,教学小结:,在ASP中,与客户端的动态交互是通过Request和Response对象实现的,它们连接了服务器与客户机的之间的信息传递。 Request对象用于接收客户端浏览器提交的数据,而Response对象的功能则是将服务器端的数据发送到客户端浏览器。这两个对象的功能是对立的,它们结合在一起,便可实现客户端Web页面与服务器端.asp文件之间的数据交换。 用Response.Write方法可向直接客户端浏览器输出数据。 用Redirect方法可将浏览器重定向到另一个URL,而不是将内容发送给用户。 通过Form集合,可
16、以获取由表单的POST方法上传过的信息。 通过QueryString集合,可以获取请求的URL地址中的查询字符串,在查询字符串中包括变量的名称和变量的值。,作业或课后思考题目:,简述ASP中6个内建对象的基本功能。 举例说明通过元素名称或索引访问集合中特定元素的方法。 举例说明枚举集合中所有元素的方法。 举例说明如何获取URL中查询字符串变量集合。 比较Request对象和Response对象在ASP中的作用。 比较Request对象中QueryString集合和Form集合的异同点。 简述Asp应用服务器技术的特点。 举例说明Response.Write方法的使用。 举例说明Response.Redirect方法的使用。,答疑时间,Have question?,