`
bruce198
  • 浏览: 236264 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Cookie 操作

    博客分类:
  • java
阅读更多

       Cookie是当你浏览某网站时,网站存储在你机器上的一个小文本文件,它记录了你的用户ID,密码、浏览过的网页、停留的时间等信息,当你再次来到该网站时,网站通过读取Cookie,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。你可以在IE的“工具/Internet选项”的“常规”选项卡中,选择“设置/查看文件”,查看所有保存到你电脑里的Cookie。这些文件通常是以user@domain格式命名的,user是你的本地用户名,domain是所访问的网站的域名。如果你使用NetsCape浏览器,则存放在“C:\PROGRAMFILES\NETSCAPE\USERS\”里面,与IE不同的是,NETSCAPE是使用一个Cookie 文件记录所有网站的Cookies。

      当在浏览器地址栏中键入了一个Web站点的URL,浏览器会向该Web站点发送一个读取网页的请求,并将结果在显示器上显示。这时该网页在你的电脑上寻找Amazon网站设置的Cookie文件,如果找到,浏览器会把Cookie文件中的数据连同前面输入的URL一同发送到Amazon服务器。服务器收到Cookie数据,就会在他的数据库中检索你的ID,你的购物记录、个人喜好等信息,并记录下新的内容,增加到数据库和Cookie文件中去。如果没有检测到Cookie或者你的Cookie信息与数据库中的信息不符合,则说明你是第一次浏览该网站,服务器的CGI程序将为你创建新的ID信息,并保存到数据库中。
  Cookie是利用了网页代码中的HTTP头信息进行传递的,浏览器的每一次网页请求,都可以伴随Cookie传递,例如,浏览器的打开或刷新网页操作。服务器将Cookie添加到网页的HTTP头信息中,伴随网页数据传回到你的浏览器,浏览器会根据你电脑中的Cookie设置选择是否保存这些数据。如果浏览器不允许Cookie保存,则关掉浏览器后,这些数据就消失。Cookie在电脑上保存的时间是不一样的,这些都是由服务器的设置不同决定得。Cookie有一个Expires(有效期)属性,这个属性决定了Cookie的保存时间,服务器可以通过设定Expires字段的数值,来改变Cookie的保存时间。如果不设置该属性,那么Cookie只在浏览网页期间有效,关闭浏览器,这些Cookie自动消失,绝大多数网站属于这种情况。通常情况下,Cookie包含Server、Expires、Name、value这几个字段,其中对服务器有用的只是Name和value字段,Expires等字段的内容仅仅是为了告诉浏览器如何处理这些Cookies。

1.设置Cookie

  1.   Cookie cookie = new Cookie("key""value");    
  2.   
  3.   cookie.setMaxAge(60);    

  设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。

  1. cookie.setPath("/test/test2");   

  设置Cookie路径,不设置的话为当前路径(对于Servlet来说为request.getContextPath() + web.xml里配置的该Servlet的url-pattern路径部分)

  1. response.addCookie(cookie);   

  2.读取Cookie

  该方法可以读取当前路径以及“直接父路径”的所有Cookie对象,如果没有任何Cookie的话,则返回null

  1. Cookie[] cookies = request.getCookies();   

  3.删除Cookie

  1. Cookie cookie = new Cookie("key"null);    
  2.   
  3. cookie.setMaxAge(0);    

  设置为0为立即删除该Cookie

  1. cookie.setPath("/test/test2");   

  删除指定路径上的Cookie,不设置该路径,默认为删除当前路径Cookie

  1. response.addCookie(cookie);   

  4.注意:假设路径结构如下

  test/test2/test345/test555/test666

  a.相同键名的Cookie(值可以相同或不同)可以存在于不同的路径下。

  b. 删除时,如果当前路径下没有键为"key"的Cookie,则查询全部父路径,检索到就执行删除操作(每次只能删除一个与自己最近的父路径Cookie)

  FF.必须指定与设定cookie时使用的相同路径来删除改cookie,而且cookie的键名不论大写、小写或大小混合都要指定路径。

  IE.键名小写时,如果当前路径为/test/test2,如果找不到再向上查询/test、/test555、/test345,如果还找不到就查询/ 。(/test555/test666不查询)

  键名大小写混合或大写时,不指定路径则默认删除当前路径,并且不向上查询。

  c.读取Cookie时只能读取直接父路径的Cookie。

  如果当前路径为/test/test2,要读取的键为"key"。当前路径读取后,还要读取/test,/test读取后,还要读取/

  d.在做Java的web项目时,由于一般的Web服务器(如Tomcat或Jetty)都用Context来管理不同的Web Application,这样对于每个Context有不同的Path,

  在一个Server中有多个Web Application时要特别小心,不要设置Path为/的Cookie,容易误操作。(当然前提是域名相同)

分享到:
评论

相关推荐

    Net Cookie操作读取数据

    本篇将深入探讨.NET中的Cookie操作,以及如何读取存储在Cookie中的数据。 一、Cookie的基本概念 Cookie由服务器端创建并发送到客户端(浏览器),客户端会在后续的请求中自动携带这些Cookie回服务器。每个Cookie都...

    一个简单的cookie操作类

    #### 一、Cookie操作类概览 在Web开发中,Cookie是一种常用的技术,用于存储用户的一些基本信息,以便于网站能够识别并记住用户的状态。本篇文章介绍了一个JavaScript实现的简单Cookie操作类,该类提供了一系列方法...

    Javascript Cookie操作类的封装

    本文将详细讲解如何封装一个Cookie操作类,实现对Cookie的增删改查功能。 首先,理解Cookie的基本概念是必要的。Cookie是由服务器端发送到浏览器并保存在本地的一个小文本文件,它由键值对组成,每个键值对之间用...

    JavascriptCookie一个轻量级别的浏览器端cookie操作的库

    总的来说,JavaScript Cookie库是前端开发中处理浏览器cookie操作的一个高效选择,尤其适用于需要在多个页面间保持用户状态或简单数据存储的场景。通过灵活的API和丰富的配置选项,可以方便地集成到任何JavaScript...

    Cookie操作帮助类

    Cookie操作帮助类通常是为了简化对Cookie的操作而设计的辅助类库,它可以帮助开发者更加高效、方便地创建、读取、更新和删除Cookie。下面我们将详细探讨Cookie的相关知识点以及如何使用一个名为HttpCookieHelper的C#...

    cookie操作封装js

    cookie操作工具类

    jsp中cookie操作

    ### JSP中的Cookie操作 在Web开发中,Cookie是一种常用的技术,用于跟踪用户的状态和偏好设置。通过在用户的浏览器上存储小型文本文件,网站能够识别并记住特定的用户信息。在JSP(JavaServer Pages)中,Cookie的...

    c#封装的cookie操作类

    为了方便开发者处理Cookie,我们可以封装一个Cookie操作类,如标题所述的"C#封装的cookie操作类"。这个类将提供读取、写入Cookie以及管理Cookie域和有效期的功能。 一、Cookie基本概念 Cookie是由服务器发送到用户...

    .net最完整的cookie操作类

    .NET框架中的Cookie操作是Web开发中的重要组成部分,用于在客户端和服务器之间传递状态信息。Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并由浏览器在后续请求时返回给服务器。在C#中,处理Cookie主要...

    网上收集的WebBrowser的Cookie操作

    网上收集的WebBrowser的Cookie操作 在Web开发中,Cookie是非常重要的一种技术,用于存储用户的浏览器信息,以便于后续的交互操作。在这里,我们将探讨如何在WebBrowser中操作Cookie,包括将Cookie信息传给 ...

    CookiesjsJavaScript客户端的Cookie操作库

    "CookiejsJavaScript客户端的Cookie操作库" 指的是一种JavaScript库,专门用于在客户端(即用户浏览器)进行Cookie的操作。Cookiejs是这个库的名称,它提供了一组简单易用的API,帮助开发者方便地管理用户的Cookie。...

    Flash as3 cookie 操作实例源码

    这个“Flash AS3 Cookie操作实例源码”压缩包包含了一个具体的示例,教你如何在ActionScript 3(AS3)环境中进行Cookie的操作。 在AS3中,我们没有内置的库来直接处理Cookie,但可以通过使用`flash.net....

    js对cookie操作的封装

    无论是使用纯JavaScript还是jQuery,了解基本的Cookie操作原理对于Web开发者来说都是必要的。在实际项目中,可以根据需求选择合适的操作方式,或者利用已有的库进行扩展。同时,要注意处理Cookie的大小限制(通常为4...

    javascript cookie 操作框架 XCookie

    JavaScript Cookie 操作框架 XCookie 是一个用于方便地管理和操作浏览器cookies的工具,它简化了JavaScript中处理cookie的复杂性。在Web开发中,cookies经常被用来存储用户状态、会话信息或其他临时数据,而XCookie...

    Cookie操作类

    Cookie操作类,各种有关于Cookie技术的操作方法。

    webview与服务器共享cookie操作

    本篇将详细讨论如何实现"webview与服务器共享cookie操作"。 首先,理解cookie的工作原理至关重要。Cookie是由服务器发送到浏览器的一小块数据,用于存储用户状态信息,如登录状态、个性化设置等。当用户在浏览器中...

    Android下登录Demo(使用了读写Cookie操作)

    7. **使用第三方库**:像`android-cookie`这样的库提供了更便捷的Cookie管理方式,简化了Android应用中的Cookie操作。 总之,理解并正确使用Cookie是构建Android登录系统的关键。通过合理的读写和管理Cookie,可以...

    JS Cookie的操作

    总结,了解和掌握JavaScript中的Cookie操作对于Web开发人员来说是必不可少的技能,它能帮助我们实现用户会话管理、个性化设置等功能。通过本文档和提供的示例,你应该能够熟练地在你的项目中运用Cookie了。

    jQuery插件Cookie操作jQuery.Cookie -源码.zip

    《jQuery插件Cookie操作:深入理解jQuery.Cookie》 在JavaScript的世界里,Cookie是浏览器存储少量数据的一种机制,常用于用户偏好设置、会话管理等场景。jQuery作为一个强大的JavaScript库,为开发者提供了方便的...

    cookie操作js代码

    以下是对"cookie操作js代码"的详细解释: Cookie的基本概念: Cookie是由服务器端设置,存储在用户浏览器中的小文本文件。它通常包含键值对,用于追踪用户状态、保持登录信息、个性化设置等。每个Cookie都有一个...

Global site tag (gtag.js) - Google Analytics