zoukankan      html  css  js  c++  java
  • Request.Cookies和Response.Cookies分析(转)

    Request.Cookies的基本语法和用法。并且通过示例分析了Request.Cookies的使用过程。

      Request.Cookies方法可以检索Cookies 集合中的值,Cookies 集合允许用户检索在 HTTP 请求中发送的 cookie 的值。

      Request.Cookies使用语法:Request.Cookies(cookie)[(key)|.attribute]

      Cookies是一种标记,由WEB服务器嵌入到用户浏览器中,以便识别用户,下次同一浏览器请求网页时,将发送从WEB服务器收到的Cookies。

      利用Cookies可存储与用户相关的信息。利用Response和Request对象的Cookies集合,可实现设置或获得Cookies的值。

      利用Response对象的Cookies集合,设置Cookies的用法为:

      Response.Cookies(CookieName)[(Key)|.Attribute]=value

    参数说明:
    (1)CookieName:代表表示Cookie的名字,由用户自行命名。
    (2)Key:是Cookie指定关键字。通过给Cookie指定关键字,可使Cookie拥有多个值,这种Cookie称为带索引的Cookie。
    (3)Attribute:此参数表示Cookies集合对象的属性,其最常用的属性主要是Expires(用于设置Cookies的过期日期)、Domain(用于设置Cookies的有效作用域名范围)。

    比如:若要设置一个名为VisitNum的Cookie,用以储存该用户访问本网站的次数,并初始化其值为1,则实现代码为:

    <%Response.Cookies("VisitNum")=1%>

      该语句必须位于网页的<HTML>标记之前。若指定的Cookies己经存在,则将重写Cookies的值,若不存在,建创建该Cookies。
      利用该方法所设置的Cookies仅在当前会话中有效,若要在用户已经终止或重新启动浏览器之后仍有效,就必须强制浏览器将Cookie保存到用户的硬盘上,为此,可以通过设置Cookies集合对象的Expires属性为此后的某一段时间来实现。

    例如,若要设置名为VisitNum的Cookies在5天后过期,则设置方法为:

    <%
    Response.Cookies("VisitNum")=1
    Response.Cookies("VisitNum").Expires=DateAdd("d",5,Date)
    %>

    例如:使用Cookie保存网友访问网站的次数和最近一次访问的日期和时间,并要求该Cookie在7天后过期。
       要保存的信息有2个,而且这2个信息有一定的联系,因此,可用带索引的Cookies来实现。另外,也可以用两个不同的Cookie来分别保存。
      为了实现累加访问次数,可利用Request对象的Cookie集合对象来获得Cookie的值,递增后,再赋回给该Cookie。Request对Cookie操作的方法与Response相似,只不过Request是用来获取Cookies的值,而Response是用来设置Cookies的值。

    (1)、带索引的Cookies的实现方法为:
    <%
    if Request.Cookies("UserVisit")("num")="" then   '若该Cookie不存在
        Response.Cookies("UserVisit")("num")=1        '则创建该Cookie并赋初值
    else
        Response.Cookies("UserVisit")("num")=Request.Cookies("UserVisit")("num")+1
    end if
    Response.Cookies("UserVisit")("LastVisit")=now
    Response.Cookies("UserVisit").Expires=DateAdd("ww",1,Date)
    %>

      为了测试是否正确设置了Cookie,可用以下代码通过输出相应Cookie的值来实现:

    <%="访问人数为:"&Request.Cookies("UserVisit")("num") &"<BR>最近访问时间为:" & Request.Cookies("UserVisit")("LastVisit")%>

    (2)、用两个不同Cookie的实现方法(不带索引):

    <%
    Response.Cookies("VisitNum")=1
    Resposne.Cookies("VisitNum").Expires=DateAdd("ww",1,Date)
    Response.Cookies("LastVisit")=now
    Response.Cookies("LastVisit").Expires=DateAdd("ww",1,Date)
    %>

  • 相关阅读:
    关于时间:UTC/GMT/xST/ xDT
    javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.Size' validating type 'java.util.Date'.
    svn tree confflect
    spring+mybatis 配置双数据源
    JUC 之 ThreadPoolExecutor 的一些研究
    关于 Thread.currentThread()
    swagger 基础入门
    oryx 分离&集成
    Jenkins 之邮件配置
    Jenkins 简单配置
  • 原文地址:https://www.cnblogs.com/myitm/p/1728129.html
Copyright © 2011-2022 走看看