ASP Request对象的集合
- 格式:doc
- 大小:80.50 KB
- 文档页数:5
ASP的内建对象ASP的内建对象共有六种:Request对象:可以保存WEB Client端送往WEB Server端的所有信息。
包括用GET或是POST方法传递的数据,Server环境变量、Cookie信息等。
Response对象:主要是将信息从WEB Server端传送到WEB Celient端。
也可以使用它实现页面的跳转或Cookie值的设定。
ASP的输入值功能也是由Response来完成。
Server对象:主要是执行与WEB服务器直接相关的一些操作。
它只有一个属性ScriptTimeout。
它重要的方法为CreateObject方法、HTMLEncode方法、MapPath方法、UrlEncode方法。
Session对象:相当于每个上线用户的私有变量集合,随着用户上线而产生,用户下线或强制解除而终止。
Application对象:能记录所有WEB用户的共有信息,相当于上线用户的公共变量集合。
它随着Web应用程序的开始运行而产生,随着Web应用程序的运行结束而终止。
Objectcontext对象:主要在进行交易处理时使用,利用该对象可以管理、控制这些交易。
通常Objectcontext对象利用Complete方法声明交易的正常结束,使用Abort方法声明交易的异常结束。
Response有五大典型功能:1.可以对外输出信息。
2.控制信息的传送时刻。
3.重定向网页。
4.控制浏览器的Cache 。
5.设置用户的Cookie 。
Response的常用属性与方法:属性篇1.Buffer属性:指示是否缓冲页输出。
语法:Response.Buffer = true/false当缓冲页输出时,只有当前页的所有服务器脚本处理完结或者调用了Flush或End方法后,服务器才将响应发送给客户端。
由于服务器向客户端发送信息后就能再设置Buffer 属性,因此一般在脚本程序的最前面对Buffer属性设置。
2.CacheControl属性:忽略Private默认值。
一、ASP内置对象1.response 对象主要用来输出信息到客户端,并可通过多种方式将服务器端数据发送到客户端,包括直接发送信息给浏览器、重定向浏览器到另一个URL 或设置cookies 值等功能。
2.request 对象是ASP的请求数据对象,它所包含的信息是客户端浏览器提出的并传递过来的数据信息请求。
利用request 对象可以接受用户基于http 请求的所有信息,包括表单通过post 方法或get 方法传递信息、问号传递信息、使用cookies 传递信息等,通过request 对象还可以访问发送到服务器的二进制数据信息。
3.server 对象它允许用户存储web 服务器提供的功能。
server 对象使用其方法和属性来访问web 服务器,大多数方法和属性是作为实用程序的功能服务的。
使用server 对象可以在服务器上启动activeX 组件,可创建各种server 对象的实例以简化用户的操作。
4.application 对象可控制服务器端应用程序的启动和终止状态,并保存整个应用程序过程中的信息。
它将虚拟目录及其子目录也看成一个应用程序,用来在给定的应用程序的所有用户之间共享信息。
5.session 对象是ASP 技术中实现用户会话管理手段的一个对象,主要用来存储特定用户会话所需的信息。
当用户在应用程序的web 页面之间跳转时,存储在session 对象中的变量不会丢失,而且在整个用户会话中会一直存在下去。
session 对象常用来存储用户的账户信息,也经常被用来保护用户的身份标记,实现用户的身份认证和用户权限管理。
6.objectcontext 对象用来处理与事务相关的问题,其没有属性和集合,只有方法和事件,在实际网站开发中使用较少。
包含文件命令格式:<!--#include virtual | file = “path/filename”-->“path/filename”是指要包含的文件的路径和文件名称,path 代表路径,filename 代表文件名。
内置对象之Request对象(概述及应⽤)Request对象主要⽤于获取来⾃客户端的数据,如⽤户填⼊表单的数据、保存在客户端的Cookie等。
ApplicationPath获取服务器上应⽤程序的虚拟应⽤程序根路径Browser获取有关正在请求的客户端的浏览器功能的信息,该属性值为:HttpBrowserCapabilities对象 ContentEncoding获取或设置实体主体的字符集。
该属性值为表⽰客户端的字符集Encoding对象ContentLength指定客户端发送的内容长度,以字节为单位ContentType获取或设置传⼊请求的MIME内容类型。
Cookies 获取客户端发送的Cookie集合,该属性值为表⽰客户端的Cookie变量的 HttpCookieCollection对象CurrentExecutionFilePath获取当前请求的虚拟路径FilePath获取当前请求的虚拟路径Files获取客户端上载的⽂件集合。
该属性值为HttpFileCollection对象,表⽰客户端上载的⽂件集合 Form获取窗体变量集合HttpMethod获取客户端使⽤的HTTP数据传输⽅法(如:get、post或head)Item获取Cookies、Form、QueryString或ServerVariables集合中指定的对象Params获取Cookies、Form、QueryString或ServerVariables项的组合集合Path获取当前请求的虚拟路径PathInfo获取具有URL扩展名的资源的附加路径信息PhysicalApplicationPath获取当前正在执⾏的服务器应⽤程序的根⽬录的物理⽂件系统路径PhysicalPath获取与请求的URL相对应的物理⽂件路径QueryString 获取HTTP查询字符串变量集合。
该属性值为:NameValueCollection对象,它包含由客户端发送的查询字符串变量集合RequestType获取或设置客户端使⽤HTTP数据传输的⽅式(get或post)ServerVariables获取Web服务器变量的集合TotalBytes获取当前输⼊流的字节数Url获取有关当前请求URL的信息UserHostAddress获取远程客户端的IP主机地址(1)MapPath(VirtualPath):将当前请求的URL中的虚拟路径virtualPath映射到服务器上的物理路径。
ASP的五大对象Request Object集合:querystring、Form、cookies、Servervariable主要作用:读取提交表单中的数据或cookies中的数据。
Response Object属性:buffer、cookies、ContentType、Expires、ExpiresAbsolute、Status、IsClientConnected、CacheControl方法:write、redirect、end、flush、cookies、BinaryWrite、AddHeader、AppendToLog主要作用:向浏览器输出文本、数据和cookies以及控制在传送网页过程中的每一个阶段。
Server Object属性:scripttimeout方法:CreateObject、mappath、URLencode、HTMLencode主要作用:创建COM对象和Scripting组件等。
Application Object属性:lock和unlock主要作用:Application对象被用于放在同一个应用中多个用户之间的共享信息。
Session Object属性:SessionID和TimeOut方法:Abandon主要作用:为单个用户保持数据。
1.Request对象Resquest对象代表由各客户程序发往HTTP的请求报文。
事实上,Request对象的功能是单向的,它只能接收客户端Web页面提交的数据,与Response对象的功能刚好相反。
Resquest接收数据时通过两个集合QueryString和Form来检索表单的数据,具体用哪一个集合,取决于Web页面提交数据的HTTP表单的Method属性,当Method属性值为“Get”时以QueryString,而Method属性值为“Post”时以Form。
当省略了具体的集合名称时,ASP 将以下面的顺序来搜索集合:QueryString -> Form -> Cookie ->ServerVariables。
Request.ServerVariables各参数说明集合Request.ServerVariables("Url")返回服务器地址Request.ServerVariables("Path_Info")客户端提供的路径信息Request.ServerVariables("Appl_Physical_Path")与应⽤程序元数据库路径相应的物理路径Request.ServerVariables("Path_Translated")通过由虚拟⾄物理的映射后得到的路径Request.ServerVariables("Script_Name")执⾏脚本的名称Request.ServerVariables("Query_String")查询字符串內容Request.ServerVariables("Http_Referer")请求的字符串內容Request.ServerVariables("Server_Port")接受请求的服务器端⼝号Request.ServerVariables("Remote_Addr")发出请求的远程主机的IP地址Request.ServerVariables("Remote_Host")发出请求的远程主机名称Request.ServerVariables("Local_Addr")返回接受请求的服务器地址Request.ServerVariables("Http_Host")返回服务器地址Request.ServerVariables("Server_Name")服务器的主机名、DNS地址或IP地址Request.ServerVariables("Request_Method")提出请求的⽅法⽐如GET、HEAD、POST等等Request.ServerVariables("Server_Port_Secure")如果接受请求的服务器端⼝为安全端⼝时,则为1,否则为0Request.ServerVariables("Server_Protocol")服务器使⽤的协议的名称和版本Request.ServerVariables("Server_Software")应答请求并运⾏⽹关的服务器软件的名称和版本Request.ServerVariables("All_Http")客户端发送的所有HTTP标头,前缀HTTP_Request.ServerVariables("All_Raw")客户端发送的所有HTTP标头,其结果和客户端发送时⼀样,没有前缀HTTP_Request.ServerVariables("Appl_MD_Path")应⽤程序的元数据库路径Request.ServerVariables("Content_Length")客户端发出內容的长度Request.ServerVariables("Https")如果请求穿过安全通道(SSL),则返回ON如果请求来⾃⾮安全通道,则返回OFFRequest.ServerVariables("Instance_ID")IIS实例的ID号Request.ServerVariables("Instance_Meta_Path")响应请求的IIS实例的元数据库路径Request.ServerVariables("Http_Accept_Encoding")返回內容如:gzip,deflateRequest.ServerVariables("Http_Accept_Language")返回內容如:en-usRequest.ServerVariables("Http_Connection")返回內容:Keep-AliveRequest.ServerVariables("Http_Cookie")返回內容如:nVisiT%2DYum=125;ASPSESSIONIDCARTQTRA=FDOBFFABJGOECBBKHKGPFIJI;ASPSESSIONIDCAQQTSRB=LKJJPLABABILLPCOGJGAMKAM;ASPSESSIONIDACRRSSRA=DKHHHFBBJ Request.ServerVariables("Http_User_Agent")返回內容:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)Request.ServerVariables("Https_Keysize")安全套接字层连接关键字的位数,如128Request.ServerVariables("Https_Secretkeysize")服务器验证私⼈关键字的位数如1024Request.ServerVariables("Https_Server_Issuer")服务器证书的发⾏者字段Request.ServerVariables("Https_Server_Subject")服务器证书的主题字段Request.ServerVariables("Auth_Password")当使⽤基本验证模式时,客户在密码对话框中输⼊的密码Request.ServerVariables("Auth_Type")是⽤户访问受保护的脚本时,服务器⽤於检验⽤户的验证⽅法Request.ServerVariables("Auth_User")代证的⽤户名Request.ServerVariables("Cert_Cookie")唯⼀的客户证书ID号Request.ServerVariables("Cert_Flag")客户证书标誌,如有客户端证书,则bit0为0如果客户端证书验证⽆效,bit1被设置为1 Request.ServerVariables("Cert_Issuer")⽤户证书中的发⾏者字段Request.ServerVariables("Cert_Keysize")安全套接字层连接关键字的位数,如128Request.ServerVariables("Cert_Secretkeysize")服务器验证私⼈关键字的位数如1024Request.ServerVariables("Cert_Serialnumber")客户证书的序列号字段Request.ServerVariables("Cert_Server_Issuer")服务器证书的发⾏者字段Request.ServerVariables("Cert_Server_Subject")服务器证书的主题字段Request.ServerVariables("Cert_Subject")客户端证书的主题字段Request.ServerVariables("Content_Type")客户发送的form內容或HTTPPUT的数据类型。
习题11. 选择题(可多选)(1)静态网页的扩展名一般是:A.htm(2)ASP文件的扩展名是: D. asp(3)当前的Web程序开发中通常采用什么模式?B. B/S(4)小王正在家里通过拨号上网访问搜狐主页,此时,他自己的计算机是:A. 客户端(5)小王正在访问自己计算机上的网页,此时,他自己的计算机是:B. 既是服务器端又是客户端(6)ASP脚本代码是在哪里执行的?C. 服务器端(7)在以下URL中,从形式上看正确的是:答案:A B C D(8)如果在chapter1下建立了一个子文件夹images,并且在其中放置了一个图片文件1.jpg,那么以下URL正确的是:A. http://localhost/asptemp/chapter1/images/1.jpgB. http://127.0.0.1/asptemp/chapter1/images/1.jpg(9)对于1.5.5节建立的1-2.asp,以下浏览方式正确的是:答案:A B C D(10)以1.5.5节的示例为基础,假如现在在C:\inetpub\wwwroot\asptemp\chapter1\temp 下又建立了一个子文件夹temp,其中建立了一个ASP文件1-3.asp,则浏览方式正确的是:答案:A B C D2. 问答题(1)名词解释:静态网页、动态网页、服务器端、客户端、URL:静态网页——所谓静态网页,就是说该网页文件里没有程序代码,只有HTML标记,这种网页的扩展名一般是.htm或.html。
静态网页一经制成,内容就不会再变化,不管何时何人访问,显示的都是同样的内容,如果要修改内容,就必须修改源文件,然后重新上传到服务器上。
动态网页——所谓动态网页,就是说该网页文件不仅含有HTML标记,而且含有程序代码,这种网页的扩展名一般根据不同的程序设计语言而不同,如ASP文件的扩展名为.asp。
动态网页能够根据不同的时间、不同的来访者而显示不同的内容。
《电子商务网站建设(二)》复习资料一.选择题1、<% Dim SearchString, SearchChar, MyPosSearchString ="FSOFSOFSOFSO" SearchChar = "O" MyPos = Instr(7, SearchString, SearchChar, 1) %>运行上面这段程序后,MyPos的值为:( )A.3 B.6 C.9 D.122、在下列建立Recordset对象的方法中错误的是:( )A. Set Rec_Obj=Server.CreateObject(“ADODB.Recordset”)B.Set Rec_Obj= Connection.Execute(“数据表名”)C.Set Rec_Obj=Connection.Execute(SQL指令)D.<OBJECT Runat=“Server" ID=" Rec_Obj " ProgID=" ADODB.Connection "></OBJECT>3、关于事件调用方法的叙述中错误的是( )A.通过事件处理过程名来调用事件处理过程(事件过程)B.通过内联事件来调用,即把该事件名当作某个标识中的一个属性,把事件代码当作该事件的属性值。
C.通过FOR/EVENT属性来控制事件,即用FOR属性指定对象,用EVENT属性指定事件。
D.通过HTML控件中的属性来控制事件处理,即把过程名当作属性使用,而把事件名作为属性值使用。
4、动态网页与静态网页的最大区别在于( )。
A.动态网页无法支持后台数据库B.动态网页无法有效地对站点信息进行及时地更新C.动态网页实现动态显示效果D.动态网页可以实现各种动态的交互功能5、ASP源程序安全保密性较高,其主要的原因在于( )。
A.ASP是面向对象的脚本环境,故其封装性较好B.ASP在服务器端运行,运行结果以HTML主页形式返回给用户浏览器C.ASP脚本语言语法严密,结构复杂D.ASP文件不依赖于HTML文件,独立性较高6、为了获取查询HTTP请求中问号(?)后的信息,则应使用ServerVariables集合中那个服务器变量( )。
ASP Request对象的集合
Request对象提供了5个集合,可以用来访问客户端对Web服务器请求的各类信息,这些集合如表3-1所示。
表3-1 Request对象的集合
ClientCertificate集合从Web浏览器发布请求中获取验证字段(由X.509标准指定)。
在Web服务器端要先配置要求客户端验证,然后才能使用ClientCertificate集合,如果没有发送验证,ClientCertificate集合将返回EMPTY。
所示。
此参数作为一个后缀添加到Key参数中。
例如,IssuerO或者SubjectCN。
表3-3列出了一些通用的SubField值。
由于HTTP是一个无状态的通信协议,所以每次与服务器的连接都被认为是全新的,因此,如果想要判断某个客户端是否访问过本服务器,那么就可以使用Coo kies集合。
通常情况下,当客户端第一次与服务器建立连接时,可以利用Response 对象的Cookies数据集合将一个“标记”存放到客户端。
当客户端再次与本服务器建立连接时,就可利用Request对象的Cookies集合获取该“标记”信息。
●参数cookie 指定要检索其值的cookie。
●可选参数key 用于从cookie中检索子关键字的值;
●参数Attribute 指定与cookie自身有关的属性。
一般情况下,每个Cookies
都包含Domain、Expires、HasKeys、Path和Secure等属性。
但对于Request
对象的Cookie数据集合而言,它只包含HasKeys属性。
而且HasKeys属
性是一个只读属性,它可以用来判断指定的Cookies是否包含其他的
Cookies。
Request对象的Cookies集合通常与Response对象的Cookies集合一起使用,因些将在介绍Response对象的Cookies集合时将详细说明。
3.Form集合
这个集合里放的是客户端使用POST方法传向服务器的数据集合。
比如,在H TML文档中,有一个From,其method的方式是POST(不是GET),而这个From 的action指向一个ASP文档,那么当用户点击上传后,那么这个From内的input、Select、checkbox等里面是值都会放入Form集合内。
参数说明:
●Element From内的元素名称
●Index 可选属性,是索引,指定了该From内的元素的第几个,有时候,
在一个From内有好几个相同的元素,他们的名字都是一样的,可用这个
属性来指定是那一个,其值是1到Count中的整数,Count表示所有这个
相同的元素传过来的整数。
如果不用改属性,那么数据会用“,”分开。
4.QueryString集合
客户端数据提交方式有两种:GET与POST。
QueryString集合用来收集以GET 方式提交的数据,而POST方式提交的表单数据则由Form集合来收集。
QueryStrin g集合与Form集合主要的区别在于前者是通过取得HTTP的附加参数来传递数据(附加参数通常是使用“?”来连接的,多个参数间用&隔开),而后者是通过单独的数据包来传递数据的。
例如:/search.asp?keywords=5&ClassID=5&typee=1
在浏览器中输入上面地址,那么search.asp文件就收到,三个变量,keywords、ClassID、typee。
●Variable 是属性名。
●Index 可选属性。
是索引,指定同名变量里的第几个。
下面的示例就通过变量fname获取文本框的内容,判断并显示相应的问候信息,
具体代码如下:
如果表单的Method为Post,则QueryString集合无法获取数据,必须
使用Form集合。
与此相同,当Method属性为Get时,则必须通过
QueryString集合获取数据。
5.ServerVariables集合
Request的ServerVariables集合中记录了与HTTP请求一超传递的HTTP头信息。
浏览器的请求和服务器端的响应都包含在HTTP头,HTTP头提供了有关请求和响应的附加信息等。
通过访问ServerVariables集合,可以获取有关发出请求的浏览器信息、客户端的IP地址等重要信息。
访问ServerVariables集合的语法如下:
由于服务器环境变量较多,表3-4出了其中常用的服务器环境变量。
表3-4 服务器环境变量。