WEB程序设计-第六章-Response和Request_第1页
WEB程序设计-第六章-Response和Request_第2页
WEB程序设计-第六章-Response和Request_第3页
WEB程序设计-第六章-Response和Request_第4页
WEB程序设计-第六章-Response和Request_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

第六章Response和Request6.1Response对象对象Response集合Cookies属性BufferExpiresExpiresAbsoluteIsClientConnected方法BinaryWriteClearEndFlushRedirectWrite6.1.1Response对象的方法【例】使用Response对象的Write方法向客户端浏览器输出一个完整的HTML文件。输入以下内容,以response1.ASP作为文件名保存:<%@LANGUAGE="VBScript"%><HTML><HEAD><TITLE>Write方法应用例如</TITLE></HEAD><BODY><%Fori=1To7Response.Write"<FONTSIZE="&i&">字号大小:"&i&"</FONT>"&"<BR>"Next%></BODY></HTML>6.1.1Response对象的方法用浏览器翻开文档,将显示如下图的页面。Response.Write方法与VBScript中的Document.Write区别:Response对象是ASP内置对象,其Write方法的功能是从Web效劳器向客户端浏览器输出数据;Document是浏览器的对象,其Write方法的功能是直接向浏览器输出数据。6.1.2Response对象的方法1.Buffer属性─设置页面输出缓冲Response对象的Buffer属性指定是否缓冲页面输出。语法格式如下:Response.Buffer=Ture|False如果将Buffer属性设置为True,那么只有当前页的所有效劳器脚本处理完毕或者调用了Flush或End方法后,效劳器才将响应发送给客户端。使用Buffer属性时,要注意以下几点:(1)设置Buffer属性的语句应该放在<%@LANGUAGE=…%>命令后面的第一行。(2)在IIS5.0及以后版本中,Buffer属性的默认值为True(在早期版本中默认值为False),也可以使用Internet信息效劳管理单元来设置Buffer属性的默认值。

6.1.2Buffer属性Response对象的Buffer属性指定是否要缓存输出结果。

<%response.Buffer=true%><html><body><%fori=1to100response.write(i&"<br/>")next%></body></html>6.1.3Response对象的方法Flush方法─发送缓冲区中的内容调用Response对象的Flush方法可以立即发送缓冲区中的内容输出。因为当Response对象的Buffer属性设置为True,response对象先输出到缓冲区。当缓冲页面输出后,将删除缓冲区中的所有内容。Clear方法─删除缓冲区中的内容调用Response对象的Clear方法可以删除缓冲区中的所有HTML输出,但只删除响应正文而不删除响应标题。注意,如果在Buffer属性设置为False的页面中调用Clear或Flush方法,都将导致运行错误。End方法─停止处理脚本使用Response对象的End方法可以使Web效劳器停止处理ASP脚本并返回当前结果,文件中剩余的内容将不处理。如果Response对象的Buffer属性被设置成True,那么调用End方法会立即把缓冲区中的内容发送到客户端并去除缓冲区。Clear和End方法<%response.Buffer=true%><html><body><%fori=1to100response.write(i&"<br/>")nextresponse.clear%></body></html>Clear方法用于去除到目前为止缓存的输出结果。End方法将停止处理脚本并将当前结果返回到浏览器。

<%response.Buffer=true%><html><body><%fori=1to50response.write(i&"<br/>")nextresponse.Endfori=51to100response.write(i&"<br/>")next%></body></html>6.1.4Response对象的属性Expires属性─设置页面在客户端保存时间

Response对象的Expires属性用于指定该页面多长时间过期。语法格式为:

Response.Expires[=number]

其中number参数指定缓存的页面多少分钟过期。ExpiresAbsolute属性─设置页面在客户端保存到什么时间

Response对象的ExpiresAbsolute属性指定缓存于浏览器中的页面到期的日期和时间。语法格式如下:

Response.ExpiresAbsolute[=[date][time]]

其中date参数指定页面的到期日期,time参数指定页的到期时间。Expires<%response.Expires=1440%><%response.ExpiresAbsolute=#October11,200616:00:00#%>6.1.5IsClientConnected属性<%Ifresponse.IsClientConnected=truethenresponse.write("用户仍处于连接状态!")elseresponse.write("用户已断开连接!")endif%>IsClientConnected属性可用于确定用户是否仍连接着效劳器。6.1.6Response对象的方法Redirect方法─连接到指定URLResponse对象的Redirect方法可以使浏览器连接到其他URL。语法格式如下:

