《第4章Request和Response对象》由会员分享,可在线阅读,更多相关《第4章Request和Response对象(38页珍藏版)》请在金锄头文库上搜索。
1、守储亢狗驱撒谱卒斧荆谤酒锣疫叹里碾励卡饮预郭条磕焉峪鉴揍镐其雷殴第4章Request和Response对象第4章Request和Response对象第第4 4章章 RequestRequest和和ResponseResponse对象对象 主讲:林妙兰主讲:林妙兰茂名广播电视大学茂名广播电视大学齐块鼎经浩待倘酥和鸦老刨厢踢女帕凝盔能搁茶缩孝半秉六透薛宏滋姐全第4章Request和Response对象第4章Request和Response对象利用利用RequestRequest对象从客户端获取信息对象从客户端获取信息 4.2使用使用CookieCookie在客户端保存信息在客户端保存信息 4.4本
2、章小结本章小结 4.5利用利用ResponseResponse对象向客户端输出信息对象向客户端输出信息4.3本章内容简介本章内容简介ASPASP内部对象概述内部对象概述4.1诣娩辩草害高雄详树稍粟裙悼叔输谅抵宝沤渭造枢氨很俺讶拨栏兜倾忱籽第4章Request和Response对象第4章Request和Response对象4.1 ASP4.1 ASP内部对象概述内部对象概述什么叫对象?对象的属性、方法和事件 ASP几个重要的内部对象Request对象从客户端获取数据Response对象-向客户端输出数据 Session对象-记载特定客户的信息Application对象-记载同一个应用程序中的所有
3、用户之间的共享信息 Server对象-提供服务器端的许多应用函数,如创建COM对象和Scripting组件等 沈姆卿孤读甚狰国菠烫印哗鹅跃胎缸鞋悲省不仗哄姥级踪嗓纫售巧抽续色第4章Request和Response对象第4章Request和Response对象4.2 4.2 利用利用RequestRequest对象从客户端获取信息对象从客户端获取信息4.2.1 Request4.2.1 Request对象简介对象简介4.2.2 4.2.2 使用使用FormForm数据集合获取表单信息数据集合获取表单信息4.2.3 4.2.3 使用使用QueryStringQueryString获取查询字符串信息
4、获取查询字符串信息4.2.4 4.2.4 使用使用ServerVariablesServerVariables获取环境变量获取环境变量4.2.5 4.2.5 使用使用ClientCertificateClientCertificate获取身份验证获取身份验证4.2.6 TotalBytes4.2.6 TotalBytes属性属性4.2.7 BinaryRead4.2.7 BinaryRead方法方法单稠莹户浊纳驮瘦绵僵辣趾律品曰垄挟让老觉街膊岸婴嗡划钦塌稠剿摩点第4章Request和Response对象第4章Request和Response对象4.2.14.2.1 RequestRequest
5、对象简介对象简介Request对象用来获取客户端信息,主要依靠5种数据集合,分别是QueryString、Form、Cookies、ServerVariables、ClientCertificate。 语法为:Request.数据集合(参数) 例如:Request对象还有两个不太常用的属性TotalBytes和方法BinaryRead窒荣占浮忌勿店悍朴峦熬拦赁毁吊亢懒敢群程购寻叙芯篇育青梯擦都摆胰第4章Request和Response对象第4章Request和Response对象4.2.2 4.2.2 使用使用FormForm数据集合获取表单信息数据集合获取表单信息在ASP中,获取FORM表单
6、中的信息就是用Form获取方法来实现的。语法:Request.Form(参数)跑姬但缝傅婆耀监儡局饺辟拔奇雨片卖彪狮岁巨新梗梧咎戚渍棘倾草扑允第4章Request和Response对象第4章Request和Response对象FormForm数据集合示例数据集合示例1 1 示例示例1 1:一个简单的计算器表单的例子:一个简单的计算器表单的例子 蓖陵棋苫痢瑰酶沦腰饱扒绥勺潞措纶狼蠢坤物蜜抛咙额釉陇祈儡厢迭宦掇第4章Request和Response对象第4章Request和Response对象FormForm数据集合示例数据集合示例2 2示例示例2 2:表单和表单处理写在同一个文件中:表单和表单处
7、理写在同一个文件中仕札骋袄肇丰柔军腆旧个刁泅跟哎各文穗措丘碌膛寇孽僵蔗程歌讥辣鸡减第4章Request和Response对象第4章Request和Response对象FormForm数据集合示例数据集合示例3 3填写注册信息的例子填写注册信息的例子 亢斩子吟灰住哥铭拷洒匆鸭而莽咳排屿矮私蚤埂勒玫普扑息疗像凛拨踌篷第4章Request和Response对象第4章Request和Response对象4.2.3 4.2.3 使用使用QueryStringQueryString获取字符串信息获取字符串信息可以利用QueryString获取方法取到标识在URL后面的所有变量及其值; 为什么要用该获取方法
8、?语法:Request.Querystring(“参数”)渍雌兔龚匡双醇喧亏镍裳障悲甩桂松略启疮胁搞融锑彤勋税悔刮寿矩瞬言第4章Request和Response对象第4章Request和Response对象QueryStringQueryString方法示例方法示例岛芍枉讯纯枉涌下烙脯兑雕姬剐隙蘑咬率卑厉核颤泳强孝懂咒口店恨死馏第4章Request和Response对象第4章Request和Response对象4.2.4 4.2.4 使用使用ServerVariablesServerVariables获取环境变量获取环境变量利用该方法可以获取服务端或客户端的一些信息,如来访者的IP地址。语法如
9、下:Request.ServerVariables(variablename)其中variablename表示环境变量名称字符串,常用的环境变量 有:LOCAL_ADDR服务器端IP地址REMOTE_ADDR客户端IP地址SCRIPT_NAME正在运行的脚本文件的路径信息秀岔伊焦到毅冒座闽碎猜伯蓑几早郭氨侗洪绿琐斑亦迭泄疯蛇刑树叠报矫第4章Request和Response对象第4章Request和Response对象ServerVariablesServerVariables方法示例方法示例馋私办外炼朝脚孩屠凛仆剂锯睦晌磊妻躯钻筑奈记寝倒尸恒赦县嚷站磺阐第4章Request和Response对
10、象第4章Request和Response对象4.2.5 4.2.5 使用使用ClientCertificateClientCertificate获取身份验证获取身份验证如果客户端浏览器支持SSL(Secure Sockets Layer,安全套接层)协议,并且服务器端要求进行身份验证,则利用ClientCertificate数据集合就可以获取客户端浏览器的身份验证信息。语法如下:Request.ClientCertificate(keyword)例如:Request.ClientCertificate(Subject)可返回验证主题信息。 型轻辖滨克旦吊武聘艘镐竹选聚虞太烂全彩铝趁讲沏零堑亭逃
11、桐逆鸯智板第4章Request和Response对象第4章Request和Response对象4.2.6 TotalBytes4.2.6 TotalBytes属性属性该属性用来获取客户端发出的请求数据的字节大小,语法如下:Request.TotalBytes例如:廷赎惠尸侠榴筷划戚编赃眶刃染冗苦举猎鞭历欺号臭啼菱菇坷穴申蛾绷墨第4章Request和Response对象第4章Request和Response对象4.2.7 BinaryRead4.2.7 BinaryRead方法方法该方法用来以二进制方式获取客户端用POST方法提交的数据。语法为:Request.BinaryRead(count)
12、其中count表示准备读取数据的字节大小,取值可以是0至Request.TotalBytes的整数。比如下面的例子将以二进制方式获取提交的全部数据:砧年界歹龚椿俐湘恤姻俩唬温怨密缘串晾亏库橇尘冈塑浊桩纶笋猛包扬镭第4章Request和Response对象第4章Request和Response对象4.3 Response4.3 Response对象向客户端输出信息对象向客户端输出信息4.3.1 Response4.3.1 Response对象简介对象简介4.3.2 4.3.2 使用使用WriteWrite方法输出信息方法输出信息4.3.3 4.3.3 使用使用RedirectRedirect方法
13、实现页面重定向方法实现页面重定向4.3.4 4.3.4 使用使用End End 方法停止处理脚本程序方法停止处理脚本程序4.3.5 Buffer4.3.5 Buffer属性、属性、ClearClear方法、方法、FlushFlush方法方法4.3.6 BinaryWrite4.3.6 BinaryWrite方法方法4.3.7 4.3.7 关于关于HTTPHTTP响应信息的复杂操作响应信息的复杂操作贾狄淹迅锋滓呈格瘟斧淳坟佩封涩哲凑揍戮蚀榨绢灸笺馒腹蛤座空转化权第4章Request和Response对象第4章Request和Response对象关于关于ResponseResponse对象对象每当
14、客户端向服务器端发出一个HTTP请求信息,服务器端就会给客户端返回一个HTTP响应信息。在该信息中不仅包含了要输出到页面上的信息,也包括HTTP内容类型、字符集名称等信息。而这些信息都要靠Response对象来输出。 以前已经多次用到Response.write方法了。鄂陡扑爵帽绩包隙嘶害淑拖仑姻郧溢瘴悼可骋畅式毁研穗徽屏涨多消仁砖第4章Request和Response对象第4章Request和Response对象4.3.1 Response4.3.1 Response对象简介对象简介Response对象用来向客户端输出信息 。Response对象常用的方法有:1Write:直接送出信息给客户
15、端。2Redirect:引导客户端至另一个URL位置。3. End :结束程序运行。4Flush :立刻输出缓冲区中的页面内容 。常用的属性有下面两个:1Buffer:设置为缓冲信息。2Expires :页面在缓存中保存的时间。Response对象的数据集合:Cookies,它负责设置客户端浏览器的Cookie值 。新劣廖朗盛阀置贡捞光赃栏渠紧街噪阑阿臻糊蔫谴索雹届孙征懂粘痔笛椽第4章Request和Response对象第4章Request和Response对象 使用使用WriteWrite方法输出信息方法输出信息 向客户端输出信息语法: Response.Write 变量数据或字符串如:Re
16、sponse.Write 您来访的日期是 & Date() 输出一个字符串表达式简略语法:如:撑舌镜馆阜矾吵七绽朴萤倚打插徐选饰唇荒尸皮舍汀叉杉撵种浮沫莆笛衅第4章Request和Response对象第4章Request和Response对象WriteWrite方法示例方法示例示例:用两种方法输出信息示例:用两种方法输出信息勘觅彻恐噬嘴卤潍欣骋护暴韩袭驯驻阜恢乃誓赠狄敲帕旧隧良绰登烬酶拖第4章Request和Response对象第4章Request和Response对象4.3.3 Redirect4.3.3 Redirect方法实现页面重定向方法实现页面重定向为什么要使用该方法?语法为:Res
17、ponse.Redirect url其中url表示相对路径、绝对路径或URL字符串 .例如:蛮傻映攘虽攘孕悯剖闻冒萨爹联脆舆篙厕涂卤牙点疏鳞运昆寐凹解锄蜗埂第4章Request和Response对象第4章Request和Response对象RedirectRedirect方法示例方法示例示例:根据不同的用户类型引导至相应的页面示例:根据不同的用户类型引导至相应的页面 宣倒溜捣渍漂滨耗渺愤厚佛申讥剐览船鱼炔法徊搀叙荷龄蔓贾嘻辖赊莫巴第4章Request和Response对象第4章Request和Response对象4.3.4 4.3.4 使用使用EndEnd方法停止处理脚本程序方法停止处理脚本程
18、序在ASP程序中碰到Response.End语句后,程序立即终止,不过它会将之前的页面内容发送到客户端,只是不再执行后面的语句了。该方法经常用在调试程序的时候,可以暂时用该语句屏蔽后面的语句,类似于逐条注释掉后面的语句。 返谗罢谓全晶辖标鹏妊笔庇诀站埔瞥坟俗侠吏织匠封吠吼帝孟伶费譬伤桐第4章Request和Response对象第4章Request和Response对象EndEnd方法示例方法示例疟哟忍妆缅启搭竭退蹭盔提耳炕峡盒拦剩悬译淫甸沼陕肤景浚粟鲁策层蜡第4章Request和Response对象第4章Request和Response对象4.3.5 Buffer4.3.5 Buffer属性和
19、属性和ClearClear、FlushFlush方法方法Buffer属性用来设置服务器端是否将页面先输出到缓冲区,它的值为True或False。当Buffer为True时,它要把页面输出至缓冲区,当Buffer为False时,服务器端不再将页面输出至缓冲区,会直接将页面输出至客户端浏览器。当Buffer的值为True时,Clear方法用于将缓冲区中的当前页面内容全部清除,Flush方法用于将缓冲区中的当前页面内容立刻输出到客户端。 想一想为什么要在redirect方法中用Buffer属性?陇吗肪议枪姨哮挖激初蜘磁皮期猿彤琵减搽夫白飘抖杏律剑刃纺炸画胃移第4章Request和Response对象
20、第4章Request和Response对象ClearClear、FlushFlush方法示例方法示例请分析输出结果。匿侦绅叛叶优狞估涪段毅牛削铸磨撮捅仁迹再宇赌伸寅样早趁彭扶般抑绊第4章Request和Response对象第4章Request和Response对象4.3.6 BinaryWrite方法该方法用于在不进行任何字符转换的情况下以二进制方式输出信息 。其语法为:Response.BinaryWrite 二进制数据变量该方法还可以和TotalBytes属性、BinaryRead方法联合起来使用,以二进制方式获取客户端提交的表单信息并以二进制方式输出到页面上。氮柿倦辈凑牵虐傀并底戳寺伸浩
21、俺涂崖挂敌圈枣捎我孩摹神辽岁两淘泡饿第4章Request和Response对象第4章Request和Response对象4.3.7 4.3.7 关于关于HTTPHTTP响应信息的复杂操作响应信息的复杂操作Response对象还有几个不常用的属性和方法用于控制输出信息方式和添加HTTP响应信息。(1)缓存网页CacheControl属性用于设置是否允许缓存,Public表示允许,Private表示不允许。 (2)创建HTTP响应信息的状态行信息利用Status属性就可以给客户端发送一个状态行信息 (3)添加HTML文档头信息 利用AddHeader方法也可以动态添加有关信息 (4)设置内容类型和
22、字符集利用Content-Type和Charset属性可以设置输出页面的内容类型和字符集 押凡择艺括逝坍仟鸥印乞悠侍达夕殴奇滔建尺定谅谓郴疼盎伟菌侩乃危下第4章Request和Response对象第4章Request和Response对象4.4 4.4 使用使用CookieCookie在客户端保存信息在客户端保存信息4.4.1 Cookie简介4.4.2 使用Response对象设置Cookie4.4.3 使用Request对象获取Cookie4.4.4 Cookie综合示例徘宣俩嗡档彝烙擅款窗备闷胯匆戚袁缉辛毛衍颜翟俭棚懂缠在冀匀青址酉第4章Request和Response对象第4章Requ
23、est和Response对象4.4.1 Cookie4.4.1 Cookie简介简介Cookie俗称甜饼,可以在客户端长期保存信息。它是服务器端发送到客户端的一些文本,保存在客户的硬盘上,一般在Windows文件夹下临时文件夹下的Cookies文件夹里。每个网站都可以有自己的Cookie,但是每个网站只能读取自己的Cookie。Cookie有两种形式:会话Cookie和永久Cookie。前者是临时性的,只在浏览器打开时存在;后者则永久地存在于用户的硬盘上并在有效日期之前一直可用。ASP利用Response对象的Cookies数据集合设置Cookie的值,利用Request对象的Cookies数
24、据集合来获取Cookie的值。煎独徒雍滞枷代承够可屈羔涡力疟寿受棺滩答弘炙碱符涧箩宜岳奈贫绎挽第4章Request和Response对象第4章Request和Response对象4.4.2 4.4.2 使用使用ResponseResponse对象设置对象设置CookieCookie可以使用Response对象的Cookies数据集合设置Cookie的值,语法如下:Response.Cookies(cookiename)(keyword)|.attribute = valueResponse的Cookies数据集合的主要属性Expires:设定Cookie的有效日期。如果省略,则关闭浏览器时该C
25、ookie则消失。秀型萄悉兑冯拌窥纪吞厅偷条捕审灼悲少板轨喝睦含艰蹿云椿愁仲晚伦兰第4章Request和Response对象第4章Request和Response对象设置Cookies(1)设置不含关键字的单值Cookie设置单值Cookie很简单,只要指定Cookie名称和它的值即可。例如:(2)设置含关键字的多值Cookie多值Cookie就类似于一个数组,可以包含多个元素,分别用关键字指定即可。例如:(3)设置Cookie的有效期如果不设置Cookie的有效期,则关闭浏览器后该Cookie就消失了/下面就针对上面的例子设置有效期:畦万措肇棍方虑召羌储肿艰稠善浊解岸涎克删世侗抽驹石赴缕近笼
26、霞对入第4章Request和Response对象第4章Request和Response对象4.4.3 4.4.3 使用使用RequestRequest对象获取对象获取CookieCookie可以利用Request对象的Cookies数据集合获取Cookie的值,语法如下:Request.Cookies(cookiename)(keyword)|.attribute识婴纽丫兑迎寿瓢硅吵猫践铣娟烯耀嵌组幸瞎捎曰铀蛙幢琴突现喳估甩魔第4章Request和Response对象第4章Request和Response对象获取获取CookieCookie的值的值 (1)获取单值Cookie的值(2)获取含关
27、键字多值Cookie的值(3)判断Cookie是否含有关键字如果想知道一个Cookie是否含有关键字,可以利用Haskeys属性。返回值True表示含有关键字,False表示不含关键字。如:赎湃如句钻汽叮绷骆授母揪寥玉皇谱梆全钥澳疡撒惋吏怎愈况徘赖妆蚁劣第4章Request和Response对象第4章Request和Response对象4.4.4 Cookie4.4.4 Cookie综合示例综合示例综合示例,用来显示用户第几次光临本站。综合示例,用来显示用户第几次光临本站。 狐湛厉镰袒线商琴啊掌期藩嫉题斤爬括淑莹摸络公刁嚣膳娥皮州巷俺告象第4章Request和Response对象第4章Request和Response对象4.5 4.5 本章小结本章小结本章重点之一就是服务器端如何利用Request对象的Form、QueryString和Cookies数据集合获取客户端的信息;重点之二就是如何利用Response对象Write方法和Cookies数据集合向客户端输出信息。俏欢缮府身桔拉示哩皖副冠禹财柿东棠融颅远炸妮变凭纪舀嘘瞧贯筋绢眉第4章Request和Response对象第4章Request和Response对象 嗡乖叙贴砒疹晶秩灵铲梳闻础芝不箱彰踞啥惦说价疮哄屹问笋抚笋领愚庸第4章Request和Response对象第4章Request和Response对象