ASP 3.0高级编程(三)

2016-01-29 19:14 2 1 收藏

ASP 3.0高级编程(三),ASP 3.0高级编程(三)

【 tulaoshi.com - ASP 】

  访问和更新Cookies集合
    Cookies的值比ASP其他集合(例如Form和ServerVariables)的值要复杂得多。Cookie是一小块由浏览器存贮在客户端系统上的文本,且随同每次请求发往它们应用于的域中的服务器。
    ASP使得应用cookie较为容易,可以从Request对象的Cookies集合中获得所有随同请求发出的cookie值,并可创建或修改cookie,通过Response对象的Cookies集合发回给用户。
    Cookie包含可用两种方式构造的信息,单值cookie提供其值给代码是通过一个一般的类ASP集合。然而,集合的每个成员可能本身也是一个集合,包含这种信息的cookie通过称为多值(multiple-Value)cookie。
    创建一个单值的cookie较为简单,如下所示:
    Response.Cookies(“item-name”) = “item-value”
    创建一个多值的cookie,可以使用如下命令:
    Response.Cookies(“item-name”)(“sub-item-name”) = “sub-item-value”
    设置cookie应用的域及路径及其有效期,我们使用:
    Response.Cookies(“item-name”).domain = “domain-url”
    Response.Cookies(“item-name”).path = “virtual-path”
    Response.Cookies(“item-name”).expires = #date#
    通常,客户只在对创建cookie的目录中的页面提出请求时,才将cookie随请示发住服务器。通过指定path属性,可以指定站点中何处这个cookie是合法的,并且这个cookie将随请求发送。如果cookie随对整个站点的页面请求发送,设置
path为“/”。
    假如Expires属性没有设置,关闭当前的浏览器实例时,cookie将被自动消除。
    注意,我们在向浏览器发送任何输出时,已经创建了cookie。因为,这些cookie是页面HTTP报头的一部分。

    在ASP 3.0中,缓冲的缺省状态是打开的,且没有输出被发送,除非使用Response.Flush指定做这个工作或者页面已到末端。这意味着创建cookie的代码可以在页面上的任何位置,直到任何输出“刷新”(flush)到客户端前,它都可以被执
行。

    要读现有的cookie,使用Request.Cookies集合。可以单独访问其中的项目,方法类似于创建它们时使用的方法。
    StrSingleValue = Request.Cookies(“item-name”)
    StrSubItemValue = Request.Cookies(“item-name”)(“sub-item-name”)
    注意Request.Cookies集合(和所有其他Request集合一样)是只读的。Response.Cookies集合是只写的,事实上可以访问这个集合中一系列cookie的名称,而不是它们的值。

遍历Cookies集合
    为了使用Cookies集合更加方便,可使用名称为Haskeys的附加属性。假如访问的cookie本身也是个集合,即它是一个多值的cookie,这将返回True。使用Haskeys属性,可以遍历完整的Request.Cookies集合,从而获得所有cookie的列表及它们的值。
    For Each objItem In Request.Cookies
        If Request.Cookies(objItem).HasKey Then
            ‘Use another For Each to iterate all subkeys
            For Each objItemKey in Request.Cookies(objItem)
                Response.Write objItem & “(“ & objItemKey & “) = “_
                            & Request.Cookies(objItem)(objItemKey) & “<BR”
            Next
        Else
            ‘Print out the cookie string as normal
            Response.Write objItem & “ = ”& Request.Cookies(objItem) & “<BR”
        End If
    Next
    这非常类似于前面的从Request.Form集合中提取多个值的复杂

来源:http://www.tulaoshi.com/n/20160129/1508810.html

延伸阅读
标签: ASP
  1.3   ASP Server对象 正像在前面看到的那样,通过服务器端包含的经ISAPI访问Web服务器的页面,用传统动态页面指令和命令可以做相当多的事情。但同时也有一些明显的限制。 例如,可以从Request.ServerVariables集合检索到所有随同客户端的请求发送过来的HTTP报头的值。它几乎可以与使用SSI #echo匹敌,同时具备的主要优...
标签: ASP
  (4)  删除虚拟应用程序 单击“Remove”按钮不会真正地删除Internet Services Manager中的该条目。而是把现有的虚拟应用程序转换为一个虚拟目录。这个目录有一个带有蓝色球的“文件夹”图标,该图标表示这并不是Web网站中一个真正的目录,而是对磁盘上另一个文件夹的一个重定向。对它进行的访问方式与创建它的虚拟应...
标签: ASP
  第四章      服务器进程和ASP Server对象 前面的章节已经研究了ASP的一些内置对象。重点介绍的对象有Request、Response、Session和Application对象。ASP中另一个比较主要的对象为Server对象。本章重点介绍这个对象的背景知识和使用方法。 Server对象在服务器端脚本中通过实例和使用其他外部对象和组件,...
标签: ASP
  ASP 3.0请求和响应的处理        这两个对象是ASP所提供的内置对象中最常用的两个。在浏览器(或其他用户代理)和Web服务器之间,请求与响应中发生的信息交流可以通过ASP中的两个内置对象来进行访问和管理,这两个对象称为Request和Response对象。        在AS...
标签: ASP
  5.3.2 Dictionary对象示例        本书提供了一系列示例文件可用来试验脚本运行时间库的各种属性。        本章代码的缺省页面提供了一系列可使用的VBScript示例链接。有些示例对JScript同样有效。这些示例存放在Chapter05目录下相应的子目录里,显示的界面如图...

经验教程

379

收藏

15
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部