设定cookie 过期时间:

Cookie coke = new Cookie("name", "pattern");

coke.setMaxAge(60);//s
        response.addCookie(coke);

对于cookie的操作
            设置:
            Cookie cookie = new Cookie("key","value"); 创建一个cookie
            cookie.setMaxAge();   设置cookie的有效时间
            cookie.setPath(uri);  设置cookie的路径
            cookie.setDomain(".baidu.com");设置cookie的域(了解)
            response.addCookie(cookie); 把cookie添加到响应中,这样才能发送给浏览器.可以添加多个cookie. (IE6.0一个网站只能记30个cookie,ie最多记录300个cookie.(但是发展到现在版本.数量提升了,具体没试过.Chrom3000个cookie))
            浏览器发过来,取出cookie:
            request.getCookies();   
    cookie的详情:
        服务器使用 set-Cookie响应头 让浏览器记住一个数据(键值对)  响应头: Set-Cookie: name=tom
        浏览器用Cookie请求头,告诉服务器一个键值对.                请求头:Cookie: name=tom

记录浏览历史:

// Cookie c = new Cookie("History");
Cookie[] cookieArray = request.getCookies(); String strs = request.getParameter("name"); Cookie temp = null;
if (cookieArray != null && cookieArray.length > 0) {
for (Cookie c : cookieArray) {
if (c.getName().equalsIgnoreCase("history")) {
temp = c;
break;
}
}
}
if (temp != null) {
String temps = (String) temp.getValue(); if (!temp.getValue().contains(strs)) {
temps += "," + strs;
}
Cookie newCookie = new Cookie("history", temps);
response.addCookie(newCookie);
request.setAttribute("history", temps);
} else {
Cookie newCookie = new Cookie("history", strs);
response.addCookie(newCookie);
} request.getRequestDispatcher("/index2.jsp").forward(request, response);
Cookie coke = new Cookie("history", "");
coke.setMaxAge(0);
response.addCookie(coke);
request.getRequestDispatcher("/index2.jsp").forward(request, response);
<a href="/day11_jsp/CServlet?name=dell">Dell</a>
<br />
<a href="/day11_jsp/CServlet?name=Lenovo">lenovo</a>
<br />
<a href="/day11_jsp/CServlet?name=acer">Acer</a>
<br />
<%
String strs = (String) request.getAttribute("history");
%>
您浏览的历史是:<%=strs%><br/>
<a href="/day11_jsp/DServlet">删除Cookie</a>

例子:
        1.显示上次访问时间

2.记录浏览历史.

Cookie细节

1.记多久

使用cookie.setMaxAge(int) ==> 该方法设置cookie有效时间

填写方法:

1.填写正数 --> 数字相当于秒 ==> 60 ==> 浏览器记住1分钟

2.填写0 --> 数字还是相当于秒 ==> 0 ==> 表示立即失效

3.填写-1 --> 这个数字表示只是临时记住 ==> 浏览器一旦关闭,那么cookie失效 ==> 浏览器一直不关闭==> 一直有效

通过上面的设置.需要删除一个cookie怎么办?

重新发送相同的cookie.设置cookie的有效时间为0.那么就相当于删除该cookie.   
                    思考:如果我们不设置MaxAge,那么cookie默认有效时间是多长? ==> 默认有效时间是当浏览器关闭cookie删除也就是 相当于-1;

2.什么时候给我

研究什么时候发送cookie 实际上就是对cookie路径的研究.

访问http://localhost/day11-cookie/EServlet?name=HASEE这个路径时添加的cookie路径是==>/day11-cookie

路径默认会使用访问资源的当前路径作为cookie路径.

http://localhost/day11-cookie/ABC/BCD/AServlet ==> http://localhost/day11-cookie/ABC/BCD

路径在什么时候有效(会发送这个cookie呢?)?

浏览器记录了如下cookie

a  /day11-cookie   ==>  凡是/day11-cookie 路径下的所有子路径全都发送cookie

b /day11-cookie/ABC

c /day11-cookie/BCD

d /

有以下路径,在访问那些路径是会发送该cookie

http://localhost/day11-cookie/ABC/BCD/AServlet     ==> 会发送a,b cookie

http://localhost/day11-cookie/BCD/BServlet ==> ac

http://localhost/day10/AServlet ==> d

在我们操作cookie时,除了默认赋予路径外,我们可不可以自己来设置cookie的路径呢?

使用cookie.setPath方法可以设置.

3.cookie的域问题(了解)

比如 baidu这个域上有多个主机,在这多个主机之间想共享一个cookie,那么这个cookie该如何设置?

music.baidu.com /day01

zhidao.baidu.com /day02

map.baidu.com / day03

cookie该如何设置呢? ==>  域 ".baidu.com"  ==> 这么设置那么 以上三个地址都可以跟这个主机匹配.

==>  路径 "/"   ==> 不管什么Context路径都会发送

4.cookie保存中文

因为传输中不支持中文.所以我们要先对中文进行编码

