Response与Request对象.ppt_第1页
Response与Request对象.ppt_第2页
Response与Request对象.ppt_第3页
Response与Request对象.ppt_第4页
Response与Request对象.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WEB开发技术第三章,3.1Response与Request对象,From:吴教育Email:wujiaoyuQQ:188128997,ASP编程基础,本章内容与教学安排,理论:6学时实验:6学时,3.1Response与Request对象3.2Application与Server对象3.2Session对象及应用,课程引入与回顾,Vbscript的基本语法条件语句循环语句VBScript过程,目标,Response对象Request对象,内建对象简介1Response对象可以使用Response对象控制发送给用户的信息。包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置cookie的值。Request对象可以使用Request对象访问任何用HTTP请求传递的信息,包括从HTML表格用POST方法或GET方法传递的参数、cookie和用户认证。Request对象使您能够访问发送给服务器的二进制数据,如上载的文件。,内建对象简介2Application对象可以使用Application对象使给定应用程序的所有用户共享信息。Server对象Server对象提供对服务器上的方法和属性进行的访问。最常用的方法是创建ActiveX组件的实例(Server.CreateObject)。其他方法用于将URL或HTML编码成字符串,将虚拟路径映射到物理路径以及设置脚本的超时期限。,内建对象简介3Session对象可以使用Session对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在Session对象中的变量不会清除;而用户在应用程序中访问页时,这些变量始终存在。也可以使用Session方法显式地结束一个会话和设置空闲会话的超时期限。ObjectContext对象可以使用ObjectContext对象提交或撤消由ASP脚本初始化的事务。,3.1ResponseResponse对象是用来控制发送给用户的信息,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置cookie的值。语法Response.collection|property|method,Response对象的基本用法11.Write方法输出作用:以一个字符串的形式向客户端输出信息。使用方法:Response.Write一个串,Response对象的基本用法22.Redirect方法重定向作用:把客户引领到另一个新的页面使用方法:Response.RedirectURL,补充例1实现:当用户浏览Redirect-1.asp时,在不同的时间段显示不同的页面。0点-8点:显示1.htm8点-16点:显示2.htm16点-0点:显示Redirect-1.asp,一、属性1、BufferBuffer属性指示是否缓冲页输出。当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了Flush或End方法后,服务器才将响应发送给客户端浏览器,服务器将输出发送给客户端浏览器后就不能再设置Buffer属性。因此应该在.asp文件的第一行调用Response.Buffer。,2、CharsetCharset属性将字符集名称附加到Response对象中content-type标题的后面。对于不包含Response.Charset属性的ASP页,content-type标题将为:content-type:text/html。我们可以在.asp文件中指定content-type标题,如:将产生以下结果:content-type:text/html;charset=gb2312,说明注意,无论字符串表示的字符集是否有效,该功能都会将其插入content-type标题中。且如果某个页包含多个含有Response.Charset的标记,则每个Response.Charset都将替代前一个CharsetName。这样,字符集将被设置为该页中Response.Charset的最后一个实例所指定值。,3、ContentTypeContentType属性指定服务器响应的HTTP内容类型。如果未指定ContentType,默认为text/HTML。,4、ExpiresExpires属性指定了在浏览器上缓冲存储的页距过期还有多少时间。如果用户在某个页过期之前又回到此页,就会显示缓冲区中的页面。如果设置response.expires=0,则可使缓存的页面立即过期。这是一个较实用的属性,当客户通过ASP的登陆页面进入WEB站点后,应该利用该属性使登陆页面立即过期,以确保安全。,5、ExpiresAbsolute与Expires属性不同ExpiresAbsolute属性指定缓存于浏览器中的页面的确切到期日期和时间。在未到期之前,若用户返回到该页,该缓存中的页面就显示。如果未指定时间,该主页在当天午夜到期。如果未指定日期,则该主页在脚本运行当天的指定时间到期。如下示例指定页面在1998年12月10日上午9:00分30秒到期。,二、方法1、Clear可以用Clear方法清除缓冲区中的所有HTML输出。但Clear方法只清除响应正文而不清除响应标题。可以用该方法处理错误情况。但是如果没有将Response.Buffer设置为TRUE,则该方法将导致运行时错误。,2、EndEnd方法使Web服务器停止处理脚本并返回当前结果。文件中剩余的内容将不被处理。如果Response.Buffer已设置为TRUE,则调用Response.End将缓冲输出。,3、FlushFlush方法立即发送缓冲区中的输出。如果没有将Response.Buffer设置为TRUE,则该方法将导致运行时错误。,4、RedirectRedirect方法使浏览器立即重定向到程序指定的URL。这也是一个我们经常用到方法,这样程序员就可以根据客户的不同响应,为不同的客户指定不同的页面或根据不同的情况指定不同的页面。一旦使用了Redirect方法任何在页中显式设置的响应正文内容都将被忽略。然而,此方法不向客户端发送该页设置的其他HTTP标题,将产生一个将重定向URL作为链接包含的自动响应正文。Redirect方法发送下列显式标题,其中URL是传递给该方法的值。如:,5、WriteWrite方法是我们平时最常用的方法之一,它是将指定的字符串写到当前的HTTP输出。,三、集合Response对象只有一个集合-CookieCookies集合设置cookie的值。若指定的cookie不存在,则创建它。若存在,则设置新的值并且将旧值删去。语法Response.Cookies(cookie)(key)|.attribute=value,说明这里的cookie是指定cookie的名称。而如果指定了key,则该cookie就是一个字典。attribute指定cookie自身的有关信息。attribute参数可以是下列之一:Domain若被指定,则cookie将被发送到对该域的请求中去。Expires指定cookie的过期日期。为了在会话结束后将cookie存储在客户端磁盘上,必须设置该日期。若此项属性的设置未超过当前日期,则在任务结束后cookie将到期。HasKeys指定cookie是否包含关键字。Path若被指定,则cookie将只发送到对该路径的请求中。如果未设置该属性,则使用应用程序的路径。,response小结至此,我们已经学习的Response对象的所有属性、方法和集合的理论知识,下面作者将给大家演示一段简单的程序,通过实践让大家加深理解。先将以下程序剪贴到记事簿中,并保存为asp7.asp。(注意将动态网站设计十八般武艺-ASP篇(7)实践练习再将以下程序保存为asp7b.asp。,3.2Request对象可以使用Request对象访问任何基于HTTP请求传递的所有信息,包括从HTML表格用POST方法或GET方法传递的参数、cookie和用户认证。Request对象使您能够访问客户端发送给服务器的二进制数据。,Request的语法:Request.集合|属性|方法(变量)在这里作者将挑选一些常用的对象语法进行分析,1、FormForm集合检索通过使用POST方法的表单邮送到HTTP请求正文中的元素语法Request.Form(element)(index)|.Count参数element指定集合要检索的表格元素的名称。index可选参数,使用该参数可以访问某参数中多个值中的一个。它可以是1到Request.Form(parameter).Count之间的任意整数。Count集合中元素的个数,说明Form集合按请求正文中参数的名称来索引。Request.Form(element)的值是请求正文中所有element值的数组。通过调用Request.Form(element).Count来确定参数中值的个数。如果参数未关联多个值,则计数为1。如果找不到参数,计数为0。要引用有多个值的表格元素中的单个值,必须指定index值。index参数可以是从1到Request.Form(element).Count中的任意数字。如果引用多个表格参数中的一个,而未指定index值,返回的数据将是以逗号分隔的字符串。,示例(提交页面)请填写你的爱好足球乒乓球Next%,2、QueryStringQueryString集合检索HTTP查询字符串中变量的值,HTTP查询字符串由问号(?)后的值指定。如:stringsample生成值为“thisisasample”的变量名字符串。通过发送表格或由用户在其浏览器的地址框中键入查询也可以生成查询字符串。,语法Request.QueryString(variable)(index)|.CountQueryString集合可以让您以名称检索QUERY_STRING变量。Request.QueryString(参数)的值是出现在QUERY_STRING中所有参数的值的数组。通过调用Request.QueryString(parameter).Count可以确定参数有多少个值。,说明我们也可以使用QueryString来达到与前一个范例相同的功能。只需要将request.form部分替换如下:Next%,3、Cookies什么是Cookie?Cookie其实是一个标签,当你访问一个需要唯一标识你的站址的WEB站点时,它会在你的硬盘上留下一个标记,下一次你访问同一个站点时,站点的页面会查找这个标记。每个WEB站点都有自己的标记,标记的内容可以随时读取,但只能由该站点的页面完成。每个站点的Cookie与其他所有站点的Cookie存在同一文件夹中的不同文件内(你可以在Windows的目录下的Cookie文件夹中找到它们)。一个Cookie就是一个唯一标识客户的标记,Cookie可以包含在一个对话期或几个对话期之间某个WEB站点的所有页面共享的信息,使用Cookie还可以在页面之间交换信息。Request提供的Cookies集合允许用户检索在HTTP请求中发送的cookie的值。这项功能经常被使用在要求认证客户密码以及电子公告板、WEB聊天室等ASP程序中。,语法Request.Cookies(cookie)(key)|.attribute参数cookie指定要检索其值的cookie。key可选参数,用于从cookie字典中检索子关键字的值。attribe指定cookie自身的有关信息。如:HasKeys只读,指定cookie是否包含关键字。,说明1:可以通过包含一个key值来访问cookie字典的子关键字。如果访问cookie字典时未指定key,则所有关键字都会作为单个查询字符串返回。例如,如果MyCookie有两个关键字,First和Second,而在调用Request.Cookies时并未指定其中任何一个关键字,那么将返回下列字符串。First=frstkeyvalue&Second=secondkeyvalue,说明2:如果客户端浏览器发送了两个同名的cookie,那么Request.Cookie将返回其中路径结构较深的一个。例如,如果有两个同名的的cookie,但其中一个的路径属性为/www/而另一个为/www/home/,客户端浏览器同时将两个cookie都发送到/www/home/目录中,那么Request.Cookie将只返回第二个cookie。,要确定某个cookie是不是cookie字典(cookie有否有关键字),可使用下列脚本。如果myCookie是一个cookie字典,则前面的赋值为TRUE。否则,为FA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论