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

下载本文档

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

文档简介

第五章 Request和Response对象,本章主要内容,对象的概念 Request对象 Response对象 利用Cookie保存用户信息,5.1对象的基础知识,对象的概念 把一些功能封装起来,使用者只要知道如何来使用这个对象就可以利用这个对象的功能,不需要了解其内部的工作原理 。 对象一般都具有属性、方法和事件的特性 ASP内部对象 Response:向客户端发送信息。 Request:从客户端获得信息。 Session:储存单个用户(浏览器)的信息。 Application:存放在一个应用程序中,所有用户(浏览器)共享的信息。 Server:用来创建COM组件或Scripting组件以及进行各种编码用。,5.2 Request对象,功能:获取客户端向服务器端提交的信息。 语法:Request.collection|property|method(variable),1. Request对象的集合,ClientCertificate 集合从 Web 浏览器发布请求中获取验证字段,如果没有发送验证,集合将返回 EMPTY。 ServerVariables 集合检索预定的环境变量。 Cookies 集合允许用户检索在 HTTP 请求中发送的 cookie 的值。 Form 集合通过使用 POST 方法的表单检索 HTTP 请求正文中的表单元素的值,支持 application/x-www-form-urlencoded 和 multipart/form-data 两种格式。 QueryString 集合检索 HTTP 查询字符串中变量的值,HTTP 查询字符串由问号 (?) 后的值指定。,2.Request对象的属性和方法,TotalBytes 属性:指定客户端在请求正文中发送的总字节数。该属性只允许读。 BinaryRead 方法:获取作为 POST 请求的一部分而从客户端传送到服务器的数据,格式为二进制。,3. 使用Request对象的集合,一般通过“request.集合名称”调用,也可以通过调用 Request(variable) 直接使用所有的变量,而不需要集合的名称。Web 服务器可以按照下面的顺序搜索集合。 QueryString Form Cookies ClientCertificate ServerVariables 如果同名的变量出现在多个集合中,Request 对象返回遇到的第一个实例。,5.3 Request对象的form方法,1.创建表单: 2.表单元素 Text:文本框,可用于显示信息和接受用户的输入。 Password:密码框,可用于显示信息和接受用户的输入,用*表示字符。 Radio:单选按钮,多选一。 Checkbox:复选框,可多选。,5.3 Request对象的form方法,2.表单元素 select:下拉列表或者列表框,可用于显示信息,提供用户选择的选项。 textarea:文本区域,可用于显示信息和接受用户的输入,用*表示字符。 file:文件选择,可以选择提交的文件。,5.3 Request对象的form方法,3.接受表单数据 Request.form(“对象名称”) 注意checkbox,select元素接受的可能是多个值,值之间用“,”隔开,可以使用split分隔获取各个值。方法:split(字符串变量,“,”),Split函数的使用,语法:Split(expression, delimiter, limit, compare) 功能:Split函数返回一个下标从零开始的一维字符串数组,它包含字符串(expression)里指定数目(count)的子字符串。,Split函数的使用,expression参数是必需的。包含子字符串和分隔符的字符串表达式 。如果expression是一个长度为零的字符串(“”),Split则返回一个空数组,即没有元素和数据的数组 。 delimiter参数是可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(“ ”)作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。 count参数是可选的。要返回的子字符串数,1表示返回所有的子字符串。 compare 可选的。数字值,表示判别子字符串时使用的比较方式。,Split函数的使用,dim a dim expression as string expression=“abc,abcde,abfdc,12fd“ a=Split(expression,“.“) 执行后: a(0)=“abc“ a(1)=“abcde“ a(2)=“abfdc“ a(3)=“12fd“,Request的form实例,创建用户登录的网页。要求 1.dl.asp:表单网页,填入信息。 2.yz.asp:用户验证网页,验证提交的信息。 客户端验证:数据格式验证。经常使用数据类型测试函数,例如isnumber,isdate等。 服务器端验证:数据内容验证。,5.4 QueryString方法,传递方法: 自己构造超级链接: 信息 使用表单,表单方法为:Get时,提交后生成与上面类似的链接 接收方法: Request.QueryString(”参数名称”),5.5 ServerVariables方法,服务器端变量的访问方法如下: Request.ServerVariables(“服务器端变量名称”) 常用的服务器端变量,5.5 ServerVariables方法,获取全部的服务器端变量 For each x in Request.ServerVariables A=x 获取对象名称 获取对象元素的值 B=request.servervaribales(x) next,5.6 ClientCertificate方法,服务器端变量的访问方法如下: Request. ClientCertificate(“服务器端变量名称”) 获取全部的客户端变量 For each x in Request. ClientCertificate A=x 获取对象名称 获取对象元素的值 B=request. ClientCertificate(x) next,5.3 Response对象,Response对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以HTML的格式发送到用户端的浏览器,它与Request组成了一对接收、发送数据的对象,这也是实现动态的基础。 语法: response.collection|property|method,Response对象的属性,Buffer:表明页输出是否被缓冲。 CacheControl:决定代理服务器是否能缓存 ASP 生成的输出。 Charset:将字符集的名称添加到内容类型标题中。 ContentType:指定响应的 HTTP 内容类型。 Expires:在浏览器中缓存的页面超时前,指定缓存的时间。 ExpiresAbsolute:指定浏览器上缓存页面超时的日期和时间。 IsClientConnected:表明客户端是否与服务器断开。 Pics:将 PICS 标记的值添加到响应的标题的 PICS 标记字段中。 Status服务器返回的状态行的值。,Buffer属性,该属性用于指定页面输出时是否用到缓冲区。当它为True时,直到整个Active Server Page执行结束后才会将结果输出到浏览器上。如: Buffer示例 “) next% 网页执行时,整个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。 应该在 .asp 文件的第一行调用 Response.Buffer,Expires属性,该属性用于设置浏览器缓存页面的时间长度(单位为分),指定了在浏览器上缓冲存储的页距过期还有多少时间。如果用户在某个页过期之前又回到此页,就会显示缓冲区中的版本。 如果必须每次都得到新的网页,通过如下设置: 通过在ASP文件中加入这一行代码,要求每次请求是刷新页面,因为Response一收到页面就会过期。,ExpiresAbsolute属性,ExpiresAbsolute 属性指定缓存于浏览器中的页的到期日期和时间。 在未到期之前,若用户返回到该页,该缓存的页就显示,否则请求新的网页。如果未指定时间,该主页在当天午夜到期。如果未指定日期,则该主页在脚本运行当天的指定时间到期。 例如,Response对象的方法,AddHeader:从名称 到 值 设置 HTML 标题。 AppendToLog:在该请求的 Web 服务器日志条目后添加字符串。 BinaryWrite:将给出信息写入到当前 HTTP 输出中,并且不进行任何字符集转换。 Clear:清除任何缓冲的 HTML 输出。 End:停止处理 .asp 文件并返回当前的结果。 Flush:立即发送缓冲的输出。 Redirect:将重指示的信息发送到浏览器,尝试连接另一个 URL。 Write:将变量作为字符串写入当前的 HTTP 输出。,AddHeader方法,AddHeader 方法用指定的值添加 HTML 标题。该方法常向响应添加新的 HTTP 标题。它并不替代现有的同名标题。一旦标题被添加,将不能删除。 由于 HTTP 协议要求所有的标题都必须在内容之前发送,所以您必须在任何的输出(例如由 HTML 或 Write 方法生成的输出)发送到客户端之前在脚本中调用 AddHeader。但当 Buffer 属性被设置为 TRUE 时例外。若输出被缓冲,那么您就可以在脚本中的任何地方调用 AddHeader 方法,只要它在 Flush 之前执行即可。否则,对 AddHeader 的调用将产生一个运行错误。,Write方法,Response.Write(常量|变量|表达式) 可以直接用Write方法在网页中输出任何HTML标签,输出时,只需把这些标签当作字符串型常量即可。,Redirect方法,该方法使浏览器可以重新定位到另一个URL上,这样,当客户发出Web请求时,客户被重新定位到相应的页面。,End方法,该方法用于告知Active Server当遇到该方法时停止处理ASP文件。 如果Response对象的Buffer属性设置为True,这时End方法即把缓存中的内容发送到客户并清除冲区。所以要取消所有向客户的输出民,可以先清除缓冲区,然后利用End方法。如: 0 then Response.Clear Response.End end if%,Clear方法,Clear 方法删除缓冲区中的所有 HTML 输出。但 Clear 方法只删除响应正文而不删除响应标题。可以用该方法处理错误情况。请注意,如果未将 Response.Buffer 设置为 TRUE,则该方法将导致运行时错误。 语法 Response.Clear,Response的cookies集合,向客户机写入一些网站信息 Response.Cookies(cookie)(key)|.attribute=变量,常量 设置 cookie 的值。若指定的 cookie 不存在,则创建它。若存在,则设置新的值并且将旧值删去。 向Cookie写数据 注意: 起用缓冲区:Response.Buffer=true 设置有效期:Response.Cookies(“Cookie名称”).Expires=日期 单键值Cookie的创建 Response.Cookies(“Cookie名称”)=值 Response.Cookies(“Cookie名称”).Expires=日期 多键值的Cookie的创建 Response.Cookies(“User”)(“Name”)=”Conquer” Response.Cookies(“User”)(“S

温馨提示

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

评论

0/150

提交评论