欢迎来到天天文库
浏览记录
ID:22369852
大小:63.00 KB
页数:9页
时间:2018-10-28
《asp 3.0高级编程(三)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、ASP3.0高级编程(三)
2、第1内容加载中...访问和更新Cookies集合Cookies的值比ASP其他集合(例如Form和ServerVariables)的值要复杂得多。Cookie是一小块由浏览器存贮在客户端系统上的文本,且随同每次请求发往它们应用于的域中的服务器。ASP使得应用cookie较为容易,可以从Request对象的Cookies集合中获得所有随同请求发出的cookie值,并可创建或修改cookie,通过Response对象的Cookies集合发回给用户。Cookie包含可用两种方式构造的信息,单值cookie提供其值给代码是通过一个一般的类ASP集合。然而,集合的每个成员可能
3、本身也是一个集合,包含这种信息的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-
4、name”).path=“virtual-path”Response.Cookies(“item-name”).expires=#date#通常,客户只在对创建cookie的目录中的页面提出请求时,才将cookie随请示发住服务器。通过指定path属性,可以指定站点中何处这个cookie是合法的,并且这个cookie将随请求发送。如果cookie随对整个站点的页面请求发送,设置path为“/”。假如Expires属性没有设置,关闭当前的浏览器实例时,cookie将被自动消除。注意,我们在向浏览器发送任何输出时,已经创建了cookie。因为,这些cookie是页面HTTP报头的一部分。在ASP3
5、.0中,缓冲的缺省状态是打开的,且没有输出被发送,除非使用Response.Flush指定做这个工作或者页面已到末端。这意味着创建cookie的代码可以在页面上的任何位置,直到任何输出“刷新”(flush)到客户端前,它都可以被执行。要读现有的cookie,使用Request.Cookies集合。可以单独访问其中的项目,方法类似于创建它们时使用的方法。StrSingleValue=Request.Cookies(“item-name”)StrSubItemValue=Request.Cookies(“item-name”)(“sub-item-name”)注意Request.Cookies集合
6、(和所有其他Request集合一样)是只读的。Response.Cookies集合是只写的,事实上可以访问这个集合中一系列cookie的名称,而不是它们的值。遍历Cookies集合为了使用Cookies集合更加方便,可使用名称为Haskeys的附加属性。假如访问的cookie本身也是个集合,即它是一个多值的cookie,这将返回True。使用Haskeys属性,可以遍历完整的Request.Cookies集合,从而获得所有cookie的列表及它们的值。ForEachobjItemInRequest.CookiesIfRequest.Cookies(objItem).HasKeyThen‘Use
7、anotherForEachtoiterateallsubkeysForEachobjItemKeyinRequest.Cookies(objItem)Response.>段时,可以设置打开的FORM标记的METHOD属性值为“GET”或“POST”,缺省值为“GET”。假如使用“GET”或省略其属性,浏览器将该值绑定在页面所有控件上,成为一个查询字符串,且附在被请求页面的URL上。当这个请求到达ETHOD属性为“POST”,浏览器将值包装进发送服务器的HTTP报头中,通过Request.Form集合提供给ASP。通过来说,可以在所有的HTML窗体中使用POST方法。然而,浏览器或服务器
8、的URL字符串长度存在一定的限制。因此,附有长的字符串可能会引起溢出和某些字符串的字符被截掉。同时,查询字符串出现在浏览器的地址栏和所有的保存的链接和收藏夹中。不仅如此,还显露了通过>时,窗体的值将不再保留,其值为空且必须重新输入。然而,当附在URL上时,其值被存储为一个链接,将被保留,因此将出现在所有的URL与字符串结合的请求中,这或许是个优点也可能是个缺点,这根据应用而定(一些浏览器在客
此文档下载收益归作者所有