编码:URLEncoder.encode(str,charset);

浏览器还给我们时,我们再解码回来即可

解码:URLDecoder.decode(str,charset);

cookie 巩固的更多相关文章

  1. 超大 Cookie 拒绝服务攻击

    有没有想过,如果网站的 Cookie 特别多特别大,会发生什么情况? 不多说,马上来试验一下: for (i = 0; i < 20; i++) document.cookie = i + '= ...

  2. IE10、IE11 User-Agent 导致的 ASP.Net 网站无法写入Cookie 问题

    你是否遇到过当使用一个涉及到Cookie操作的网站或者管理系统时,IE 6.7.8.9下都跑的好好的,唯独到了IE10.11这些高版本浏览器就不行了?好吧,这个问题码农连续2天内遇到了2次.那么,我们 ...

  3. 解决cookie跨域访问

    一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入c ...

  4. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  5. 一个诡异的COOKIE问题

    今天下午,发现本地的测试环境突然跑不动了,thinkphp直接跑到异常页面,按照正常的排错思路,直接看thinkphp的log 有一条 [ error ] [2]setcookie() expects ...

  6. [转载]Cookie/Session的机制与安全

    Cookie和Session是为了在无状态的HTTP协议之上维护会话状态,使得服务器可以知道当前是和哪个客户在打交道.本文来详细讨论Cookie和Session的实现机制,以及其中涉及的安全问题. 因 ...

  7. jquery.cookie的使用

    今天想到了要为自己的影像日记增加赞的功能,并且需要用到cookie. 记得原生的js操作cookie也不是很麻烦的,但似乎jquery更简单,不过相比原生js,需要额外引入2个文件,似乎又不是很好,但 ...

  8. 跨域问题,前端主动向后台发送cookie

    跨域是什么? 从一个域名的网页访问另一个域名的资源,就会出现跨域.只要协议.端口.域名有一个不同就会出现跨域 例如: 1.协议不同  http://www.baidu.com:80 和 https:/ ...

  9. 【流量劫持】沉默中的狂怒 —— Cookie 大喷发

    精简版:http://www.cnblogs.com/index-html/p/mitm-cookie-crack.html 前言 上一篇文章 讲解了如何借助前端技术,打造一个比 SSLStrip 更 ...

  10. 好好了解一下Cookie

    Cookie的诞生 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的.Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用.比如判断用户是否是第一次访问网站.目前最新 ...

随机推荐

  1. Python-06-面向对象(基础篇)

    面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机 ...

  2. ReactNative新手学习之路03真机调试

    React Native新手入门03真机调试(iOS) 从设备访问开发服务器 在启用开发服务器的情况下,你可以快速的迭代修改应用,然后在设备上查看结果.这样做的前提是你的电脑和设备必须在同一个wifi ...

  3. iOS 关于字体根据不同屏幕尺寸等比适配的问题(zz)

    http://www.jianshu.com/p/5815e81abb52 背景 去年的六月份开始了一个新的项目,此项目支持的设备从4S开始一直到6+,也就是说屏幕的尺寸最小的320x480 最大的1 ...

  4. [LeetCode] Implement Trie (Prefix Tree)

    Implement a trie with insert, search, and startsWith methods. Note:You may assume that all inputs ar ...

  5. 【腾讯GAD暑期训练营游戏程序班】游戏场景管理作业说明文档

    场景管理作业说明文档                              用了八叉树的算法,测出三层时最快,区域范围内物体数量为21块,控制台打印出的结果如图所示: 场景物体:游戏中,所有具有空 ...

  6. JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)

    前言:前天刚写了篇JS组件系列——Bootstrap Table 表格行拖拽,今天接到新的需要,需要在之前表格行拖拽的基础上能够同时拖拽选中的多行.博主用了半天时间研究了下,效果是出来了,但是感觉不尽 ...

  7. asp.net mvc后台操作之读写xml控制首页动态页面开关显示

    一.背景 在asp.net mvc项目里,用户需要开拓几个活动版面,并以侧栏的方式呈现在首页右侧,几个活动时间不一致,为避免浏览者在活动未开放之时进入未开放的服务页面.因此不仅需要在活动代码中加入限制 ...

  8. Scales小谈gulp

     gulp是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务. 外网:http://gulpjs.com/ 中文官网:http://www.gulpjs.com.cn/ 易于使用 ...

  9. 【bzoj1923】 Sdoi2010—外星千足虫

    http://www.lydsy.com/JudgeOnline/problem.php?id=1923 (题目链接) 题意 按顺序给出m个n元模线性方程,问最少当给出多少个方程时整个方程组有解. S ...

  10. 微信小程序之明源商城系列-01-商城介绍及开发准备

    1,效果展示 数据来自于写的一个小爬虫爬了明源商城部分的数据.由于价格的保密性,下列产品价格和真实的都不同. 1.1 主页及开发文件结构 1.2  产品的详细页面 1.2  产品分类页面 1.3 产品 ...