第四讲 ASP内置对象之请求与响应处理
ASP内置对象 ASP提供了五个重要内置(内建)对象供 程序设计人员使用。当程序设计人员在使 用对象时,无需了解各对象内部复杂的传 递及运算过程。(何谓面向对象?) 对象名称 功 能 简 述 Response 用来传输信息到客户端浏览器 Request 可用来读取客户端流览器的信息 Server 提供一些Web Server端的相关信息 Session 用来存储不同用户的信息 Application 用来存储所有用户共享的信息 动态网页制作
2.1 理解基本概念 理解属性、方法、事件、集合 1.属性: 对象的特征,属性被描述成(属性)名/值对。 ①对每一个属性,在对象的实例中有唯一值描述 该属性。 ②有时候一系列的属性可以组成一个集合,例如 手机的电话本,即为多个姓名/号码,这样的 名/值所组成的集合。 动态网页制作
2.1 理解基本概念 2.方法 “某项功能” 3.事件 “触发动作” 4.集合 客户机提供的信息被分类成集合的组, 集合中的每个信息以名/值对存在。 动态网页制作
2.2 Response对象 Response对象 主要功能是将ASP程序执行的结果输出到 浏览器。(输出信息) 对于Response对象而言,Write,End和Redirect 三种方法占了Response对象的大部分应用。 动态网页制作
2.2 Response对象 详细内容: ① 集合 collection cookies(后面内容继续讲述) ② 属性 property: Buffer、ContentType 、 Expires 、status ③ 方法 method: AddHeader、AppendToLog、BinaryWrite Clear、End、Flush、Redirect、Write 动态网页制作
2.2 Response对象 1.Cookies集合 Response对象中的Cookies主要是在客户端浏览器上,存储一些网站上的相关信息。 语法: Response.Cookies("变量名")=值 向浏览器写入Cookies信息 动态网页制作
2.2 Response对象 2.Expires属性 用来设置浏览器缓冲区中页面的刷新时间 (单位为分)。 设置方法为: Response.expires=n 动态网页制作
2.2 Response对象 3. Write方法 使用方法: Respons.write 变量名 几种不同的输出格式: response.write “<br>” response.write “字符串<br>” %> 动态网页制作
2.2 Response对象 4. Redirect方法 用来使浏览器重定位到另一个URL, 即跳转到另一个页面。使用方法: ① response.redirect(“www.163.com”) ② response.redirect(“a.html”) ③ response.redirect (“../index.html”) 动态网页制作
2.2 Response对象 5. End方法 如果程序需要中断输出,只需在程序的断点 插入 Response.End 方法即可。 动态网页制作
2.3 Request对象 Request对象与Response对象事实上是 相辅相成的。Response对象是将ASP程序的执行结果送到浏览器上显示,而Request对象则相反,Request对象可以取得浏览器上相关信息。 (获取用户的请求数据) 语法为: Request[.集合|属性|方法](variable) 属性和方法用的比较少,有totalbytes属性, bianaryread方法。 动态网页制作
2.3 Request对象 Request对象由一群对象的集合组成, 可以使用客户端指定的名称来取得特定的数据。方法为: Request.集合(“Member”) ① Member为要获取的数据对象的名称 ② 集合可以是QueryString、form、 cookie、server variable、 ClientCertificate 动态网页制作
2.3 Request对象 可以直接简化为: Request(“Member”) 这时没指定集合,ASP按以下顺序来执行: querystring-form-cookie-server variable-ClientCertificate 动态网页制作
2.3 Request对象 1.ClientCertificate 这个变量可以取得客户端浏览器的身份确认信息。(证书,安全连接) 动态网页制作
2.3 Request对象 2.Cookies集合 Request对象的Cookies集合是用于读取存放 于客户端浏览器上的Cookies内容。Request 对象的Cookies集合与Response对象的Cookies 集合的使用时机不相同。Response对象的Cookies的使用时机限定在送出任何HTML标记 之前,而Request对象的Cookies集合则可以灵 活地运用在ASP程序代码的任何部分。 动态网页制作
2.3 Request对象 Cookies对象的语法: Request.Cookies(名称)[(关键字)|.属性] ②关键字,用来恢复子关键字的值。 ③属性值,用来指定想要的Cookies值。 由于Cookie必须先写入客户端中才能从客户端取出,用response.cookies方法写入cookie信息。 动态网页制作
2.3 Request对象 3.Form集合 使用Form变量的目的是用来取回客户在窗体中填写的相关信息。但是在使用Request.Form的对象时,HTML标记中的<FORM>必须将方法(Method)指定为“POST”,否则将无法取得窗体中的字段信息。 动态网页制作
2.3 Request对象 4.QueryString变量 QueryString变量一般是应用于网页间参数的传递。简单地说,URL参数和窗体的Get方法都是使用QueryString数据集合,如果窗体采用Post方法就是使用Form数据集合。通常在地址栏直接传送数据都是以QueryString变量的方法传送变量名及数值。并且,变量的名称与变量的内容必须接在“?”符号之后。 get方法和post方法的区别 动态网页制作
2.3 Request对象 get和post二者主要区别如下: 1)Get将表单中数据的按照变量名=值的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用 “&”连接; ①<a href=“a.asp?user=luna”>用户luna</a> ②<a href=“a.asp?user=luna&pwd=luna”>用户luna</a> Post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 动态网页制作
2.3 Request对象 2)Get是不安全的,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。 3)Get传送的数据量较小,不能大于2KB。Post传送的数据量较大,一般被默认为不受限制。但理论上,IIS5中为100KB。上传文件只能使用Post。 一般Get效率较快。 动态网页制作
2.3 Request对象 4)对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。两种方式的参数都可以用Request来获得。 5)<form method="get" action="a.asp?b=b">跟<form method="get" action="a.asp">是一样的,也就是说,action页面后边带的参数列表会被忽视;而<form method="post" action="a.asp?b=b">跟<form method="post" action="a.asp">是不一样的。 动态网页制作
2.3 Request对象 6)使用Get方法时,URL与查询字符串的结合体不能包含任何空格或其它非法字符,否则浏览器将出现问题.这些非法字符是那些用来分隔URL和查询字符串的部分,如“/”、“:”、“?”、“&”(IE能够自动将空格转换为正确的格式-加号“+”,但其它的非法字符不能处理)。此时必须通过ASP服务器对象提供URLEncode方法进行变换处理。而Post方法不存在此类问题。 注意:get和post的使用要根据实际情况来选用 动态网页制作
2.3 Request对象 5.ServerVariables集合 ServerVariables是用来取得各项环境变量信息的(包含主机端及客户端)。由ServerVariables内部有许多的变量名称,可以通过这些变量获取相关信息。 如:REMOTE_ADDR <%=request.servervariable(“remote_addr”)%> 动态网页制作
Thank You !