今天
中国论文网小编为大家分享毕业论文、职称论文、论文查重、论文范文、硕博论文库、论文写作格式等内容. 访问和更新cookies集合cookies的值比asp其他集合(例如form和servervariables)的值要复杂得多。cookie是一小块由浏览器存贮在客户端系统上的文本,且随同每次请求发往它们应用于的域中的服务器。asp使得应用cookie较为容易,可以从request对象的cookies集合中获得所有随同请求发出的cookie值,并可创建或修改cookie,通过response对象的cookies集合发回给用户。cookie包含可用两种方式构造的信息,单值cookie提供其值给代码是通过一个一般的类asp集合。然而,集合的每个成员可能本身也是一个集合,包含这种信息的cookie通过称为多值(multiple-value)cookie。创建一个单值的cookie较为简单,如下所示:s(“item-name”) = “item-value”创建一个多值的cookie,可以使用如下命令:s(“item-name”)(“sub-item-name”) = “sub-item-value”设置cookie应用的域及路径及其有效期,我们使用:s(“item-name”).domain = “domain-url”s(“item-name”).path = “virtual-path”s(“item-name”).expires = #date#通常,客户只在对创建cookie的目录中的页面提出请求时,才将cookie随请示发住服务器。通过指定path属性,可以指定站点中何处这个cookie是合法的,并且这个cookie将随请求发送。如果cookie随对整个站点的页面请求发送,设置path为“/”。假如expires属性没有设置,关闭当前的浏览器实例时,cookie将被自动消除。注意,我们在向浏览器发送任何输出时,已经创建了cookie。因为,这些cookie是页面http报头的一部分。在asp 3.0中,缓冲的缺省状态是打开的,且没有输出被发送,除非使用指定做这个工作或者页面已到末端。这意味着创建cookie的代码可以在页面上的任何位置,直到任何输出“刷新”(flush)到客户端前,它都可以被执行。要读现有的cookie,使用s集合。可以单独访问其中的项目,方法类似于创建它们时使用的方法。strsinglevalue = s(“item-name”)strsubitemvalue = s(“item-name”)(“sub-item-name”)注意s集合(和所有其他request集合一样)是只读的。s集合是只写的,事实上可以访问这个集合中一系列cookie的名称,而不是它们的值。遍历cookies集合为了使用cookies集合更加方便,可使用名称为haskeys的附加属性。假如访问的cookie本身也是个集合,即它是一个多值的cookie,这将返回true。使用haskeys属性,可以遍历完整的s集合,从而获得所有cookie的列表及它们的值。for each objitem in sif s(objitem).haskey then‘use another for each to iterate all subkeysfor each objitemkey in s(objitem) objitem & “(“ & objitemkey & “) = “_& s(objitem)(objitemkey) & “”nextelse‘print out the cookie string as normal objitem & “ = ”& s(objitem) & “”end ifnext这非常类似于前面的从集合中提取多个值的复杂代码。但是这里可以使用haskeys属性来判别每个条目是否为一个集合。而在form例子里,必须查询(item_name).count属性,这是因为form集合(和所有的除cookie外的其他集合)成员不可能是真正的集合。asp只是做了“幕后”的工作,得到了每个多条目集合的值。form和querystring的差异了解了访问各种asp集合的技术以后,需要解决另一个问题是:form和querystring集合之间的差异是什么?假如准备使用asp,毫无疑问应该清楚这种差异,但需要参考http工作方式来重新认识,理解它们。通过http从web服务器请求页面或其他资源,有两个通用的方法。可使用get方法直接获得资源,也可使用post把值传给相应资源。get方法是缺省的,可以看一下本章前面的一个http请求的实例:
7/8/99 10:27:16 sent get / http/1.1假如把一个或多个成对的名称/值附在请求页面的url后,就变成请求的查询字符串,且在querystring集合中提供给asp页面。单击web页面、email消息或其它文档的超链接,或在浏览器的地址栏中输入地址并按回车,或单击浏览器中的links或favorites按钮,所有这些都要使用get方法。因此,对这些动作中传递值给asp的唯一方法是通过querystring集合,把值附在url后。出现在tring集合中并被访问的值,与前面看到的form集合实例中的工作方式相同。url和查询字符串的结合:?firstname=priscilla&lastname=descartes可以采用如下方式访问在querystring集合中提供的值:strfirstname = tring(“firstname”) ‘return “priscilla”strlastname = tring(“lastname”) ‘return “descartes”strraw = tring ‘return “firstname=priscilla&lastname=descartes”窗体的get和post方法在一个页面内使用2) 修改现有的cookie可以使用asp修改现有的cookie,但不能只修改cookie中的一个值。当更新一个在s集合中的cookie时,现有的值将丢失。我们可以用如下代码创建一个cookie,可以使用:s(“visitcount”)(“startdate”) = dtmstarts(“visitcount”)(“lastdate”) = nows(“visitcount”)(“visits”) = cstr(intvisits)s(“visitcount”).path = “/” ‘apply to entire sites(“visitcount”).expires = dateadd(“m”,3,now)假如想要更新visits和lastdate的值,必须先不需改变的所有值,然后重写整个的cookie:datdtart = s(“visitcount”)(“startdate”)intvisits = s(“visitcount”)(“visits”)s(“visitcount”)(“startdate”) = dtmstarts(“visitcount”)(“lastdate”) = nows(“visitcount”)(“visits”) = cstr(intvisits)s(“visitcount”).path = “/”s(“visitcount”).expires = dateadd(“m”,3,now + 1)且对于几乎所有的其他response方法和属性,应该在写入任何内容(即打开标记或任何文本或其他的html)到响应之前完成这个工作。
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。