Response.RedirectURL【例】使用Response对象的Redirect方法。(1)输入以下内容,以redirect1.HTM作为文件名保存:<HTML><BODY><FORMACTION="redirect2.ASP"METHOD=post><INPUTTYPE="radio"NAME="radGN"VALUE="1"CHECKED>教师<BR><INPUTTYPE="radio"NAME="radGN"VALUE="2">学生<BR><INPUTTYPE="radio"NAME="radGN"VALUE="3">教务员<BR><INPUTTYPE="radio"NAME="radGN"VALUE="4">管理员<BR><BR><INPUTTYPE=submitVALUE="转到网页"></FORM></BODY></HTML>6.1.6Response对象的方法〔2〕输入以下内容,以redirect2.ASP作为文件名保存:<%n=Request.Form("radGN") '获得选择的值SelectcasenCase"1"Response.Redirect"CJGL_JS.asp"Case"2"Response.Redirect"CJGL_XS.asp"Case"3"Response.Redirect"CJGL_JWY.asp"Case"4"Response.Redirect"CJGL_GLY.asp"Endselect%>6.1.7Response对象的集合

Response对象只有一个集合,即Cookies集合。关于该集合及其属性的简要描述在表中列出。集合说明Cookies设置Cookie的值Cookies集合的属性Domain指定Cookie仅被发送到对该域的请求中Expires指定Cookie的过期日期HasKeys指定Cookie是否包含关键字Path指定Cookie仅只发送到对该路径的请求中Secure指定Cookie是否安全Cookies是用户访问某些网站时,由Web效劳器在客户端磁盘上写入的一些小文件,用于记录浏览者的个人信息、浏览器类型、何时访问该网站以及执行过哪些操作等。6.1.7Response对象的集合1.设置Cookie的值使用Response对象的Cookies集合可以设置客户端的Cookie值。语法格式如下:Response.Cookies(name)[(key)]=value其中参数name指定Cookie的名称。参数value指定分配给Cookie的值。参数key是可选的,用于指定Cooike的关键字。2.设置Cookie的属性Cookie的属性用于指定Cookie自身的有关信息。语法格式如下:Response.Cookies(name).attribute=value其中参数attribute指定属性的名称,可以是以下属性之一。Domain:只允许写。如果设置该属性,那么Cookie将被发送到对该域的请求中去。Expires:只允许写,用于指定Cookie的过期日期。为了会话结束后将Cookie存储在客户端磁盘上,必须设置该日期。HasKeys:只允许读,用于确定Cookie是否包含关键字。Path:只允许写。如果被指定,那么Cookie将只发送到对该路径中。Secure:只允许写,用于指定Cookies是否平安。6.1.7Response对象的集合【例】使用Response对象Cookie向客户端写入Cookie值。输入以下内容,以Cookie.ASP作为文件名保存:<%@LANGUAGE="VBScript"%><%Response.Cookies("University")=“内蒙古大学"Response.Cookies("Dept")="计算机系"Response.Cookies("User")("Name")="王红"Response.Cookies("User")("LoginName")="wanghong"Response.Cookies("User")("E-mail")="wh@"Response.Cookies("User")("Visited")=Now()Response.Cookies("User").Expires=Date()+7%><HTML><HEAD><TITLE>向客户端写入Cookies值</TITLE></HEAD><BODY></P>保存登录用户的单位、系和登录信息</P></BODY></HTML>6.1.7Response对象的集合Cookie文件的存储位置与所使用的操作系统有关:如果使用的是Windows,并且以管理员Administrator身份登录,可以在\DocumentsandSettings\Administrator\Cookies文件夹中找到该文件。在记事本程序中翻开Cookie文件,将会发现其中记录着Cookies字典名称、各个键的名称和值。Settings\zzz\Cookies文件夹中有的zzz@127.0.0[1].txt文件内容如图。6.2Request对象

