ASP内置对象

来源:互联网 发布:单片机温度器 编辑:程序博客网 时间:2024/06/01 09:35

 一、Request 对象
可以使用 Request 对象访问任何基于 HTTP 请求传递的所有信息,包括从 HTML 表格用 POST 方法或 GET 方法传递的参数、cookie 和用户认证。
Request[.集合|属性|方法](变量)
1、Form
Form 集合通过使用 POST 方法的表格检索邮送到 HTTP 请求正文中的表格元素的值。

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

element 指定集合要检索的表格元素的名称。
index 可选参数,使用该参数可以访问某参数中多个值中的一个。它可以是 1 到 Request.For(parameter).Count 之间的任意整数。
Count 集合中元素的个数

Form 集合按请求正文中参数的名称来索引。Request.Form(element) 的值是请求正文中所有 element 值的数组。通过调用 Request.Form(element).Count 来确定参数中值的个数。如果参数未关联多个值,则计数为 1。如果找不到参数,计数为 0。要引用有多个值的表格元素中的单个值,必须指定 index 值。index 参数可以是从 1 到 Request.Form(element).Count 中的任意数字。如果引用多个表格参数中的一个,而未指定 index 值,返回的数据将是以逗号分隔的字符串。

2、QueryString
QueryString集合检索HTTP查询字符串中变量的值 ,HTTP 查询字符串由问号 (?) 后的值指定。

Request.QueryString(variable)[(index)|.Count]

QueryString 集合可以让您以名称检索 QUERY_STRING 变量。Request.QueryString( 参数 ) 的值是出现在 QUERY_STRING 中所有参数的值的数组。通过调用Request.QueryString(parameter).Count 可以确定参数有多少个值。

3、Cookies

Cookie 其实是一个标签,当你访问一个需要唯一标识你的站址的 WEB 站点时,它会在你的硬盘上留下一个标记,下一次你访问同一个站点时,站点的页面会查找这个标记。每个 WEB 站点都有自己的标记,标记的内容可以随时读取,但只能由该站点的页面完成。每个站点的 Cookie 与其他所有站点的 Cookie 存在同一文件夹中的不同文件内(你可以在 Windows 的目录下的 Cookie 文件夹中找到它们)。一个 Cookie 就是一个唯一标识客户的标记,Cookie 可以包含在一个对话期或几个对话期之间某个 WEB 站点的所有页面共享的信息,使用 Cookie 还可以在页面之间交换信息。Request 提供的 Cookies 集合允许用户检索在 HTTP 请求中发送的 cookie 的值。

Request.Cookies(cookie)[(key)|.attribute]

cookie 指定要检索其值的 cookie。
key 可选参数,用于从 cookie 字典中检索子关键字的值。
attribe 指定 cookie 自身的有关信息。
可以通过包含一个 key 值来访问 cookie 字典的子关键字。如果访问 cookie 字典时未指定 key,则所有关键字都会作为单个查询字符串返回。
如果客户端浏览器发送了两个同名的 cookie,那么 Request.Cookie 将返回其中路径结构较深的一个。

4、ServerVariables

浏览器中浏览网页的时候使用的传输协议是 HTTP,在 HTTP 的标题文件中会记录一些客户端的信息,如 : 客户的 IP 地址等等,有时服务器端需要根据不同的客户端信息做出不同的反映,这时候就需要用 ServerVariables 集合获取所需信息。

Request.ServerVariables ( 服务器环境变量 )

常用的变量:
ALL_HTTP 客户端发送的所有 HTTP 标题文件。
CONTENT_LENGTH 客户端发出内容的长度。 
CONTENT_TYPE 内容的数据类型。如:“text/html”。同附加信息 的查询一起使用,如 HTTP 查询 GET、POST 和 PUT。
LOCAL_ADDR 返回接受请求的服务器地址。如果在绑定多 个 IP 地址的多宿主机器上查找请求所使用的地址 时,这条变量非常重要。
LOGON_USER 用户登录 Windows NT 的帐号。
QUERY_STRING 查询 HTTP 请求中问号(?)后的信息。 
REMOTE_ADDR 发出请求的远程主机 (client) 的 IP 地址。 
REMOTE_HOST 发出请求的主机 (client) 名称。如果服务器无此 信息,它将设置为空的 MOTE_ADDR 变量。
REQUEST_METHOD 该方法用于提出请求。相当于用于 HTTP 的 GET、HEAD、POST等 等。
SERVER_NAME 出现在自引用 URL 中的服务器主机名、DNS 化名 或 IP 地址。
SERVER_PORT 发送请求的端口号。

二:内建对象 Response

Response 对象是用来控制发送给用户的信息,包括直接发送信息给浏览器、重定向浏览器到另一个 URL 或设置 cookie 的值。

Response.collection|property|method

