设定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. httpUrlConnection中文乱码

    public void getFeiInfo(String sessionId) throws IOException{ //发送的请求参数,发送的格式也是Json的 String requestSt ...

  2. 阅读ArrayBlockingQueue源码了解如何利用锁实现BlockingQueue

    BlockingQueue是多线程里面一个非常重要的数据结构.在面试的时候,也常会被问到怎么实现BlockingQueue.本篇根据Java7里ArrayBlockingQueue的源码,简单介绍一下 ...

  3. 微信小程序开发工具使用与设计规范(二)

    [未经作者本人同意,请勿以任何形式转载] 上一篇文章主要分析了微信小程序应用场景和优劣势.本篇你可以学习到: 如何使用小程序开发工具写一个Hello World 微信小程序设计规范 微信小程序项目结构 ...

  4. 二维RMQ

    求二维ST表 ;k<=;k++) ;l<=;l++) ;i<=n;i++) ;j<=m;j++){ <<(l-)),m+),tx=min(n+,i+(<< ...

  5. APIPA(Automatic Private IP Addressing,自动专用IP寻址)

    APIPA APIPA(Automatic Private IP Addressing,自动专用IP寻址),是一个DHCP故障转移机制.当DHCP服务器出故障时, APIPA在169.254.0.1到 ...

  6. 【原创】相对完美的垂直居中popup(modal/dialog),无需监听window.resize事件

    <table class="popup" style="position: absolute; background-color: black; border-ra ...

  7. AnimationsDemo中的ZoomActivity代码分析

    AnimationsDemo是android官网的一个动画使用示例. ZoomActivity是demo中的图像缩放动画,因为这种效果比较常见,所以研究了一下代码. 下面是效果图: 毫无疑问这是一个组 ...

  8. python标准模块(三)

    本文会涉及到的模块: subprocess logging 1. subprocess 可以执行shell命令的相关模块和函数有: os.system os.spawn os.popen --废弃 p ...

  9. animate对颜色设置不起作用

    今天了解了一下stop的使用方法,但是实例中加入color:red的时候,动画效果没有实现,具体实例如下: http://jsbin.com/fezaroyene/edit?html,js,outpu ...

  10. fedora 24 使用扇贝网页版没有声音

    (扇贝的官方答疑:https://www.shanbay.com/help/faq/no_voice/) 第4步下载MP3测试文件没办法使用: 似乎因为MP3格式的文件是的版权问题. 打算安装能处理M ...