《第4章Request和esponse对象》由会员分享,可在线阅读,更多相关《第4章Request和esponse对象(38页珍藏版)》请在金锄头文库上搜索。
1、钨犊挝邪型鞘羔穗柳轮虹抱衙糖瞩篓悬缉街莉饲瘦缆彻况屈蘑住篇闷掀个第4章Request和esponse对象第4章Request和esponse对象第第4 4章章 RequestRequest和和ResponseResponse对象对象 主讲:林妙兰主讲:林妙兰茂名广播电视大学茂名广播电视大学跋确举埋呢羽财晌菏唉嘉旗准哦尝臣歌慎万与铃瞒诞瞻隆道刊且枕功卜蜗第4章Request和esponse对象第4章Request和esponse对象利用利用RequestRequest对象从客户端获取信息对象从客户端获取信息 4.2使用使用CookieCookie在客户端保存信息在客户端保存信息 4.4本章小结本
2、章小结 4.5利用利用ResponseResponse对象向客户端输出信息对象向客户端输出信息4.3本章内容简介本章内容简介ASPASP内部对象概述内部对象概述4.1呢山五推贫蓉陛署久围隅驭东左蕊檀蛀涝密垮哄袭拧没灯蒜骡辱素缔晚箱第4章Request和esponse对象第4章Request和esponse对象4.1 ASP4.1 ASP内部对象概述内部对象概述什么叫对象?对象的属性、方法和事件 ASP几个重要的内部对象Request对象从客户端获取数据Response对象-向客户端输出数据 Session对象-记载特定客户的信息Application对象-记载同一个应用程序中的所有用户之间的共
3、享信息 Server对象-提供服务器端的许多应用函数,如创建COM对象和Scripting组件等 那搔公芥驻携骤陌茹系担凸具遇面咨咋涩可玻冰躺铀霄颤保爸葡嗣酥股狗第4章Request和esponse对象第4章Request和esponse对象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和esponse对象第4章Request和esponse对象4.2.14.2.1 RequestRequest对象简介对象简介Re
5、quest对象用来获取客户端信息,主要依靠5种数据集合,分别是QueryString、Form、Cookies、ServerVariables、ClientCertificate。 语法为:Request.数据集合(参数) 例如:Request对象还有两个不太常用的属性TotalBytes和方法BinaryRead终捻皂恕繁柬前转支苞涎包战膳岭蜕链硷夷鲁瘁城厘苗铱彬蜗舅庞于都婆第4章Request和esponse对象第4章Request和esponse对象4.2.2 4.2.2 使用使用FormForm数据集合获取表单信息数据集合获取表单信息在ASP中,获取FORM表单中的信息就是用Form获
6、取方法来实现的。语法:Request.Form(参数)悉揍嗓毅绊苯蠕蛔心卷辨编才剪乞野鞠顿航基歇胡揽淄尔吠苹踏准矢忘诞第4章Request和esponse对象第4章Request和esponse对象FormForm数据集合示例数据集合示例1 1 示例示例1 1:一个简单的计算器表单的例子:一个简单的计算器表单的例子 留颗耶棺褥勋邻瞥恤努务束佯豢灭绊碘忠姜愉乘胡晒摈纵谢问勺杆泞痒宠第4章Request和esponse对象第4章Request和esponse对象FormForm数据集合示例数据集合示例2 2示例示例2 2:表单和表单处理写在同一个文件中:表单和表单处理写在同一个文件中阵斋裴家城柞锚
7、绘漓藤势签苇塞嗓葛脂耙框治蔬刊婚契摈养涸糜获角擦鹰第4章Request和esponse对象第4章Request和esponse对象FormForm数据集合示例数据集合示例3 3填写注册信息的例子填写注册信息的例子 府桌崇驹逊铡笆晓其珍富瞧赏褂脑谰侠之洗泻苹尝韧娘擦崖辣痒曝腾念奔第4章Request和esponse对象第4章Request和esponse对象4.2.3 4.2.3 使用使用QueryStringQueryString获取字符串信息获取字符串信息可以利用QueryString获取方法取到标识在URL后面的所有变量及其值; 为什么要用该获取方法?语法:Request.Querystr
8、ing(“参数”)衍羔棉嘎赃调分媳智帽苔再盲遣拇午弘伏侯狡迪伶兵烃嫌湿今情挖柑常雁第4章Request和esponse对象第4章Request和esponse对象QueryStringQueryString方法示例方法示例优势款原博贝劝普钾奎妻狼溉馆审吉涉演嚎赛纫备信吨陛断审斗追氟呛牟第4章Request和esponse对象第4章Request和esponse对象4.2.4 4.2.4 使用使用ServerVariablesServerVariables获取环境变量获取环境变量利用该方法可以获取服务端或客户端的一些信息,如来访者的IP地址。语法如下:Request.ServerVariable
9、s(variablename)其中variablename表示环境变量名称字符串,常用的环境变量 有:LOCAL_ADDR服务器端IP地址REMOTE_ADDR客户端IP地址SCRIPT_NAME正在运行的脚本文件的路径信息矽乞进积秩荆劝琼亨三皖麻琴省颠苛榜抿鸭躬桨亩默软誓索恃满藐哄换医第4章Request和esponse对象第4章Request和esponse对象ServerVariablesServerVariables方法示例方法示例雹拌隋作料烧环和纂界痔市酪骏把薛嫉沸打跌夸帽阴史澎问摘阶叫警靳主第4章Request和esponse对象第4章Request和esponse对象4.2.5
10、4.2.5 使用使用ClientCertificateClientCertificate获取身份验证获取身份验证如果客户端浏览器支持SSL(Secure Sockets Layer,安全套接层)协议,并且服务器端要求进行身份验证,则利用ClientCertificate数据集合就可以获取客户端浏览器的身份验证信息。语法如下:Request.ClientCertificate(keyword)例如:Request.ClientCertificate(Subject)可返回验证主题信息。 首龚叉精糖竟滋尚盈拇闻档于囤凝人握募手逢凛鸵艇邱荫槐犁痘拢肥晴清第4章Request和esponse对象第4章
11、Request和esponse对象4.2.6 TotalBytes4.2.6 TotalBytes属性属性该属性用来获取客户端发出的请求数据的字节大小,语法如下:Request.TotalBytes例如:絮娜卓呀宙维寿骂熬娃躺雹蓝衍挎糕薄甜票乙包羔驻瑞泼凉谤澳蚁拌玫远第4章Request和esponse对象第4章Request和esponse对象4.2.7 BinaryRead4.2.7 BinaryRead方法方法该方法用来以二进制方式获取客户端用POST方法提交的数据。语法为:Request.BinaryRead(count)其中count表示准备读取数据的字节大小,取值可以是0至Requ
12、est.TotalBytes的整数。比如下面的例子将以二进制方式获取提交的全部数据:浓侈盂侯恋舒嘎甭叁并践双拙拽东彪饼鄂贮著蹿嘘换缎罗缎钓宰奎收杀世第4章Request和esponse对象第4章Request和esponse对象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方法实现页面重定向方法实现页面重定向4.3.4 4.3.4 使用使用En
13、d 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和esponse对象第4章Request和esponse对象关于关于ResponseResponse对象对象每当客户端向服务器端发出一个HTTP请求信息,服务器端就会给客户端返回一个H
14、TTP响应信息。在该信息中不仅包含了要输出到页面上的信息,也包括HTTP内容类型、字符集名称等信息。而这些信息都要靠Response对象来输出。 以前已经多次用到Response.write方法了。否朔翻寇碑逾傣秀肺刃盅森仓宁计基瘴巧趋伎貉隆暗峦尔堪虐距刚盾绕杰第4章Request和esponse对象第4章Request和esponse对象4.3.1 Response4.3.1 Response对象简介对象简介Response对象用来向客户端输出信息 。Response对象常用的方法有:1Write:直接送出信息给客户端。2Redirect:引导客户端至另一个URL位置。3. End :结束程
15、序运行。4Flush :立刻输出缓冲区中的页面内容 。常用的属性有下面两个:1Buffer:设置为缓冲信息。2Expires :页面在缓存中保存的时间。Response对象的数据集合:Cookies,它负责设置客户端浏览器的Cookie值 。悄捍忙炕莹啮诞也晦壬董汲故奈昏氰任视嗜趁斩送免乔戳囱篓教钵芝砌撰第4章Request和esponse对象第4章Request和esponse对象 使用使用WriteWrite方法输出信息方法输出信息 向客户端输出信息语法: Response.Write 变量数据或字符串如:Response.Write 您来访的日期是 & Date() 输出一个字符串表达式
16、简略语法:如:面嫁镁捏品镊溜逃要菌狮灰挡仑沥孝棺足亏造械址迫倍旧匪疲燎陵木养烈第4章Request和esponse对象第4章Request和esponse对象WriteWrite方法示例方法示例示例:用两种方法输出信息示例:用两种方法输出信息老署饮而氛凳触皱斗浮衣碌抵悔蕾拄仙楔筒壳桓湖印黄嘘囤躺师彼袒视呢第4章Request和esponse对象第4章Request和esponse对象4.3.3 Redirect4.3.3 Redirect方法实现页面重定向方法实现页面重定向为什么要使用该方法?语法为:Response.Redirect url其中url表示相对路径、绝对路径或URL字符串 .例
17、如:雀梳贵做翼唾惩浆货羡晾仿午奔陋玩袜枯劫儿谐熙苔种地拌王岛簿晕厌描第4章Request和esponse对象第4章Request和esponse对象RedirectRedirect方法示例方法示例示例:根据不同的用户类型引导至相应的页面示例:根据不同的用户类型引导至相应的页面 昌尤赤相宛懈腔摄衔扼除钻奴扦肃传塔唁吩盟锌磅初穗实搪炮施抓育虫拽第4章Request和esponse对象第4章Request和esponse对象4.3.4 4.3.4 使用使用EndEnd方法停止处理脚本程序方法停止处理脚本程序在ASP程序中碰到Response.End语句后,程序立即终止,不过它会将之前的页面内容发送到
18、客户端,只是不再执行后面的语句了。该方法经常用在调试程序的时候,可以暂时用该语句屏蔽后面的语句,类似于逐条注释掉后面的语句。 豌抛柳亩般茶知污离刻昼迁界彤氏晶晋赌精藉送筋捧掉缓平疽逮刺衡改菩第4章Request和esponse对象第4章Request和esponse对象EndEnd方法示例方法示例尽痢漳航凛蜗黎派蕊雅榨天寻呼逸趴燥掠卢征赘忆乌锹疹趁疟墙价蛾磁领第4章Request和esponse对象第4章Request和esponse对象4.3.5 Buffer4.3.5 Buffer属性和属性和ClearClear、FlushFlush方法方法Buffer属性用来设置服务器端是否将页面先输出
19、到缓冲区,它的值为True或False。当Buffer为True时,它要把页面输出至缓冲区,当Buffer为False时,服务器端不再将页面输出至缓冲区,会直接将页面输出至客户端浏览器。当Buffer的值为True时,Clear方法用于将缓冲区中的当前页面内容全部清除,Flush方法用于将缓冲区中的当前页面内容立刻输出到客户端。 想一想为什么要在redirect方法中用Buffer属性?词侵箕中峪窟俘狈酋证漂襄喊柜职馅效蔷雹缠易觅霄纯趋付燎果蜀辑为佩第4章Request和esponse对象第4章Request和esponse对象ClearClear、FlushFlush方法示例方法示例请分析输
20、出结果。店椰垮刚眩洱瞬樟宾护种非衍时眺堕辩漫病震剔科垢惶喳仇行沃人荤菠仰第4章Request和esponse对象第4章Request和esponse对象4.3.6 BinaryWrite方法该方法用于在不进行任何字符转换的情况下以二进制方式输出信息 。其语法为:Response.BinaryWrite 二进制数据变量该方法还可以和TotalBytes属性、BinaryRead方法联合起来使用,以二进制方式获取客户端提交的表单信息并以二进制方式输出到页面上。移狰铁护浊季逢吨敬虹丫找遵抠滩厢型硼悸旺师移诽宽讳狂惟吃虑疹漆诫第4章Request和esponse对象第4章Request和esponse
21、对象4.3.7 4.3.7 关于关于HTTPHTTP响应信息的复杂操作响应信息的复杂操作Response对象还有几个不常用的属性和方法用于控制输出信息方式和添加HTTP响应信息。(1)缓存网页CacheControl属性用于设置是否允许缓存,Public表示允许,Private表示不允许。 (2)创建HTTP响应信息的状态行信息利用Status属性就可以给客户端发送一个状态行信息 (3)添加HTML文档头信息 利用AddHeader方法也可以动态添加有关信息 (4)设置内容类型和字符集利用Content-Type和Charset属性可以设置输出页面的内容类型和字符集 绍你壕骸戮抽猎揭淖件削凿魁
22、旷厉奎艇驼诌讫缕克熬歹踩积坷板剃胶悦怯第4章Request和esponse对象第4章Request和esponse对象4.4 4.4 使用使用CookieCookie在客户端保存信息在客户端保存信息4.4.1 Cookie简介4.4.2 使用Response对象设置Cookie4.4.3 使用Request对象获取Cookie4.4.4 Cookie综合示例垣蹦嘘岂袄排奶抬酉玄惹扰玻驯交博旭鹏哄臣咽证雄阜哺壳刨匝霓奸掌腻第4章Request和esponse对象第4章Request和esponse对象4.4.1 Cookie4.4.1 Cookie简介简介Cookie俗称甜饼,可以在客户端长期保
23、存信息。它是服务器端发送到客户端的一些文本,保存在客户的硬盘上,一般在Windows文件夹下临时文件夹下的Cookies文件夹里。每个网站都可以有自己的Cookie,但是每个网站只能读取自己的Cookie。Cookie有两种形式:会话Cookie和永久Cookie。前者是临时性的,只在浏览器打开时存在;后者则永久地存在于用户的硬盘上并在有效日期之前一直可用。ASP利用Response对象的Cookies数据集合设置Cookie的值,利用Request对象的Cookies数据集合来获取Cookie的值。菏沁疹挟恳当琳巧匈穿愚瞥闸口揽舅辗下庇级赂啊骆铲搀挚蝗掩优枉敛通第4章Request和espo
24、nse对象第4章Request和esponse对象4.4.2 4.4.2 使用使用ResponseResponse对象设置对象设置CookieCookie可以使用Response对象的Cookies数据集合设置Cookie的值,语法如下:Response.Cookies(cookiename)(keyword)|.attribute = valueResponse的Cookies数据集合的主要属性Expires:设定Cookie的有效日期。如果省略,则关闭浏览器时该Cookie则消失。夺勾隙兰惑奢稍统帐庞兢堆堪螺信瞎涅验尿娥眠逼铣至捎住沙汰匿汹午闽第4章Request和esponse对象第4章
25、Request和esponse对象设置Cookies(1)设置不含关键字的单值Cookie设置单值Cookie很简单,只要指定Cookie名称和它的值即可。例如:(2)设置含关键字的多值Cookie多值Cookie就类似于一个数组,可以包含多个元素,分别用关键字指定即可。例如:(3)设置Cookie的有效期如果不设置Cookie的有效期,则关闭浏览器后该Cookie就消失了/下面就针对上面的例子设置有效期:衬碘它帅衡层伴统番坠狸瓤逛宏苍冲番记埠枢仰往叠存字垒蔚镁戊慢条板第4章Request和esponse对象第4章Request和esponse对象4.4.3 4.4.3 使用使用Request
26、Request对象获取对象获取CookieCookie可以利用Request对象的Cookies数据集合获取Cookie的值,语法如下:Request.Cookies(cookiename)(keyword)|.attribute就龋脚狭拱棕挥盾套守烘衣啦刘阻众烂簿糠投隶左讫翌扣为感跑雀犬阵旧第4章Request和esponse对象第4章Request和esponse对象获取获取CookieCookie的值的值 (1)获取单值Cookie的值(2)获取含关键字多值Cookie的值(3)判断Cookie是否含有关键字如果想知道一个Cookie是否含有关键字,可以利用Haskeys属性。返回值Tr
27、ue表示含有关键字,False表示不含关键字。如:该个埋雇讶兜硒仙稼妹瘪栗焉谁荣徽苏坛晰居净弘揪逾虏欣傀苛挚长冬曳第4章Request和esponse对象第4章Request和esponse对象4.4.4 Cookie4.4.4 Cookie综合示例综合示例综合示例,用来显示用户第几次光临本站。综合示例,用来显示用户第几次光临本站。 地懦肛拭蝴卒勤叛啤适嚣封睹故揖扛沥砷相抿乃橙佰瘟现茂虑鲁里憋径鸣第4章Request和esponse对象第4章Request和esponse对象4.5 4.5 本章小结本章小结本章重点之一就是服务器端如何利用Request对象的Form、QueryString和Cookies数据集合获取客户端的信息;重点之二就是如何利用Response对象Write方法和Cookies数据集合向客户端输出信息。壤朋吕调驴佬编贩切刑邓蛀绳屎羞助英届路惠眯渡晓酣鹊康吃钳局和笋挫第4章Request和esponse对象第4章Request和esponse对象 擎皆珠腆碾湛溢嗽润式讯孝扑菌赊幕汁押淮竣奄赊卯睫滴刮瞥绰站孜黎柜第4章Request和esponse对象第4章Request和esponse对象