一、属性
1、Buffer
   Buffer 属性指示是否缓冲页输出。当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了 Flush 或 End 方法后,服务器才将响应发送给客户端浏览器,服务器将输出发送给客户端浏览器后就不能再设置 Buffer 属性。因此应该在 .asp 文件的第一行调用 Response.Buffer。

2、Charset
   Charset 属性将字符集名称附加到 Response 对象中 content-type 标题的后面。对于不包含 Response.Charset 属性的 ASP 页,content-type 标题将为 :content-type:text/html。

3、ContentType
   ContentType 属性指定服务器响应的 HTTP 内容类型。如果未指定 ContentType,默认为 text/HTML。

4、Expires
   Expires 属性指定了在浏览器上缓冲存储的页距过期还有多少时间。如果用户在某个页过期之前又回到此页,就会显示缓冲区中的页面。如果设置 response.expires=0,则可使缓存的页面立即过期。这是一个较实用的属性,当客户通过 ASP 的登陆页面进入 WEB 站点后,应该利用该属性使登陆页面立即过期,以确保安全。


5、ExpiresAbsolute
   与 Expires 属性不同,ExpiresAbsolute 属性指定缓存于浏览器中的页面的确切到期日期和时间。在未到期之前,若用户返回到该页,该缓存中的页面就显示。如果未指定时间,该主页在当天午夜到期。如果未指定日期,则该主页在脚本运行当天的指定时间到期。

二、方法

1、Clear
   可以用 Clear 方法清除缓冲区中的所有 HTML 输出。但 Clear 方法只清除响应正文而不清除响应标题。可以用该方法处理错误情况。但是如果没有将 Response.Buffer 设置为 TRUE,则该方法将导致运行时错误。

2、End
   End 方法使 Web 服务器停止处理脚本并返回当前结果。文件中剩余的内容将不被处理。如果 Response.Buffer 已设置为 TRUE,则调用 Response.End 将缓冲输出。

3、Flush
   Flush 方法立即发送缓冲区中的输出。如果没有将 Response.Buffer 设置为 TRUE,则该方法将导致运行时错误。

4、Redirect
   Redirect 方法使浏览器立即重定向到程序指定的 URL。这也是一个我们经常用到方法,这样程序员就可以根据客户的不同响应,为不同的客户指定不同的页面或根据不同的情况指定不同的页面。一旦使用了 Redirect 方法任何在页中显式设置的响应正文内容都将被忽略。然而,此方法不向客户端发送该页设置的其他 HTTP 标题,将产生一个将重定向 URL 作为链接包含的自动响应正文。

5、Write
   Write 方法是我们平时最常用的方法之一,它是将指定的字符串写到当前的 HTTP 输出。

三、集合

Response 对象只有一个集合 --Cookie
Cookies 集合设置 cookie 的值。若指定的 cookie 不存在,则创建它。若存在,则设置新的值并且将旧值删去。

Response.Cookies(cookie)[(key)|.attribute]=value

这里的 cookie 是指定 cookie 的名称。而如果指定了 key,则该 cookie 就是一个字典。
attribute 指定 cookie 自身的有关信息。attribute 参数可以是下列之一 :
Domain 若被指定,则 cookie 将被发送到对该域的请求中去。
Expires 指定 cookie 的过期日期。为了在会话结束后将 cookie 存储在客户端磁盘上,必须设置该日期。若此

项属性的设置未超过当前日期,则在任务结束后 cookie 将到期。
HasKeys 指定 cookie 是否包含关键字。
Path 若被指定,则 cookie 将只发送到对该路径的请求中。如果未设置该属性,则使用应用程序的路径。


三:Application 对象。

一、属性

虽然 Application 对象没有内置的属性,但我们可以使用以下句法设置用户定义的属性也可称为集合。
Application(" 属性 / 集合名称 ")= 值

一旦我们分配了 Application 对象的属性,它就会持久地存在,直到关闭 WEB 服务器服务使得 Application 停止。由于存储在 Application 对象中的数值可以被应用程序的所有用户读取,所以 Application 对象的属性特别适合在应用程序的用户之间传递信息。

二、方法

Application 对象有两个方法,它们都是用于处理多个用户对存储在 Application 中的数据进行写入的问题

1、Lock 方法

禁止其他客户修改 Application 对象的属性。
Lock 方法阻止其他客户修改存储在 Application 对象中的变量,以确保在同一时刻仅有一个客户可修改和存取

Application 变量。如果用户没有明确调用 Unlock 方法,则服务器将在 .asp 文件结束或超时后即解除Application 对象的锁定。

2、Unlock 方法

和 Lock 方法相反,Unlock 方法允许其他客户修改 Application 对象的属性。

三、事件

1、Application_OnStart
Application_OnStart 事件在首次创建新的会话 ( 即 Session_OnStart 事件 ) 之前发生。当 WEB 服务器启动并允许对应用程序所包含的文件进行请求时就触发 Application_OnStart 事件。Application_OnStart 事件的处理过程必须写在 Global.asa 文件之中。