Request对象的主要功能是从客户端取得信息,包括获取浏览器种类、表单中的数据、Cookies中的数据和客户端认证等,语法如下:Request[.数据集合|属性|方法](变量)内部对象Request拥有以下5个数据集合:Form 取得客户端表格元素中所填入的信息。QueryString 取回URL请求字符串。ServerVariables 取得效劳器端环境变量的值。ClientCertificate 从客户端取得身份验证的信息。Cookies 取得客户端浏览器的Cookies值对象Request集合FormQueryStringServerVariablesClientCertificateCookies属性TotalBytes方法BinaryRead6.2.1Request对象集合应用1.检索查询字符串使用Request对象的QueryString集合可以检索HTTP查询字符串中变量的值,语法格式如下:Request.QueryString(variable)[(index)|.Count]其中variable指定要检索的变量名;Count给出QueryString集合中变量的个数,如果没有查询字符串被发送,那么Count属性值为0。生成HTTP查询字符串比较常用的方法有以下3种〔1〕在浏览器地址栏中键入请求网页的URL时,可以在URL后面键入问号“?”和查询字符串。〔2〕当通过HTML表单提交数据时,如果将表单的METHOD属性设置为get,那么表单数据将附在查询字符串中被发送到效劳器端。6.2.1Request对象介绍【例】表单信息的提交。输入以下内容,以Flogin1.HTM作为文件名保存:<HTML><HEAD><TITLE>用户信息</TITLE></HEAD><BODY><H1>登录个人信息</H1><FORMNAME="flogin"METHOD="get"ACTION="E5_Flogin1.ASP"><P>学号:<INPUTTYPE="text"NAME="txtXH"></P><P>姓名:<INPUTTYPE="text"NAME="txtXM"></P><P>专业:<INPUTTYPE="text"NAME="txtZY"></P><P><INPUTTYPE="submit"NAME="btnOk"VALUE="提交"><INPUTTYPE="reset"NAME="btnEsc"VALUE="重置"></P></FORM></BODY></HTML>6.2.1Request对象介绍【例】在静态网页中通过Get方法提交表单数据,在动态网页E5_Flogin1.ASP中通过QueryString集合检索数据。输入以下内容,以E5_flogin1.ASP作为文件名保存:<HTML><HEAD><TITLE>检索查询字符串例如</TITLE></HEAD><BODY><H4>你输入的登录个人信息如下</H4><%Response.Write"学号:"&Request.QueryString("txtXH")&"<BR>"Response.Write"姓名:"&Request.QueryString("txtXM")&"<BR>"Response.Write"专业:"&Request.QueryString("txtZY")&"<BR>"%></BODY>6.2.1Request对象介绍用浏览器翻开文档,将显示如下图的单击“提交”,将显示如下图的页面。6.2.1Request对象介绍(3)使用A标记创立超文本链接时,可以将查询字符串放在URL后面,并使用问号“?”来分隔URL与查询字符串。例如:<AHREF=:///dept/MCS.asp?xm=“王红”>进入个人页面</A>使用Request对象的QueryString集合检索HTTP查询字符串中变量的值可分别以下情况处理:根据变量名称得到相应的值多个值指派给同一个变量如果将多个值指派给同一个QueryString变量,那么检索变量时应指定index的值,index参数可以是1到Request.QueryString(variable).Count的任意值。得到QueryString集合中的所有变量的值使用For…Next或ForEach…Next语句可以得到QueryString集合中的所有工程。<%Dimuname() Uname(i)=Request.QueryString(i)Next%>Request.QueryString使用例如<HTML><BODY><P>单击该链接以创立查询字符串。</P><BR><ahref="Ch2ex6b.asp?name=Mark&name=Twain&name=Richard">具有查询字符串的超链接</a></BODY></HTML><HTML><BODY><P>查询字符串的值是:</P><%fori=1toRequest.QueryString("name").CountResponse.Write(Request.QueryString("name")(i)&"<br>")

next%></BODY></HTML>查询字符串可包含多个值6.2.2Request对象介绍

检索表单数据使用Form集合可以检索在HTTP请求中通过post方法发送的表单控件的值,语法格式如下:

Request.Form(element)[(index)|.Count]

其中element指定集合要检索的表单控件的名称;

index是可选参数,使用该参数可以访问某参数中多个值中的一个,可以是1到Request.Form(element).Count之间的任意整数,Request.Form(element)的值是请求正文中所有element值的数组。使用ForEach…Next语句可以遍历表单请求中的所有数据值。使用下面的脚本可以Form集合中所有控件的名称和值:

