本文章介绍了Request.Cookies的基本的语法和使用方法。

而且通过演示样例分析了Request.Cookies的使用过程。

  Request.Cookies方法能够检索Cookies 集合中的值,Cookies 集合同意用户检索在 HTTP 请求中发送的 cookie 的值。

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

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

  利用Cookies可存储与用户相关的信息。

利用Response和Request对象的Cookies集合。可实现设置或获得Cookies的值。

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

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

參数说明:

(1)CookieName:代表表示Cookie的名字,由用户自行命名。

(2)Key:是Cookie指定keyword。通过给Cookie指定keyword,可使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)

%>

读书完本文章后,我相信你对Request.Cookies有了初步的了解。自己动手编几个实例就会对Request.Cookies有深入的理解。

Request.Cookies使用方法分析的更多相关文章

  1. C#中Request.Cookies 和 Response.Cookies 的区别分析

    .NET中提供了读写Cookie的多种方法,Request.Cookies 是客户端通过 Cookie 标头形式由客户端传输到服务器的 Cookie:Response.Cookies 在服务器上创建并 ...

  2. web基础---->request的请求参数分析

    当contentType为application/json的时候,在servlet中通过request.getParameter得到的数据为空.今天我们就java的请求,分析一下request得到参数 ...

  3. Servlet生命周期中的service方法分析

    问题ServletLifeCycle中的service方法内,有super.service(request, response); 会执行this.doGet(HttpServletRequest r ...

  4. JSP页面中文参数传递get和post方法分析

    原文 http://developer.51cto.com/art/200907/133499.htm 在项目中,我们经常遇到需要在JSP页面切换中传递中文字符.这主要有两种方式. ◆URL方式 例如 ...

  5. ASP:当 request.cookies 发生 Microsoft VBScript 运行时错误 (0x800A000D) 类型不匹配: '[string:

    昨天当一个客户告诉我,登录后看不到图片的时候,我还不相信,因为我的浏览器测试发现一切正常. 通过QQ远程协助后,我才发现服务器端真的报错: Microsoft VBScript 运行时错误 (0x80 ...

  6. Request.Cookies 和 Response.Cookies 的区别

    .NET中提供了读写Cookie的多种方法,Request.Cookies 是客户端通过 Cookie 标头形式由客户端传输到服务器的 Cookie:Response.Cookies 在服务器上创建并 ...

  7. ThinkPHP5 核心类 Request 远程代码漏洞分析

    ThinkPHP5 核心类 Request 远程代码漏洞分析 先说下xdebug+phpstorm审计环境搭建: php.ini添加如下配置,在phpinfo页面验证是否添加成功. [XDebug] ...

  8. tomcat源码---->request的请求参数分析

    当contentType为application/json的时候,在servlet中通过request.getParameter得到的数据为空.今天我们就java的请求,分析一下request得到参数 ...

  9. Response.cookies和Request.cookies

    Response.cookies和Request.cookies的区别很重要,由于方法基本都是差不多的,特别对于初学者而言,很容易出现混淆. 简单说就是创建cookie用response,获取cook ...

随机推荐

  1. python接口自动化12-案例分析(csrfToken)【转载】

    前言: 有些网站的登录方式跟前面讲的博客园和token登录会不一样,把csrfToken放到cookie里,登录前后cookie是没有任何变化的,这种情况下如何绕过前端的验证码登录呢? 一.登录前后对 ...

  2. laravel获取checkbox值的小技巧

    以前老是用三元运算符来判断,现在有了更好的方法: 1.html代码 <input type="hidden" name="approved" value= ...

  3. IIS-CS0016未能写入文件错误解决方法

    使用IIS创建Workbench站点,运行在本地 Workbench主页显示错误,这个提示的错误信息其实是有误导人的,真的打开至c:\Windows\Microsoft.NET\Framework64 ...

  4. sonarQube Github pull request扫描代码

    参考官方地址:https://docs.sonarqube.org/display/PLUG/GitHub+Plugin 运行环境:sonarQube6.2 + sonarScanner2.8 近来, ...

  5. (7)python 函数和lambda表达式

    一.函数定义和调用 1.定义函数用def 2.函数注释 在函数体里的开头写上字符串,可以起到说明的作用 可以用函数名.__doc__的方式读取在函数开头加的字符串(双下划线) 内建的help()函数也 ...

  6. HDU 2829 Lawrence

    $dp$,斜率优化. 设$dp[i][j]$表示前$i$个数字切了$j$次的最小代价.$dp[i][j]=dp[k][j-1]+p[k+1][i]$.观察状态转移方程,可以发现是一列一列推导出来的.可 ...

  7. pyinstaller对多进程程序的打包

    在使用python的第三方库pyinstaller对多进程程序进行打包时,程序不能正常的运行,但是后台却有多个进程一直在使用资源. 解决方法很简单,在if __name__ == '__main__' ...

  8. (寒假开黑gym)2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017)

    layout: post title: (寒假开黑gym)2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017) au ...

  9. SPOJ IITWPC4F - Gopu and the Grid Problem (双线段树区间修改 区间查询)

    Gopu and the Grid Problem Gopu is interested in the integer co-ordinates of the X-Y plane (0<=x,y ...

  10. python3 开发面试题(生成列表)6.1

    话不多说直接上题: 生成如下列表: [[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8], [0, 3, 6, 9, 12]] # 方式一 list1 ...