2、Application_OnEnd
Application_OnEnd 事件在应用程序退出时于 Session_OnEnd 事件之后发生,Application_OnEnd 事件的处理过程也必须写在 Global.asa 文件之中。

四:Session 对象。

我们可以使用 Session 对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在Session 对象中的变量不会清除,而用户在应用程序中访问页面时,这些变量始终存在。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。 通过向客户程序发送唯一的 Cookie 可以管理服务器上的 Session 对象。当用户第一次请求 ASP 应用程序中的某个页面时,ASP 要检查 HTTP 头信息,查看是否有在报文中有名为 ASPSESSIONID 的 Cookie 发送过来,如果有,则服务器会启动新的会话,并为该会话生成一个全局唯一的值,在把这个值作为新 ASPSESSIONID Cookie 的值发送给客户端,正是使用这种 Cookie,可以访问存储在服务器上的属于客户程序的信息。Session 对象最常见的作用就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。另外其还经常被用在鉴别客户身份的程序中。要注意的是,会话状态仅在支持 cookie 的浏览器中保留,如果客户关闭了 Cookie 选项,Session 也就不能发挥作用了。

一、属性
1、SessionID

SessionID 属性返回用户的会话标识。在创建会话时,服务器会为每一个会话生成一个单独的标识。会话标识以长整形数据类型返回。在很多情况下 SessionID 可以用于 WEB 页面注册统计。

2、TimeOut
   Timeout 属性以分钟为单位为该应用程序的 Session 对象指定超时时限。如果用户在该超时时限之内不刷新或请求网页,则该会话将终止。

二、方法

   Session 对象仅有一个方法,就是 Abandon,Abandon 方法删除所有存储在 Session 对象中的对象并释放这些对象的源。如果您未明确地调用 Abandon 方法,一旦会话超时,服务器将删除这些对象。

三、事件

Session 对象有两个事件可用于在 Session 对象启动和释放是运行过程。

1、Session_OnStart 事件在服务器创建新会话时发生。服务器在执行请求的页之前先处理该脚本。

Session_OnStart 事件是设置会话期变量的最佳时机,因为在访问任何页之前都会先设置它们。

2、Session_OnEnd 事件在会话被放弃或超时发生。

五:Server 对象

Server 对象提供对服务器上的方法和属性的访问 , 其中大多数方法和属性是作为实用程序的功能服务的。有了 Server 对象,你就可以在服务器上启动 ActiveX 对象例程,并使用 Active Server 服务提供象 HTML 和 URL 编码这样的函数。

一、语法

   Server.property|method

二、属性

   ScriptTimeout 超时值,在脚本运行超过这一时间之后即作超时处理。如下代码指定服务器处理脚本在

100 秒后超时。

三、方法

1、HTMLEncode 方法

HTMLEncode 方法允许你对特定的字符串进行 HTML 编码,虽然 HTML 可以显示大部分你写入 ASP 文件中的文本,但是当你需要实际包含 HTML 标记中所使用的字符,就会遇到问题。这是因为,当浏览器读到这样的字符串时,会试图进行解释。

2、URLEncode 方法

   就象 HTMLEncode 方法使客户可以将字符串翻译成可接受的 HTML 格式一样,Server 对象的 URLEncode

方法可以根据 URL 规则对字符串进行正确编码,当字符串数据以 URL 的形式传递到服务器时,在字符串中不允

许出现空格,也不允许出现特殊字符。为此,如果你希望在发送字符串之前进行 URL 编码,可以使用

Server.URLEncode 方法。

3、MapPath 方法

   MapPath 方法将指定的相对或虚拟路径映射到服务器上相应的物理目录上。
   语法如下 :Server.MapPath(Path)
Path 指定要映射物理目录的相对或虚拟路径。若 Path 以一个正斜杠 (/) 或反斜杠 (/) 开始,则 MapPath 方法返回路径时将 Path 视为完整的虚拟路径。若 Path 不是以斜杠开始,则 MapPath 方法返回同 .asp 文件中已有的路径相对的路径。这里需要注意的是 MapPath 方法不检查返回的路径是否正确或在服务器上是否存在。

4、CreateObject 方法

Server.CreateObject 恐怕是 ASP 中最为实用,也是最强劲的功能了。它用于创建已经注册到服务器上的 ActiveX 组件实例。这是一个非常重要的特性,因为通过使用 ActiveX 组件能够使你轻松地扩展 ActiveX 的能力,正是使用了 ActiveX 组件,你可以实现至关重要的功能,譬如数据库连接、文件访问、广告显示和其他 VBScript 不能提供或不能简单地依靠单独使用 ActiveX 所能完成的功能。正是因为这些组件才使得 ASP 具有了强大的生命力。
其语法如下:
   Server.CreateObject("Component Name")
默认情况下,由 Server.CreateObject 方法创建的对象具有页作用域。这就是说,再当前 ASP 页处理完成之后,服务器将自动破坏这些对象。

原创粉丝点击