<%ForEachnrInRequest.FormResponse.Writenr&“=“&Reqyest.Form(nr)&“<BR>“Next%>

6.2.2Request对象介绍【例】创立登录表单,并且通过POST方法提交表单数据。输入以下内容,以E5_Flogin2.HTM作为文件名保存:<TITLE>用户信息</TITLE></HEAD><BODY><H3>登录个人信息</H3><FORMNAME="flogin"METHOD="post"ACTION="E5_Flogin2.ASP"><P>学号:<INPUTTYPE="text"NAME="txtXH"></P><P>姓名:<INPUTTYPE="text"NAME="txtXM"></P><P>专业:<INPUTTYPE="text"NAME="txtZY"></P><P>性别:<INPUTTYPE="radio"NAME="radXB"VALUE="男"CHECKED>男  <INPUTTYPE="radio"NAME="radXB"VALUE="女">女</P><P>班干否:<INPUTTYPE="checkbox"NAME="chkBG"VALUE="是">  团员否:<INPUTTYPE="checkbox"NAME="chkTY"VALUE="是">  助学贷款否:<INPUTTYPE="checkbox"NAME="chkZXDK"VALUE="是"><P>来源:6.2.2Request对象介绍<SELECTSIZE=1NAME="optLY"><OPTIONSELECTED>江苏

<OPTION>上海

<OPTION>浙江

<OPTION>其他</SELECT><P><INPUTTYPE="submit"NAME="btnOk"VALUE="提交"><INPUTTYPE="reset"NAME="btnESC"VALUE="重置"></P></FORM></BODY></HTML>

【例】创立登录表单,并且通过POST方法提交表单数据。6.2.2Request对象介绍〔2〕输入以下内容,以Flogin2.ASP作为文件名保存:<%@LANGUAGE="VBScript"%><HTML><HEAD><TITLE>检索表单数据例如</TITLE></HEAD><BODY><H3>你输入的登录个人信息如下</H3>学号:<%=Request.Form("txtXH")%><P>姓名:<%=Request.Form("txtXM")%><P>专业:<%=Request.Form("txtZY")%><P>性别:<%=Request.Form("radXB")%><P>班干否:<%IfRequest.Form("chkBG")<>""ThenResponse.WriteRequest.Form("chkBG")EndIf%>6.2.2Request对象介绍

团员否:<%IfRequest.Form("chkTY")<>""ThenResponse.WriteRequest.Form("chkTY")EndIf%>

助学贷款否:<%IfRequest.Form("chkZXDK")<>""ThenResponse.WriteRequest.Form("chkZXDK")EndIfResponse.Write"<P>来源:"&Request.Form("optLY")&"<P>"%></BODY></HTML>〔2〕输入以下内容,以Flogin2.ASP作为文件名保存6.2.2Request对象介绍用浏览器翻开文档,将显示如下图的页面。单击“提交”,将显示如下图的页面。6.2.3TotalBytes和BinaryRead<%DimintA,arrayBintA=Request.TotalBytesarrayB=Request.BinaryRead(intA)%><%DimintAintA=Request.TotalBytes%>TotalBytes

属性:返回客户端在请求正文中发送的字节总数。BinaryRead方法:用于获取作为POST请求而从客户端传送到效劳器的局部数据。6.2.4Request.ServerVariables集合<%@LANGUAGE="VBScript"%><HTML><HEAD><TITLE>使用Request对象</TITLE></HEAD><BODY><%ForEachiteminRequest.ServerVariablesResponse.Write(item&"="&Request.ServerVariables(item)&"<BR>")Next%></BODY></HTML>用于取得预定义环境变量的值。6.2.5Request对象介绍

检索Cookies信息使用Request对象的Cookies集合可以检索在HTTP请求中发送的Cookie的值,语法格式如下:

Request.Cookies(name)[(key)|.attribute

其中参数name指定要检索其值的Cookie的名称;

key是可选参数,用于指定name下的几个方面关键字;

attribute参数仅支持HasKeys属性,用于确定Cookie是否包含关键字。保存Cookie值到客户端计算机<%Response.Cookies(“University”)=“内蒙古大学”Response.Cookies(“Dept”)=“计算机系”Response.Cookies(“User”)(“Name”)=“王红”Response.Cookies(“User”)(“LoginName”)=“wangho

温馨提示

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

评论

0/150

提交评论