`
takkymj
  • 浏览: 126900 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA操作Cookie

阅读更多
Cookie是什么
Cookie是网站为了识别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。

Cookie 常用来保存少量的、简单的数据,一般不允许超过4KB(与浏览器设置也有关系),使用期限可以进行灵活设定,保存于用户浏览器所设定的目录内。由于信息存储在客户端,最好不要保存敏感数据(例如,密码、银行账号等)。可以保存以下信息: 用户的浏览记录、上次访问时间等内容。同时需要注意客户端用户有可能会关闭 Cookie。

IE浏览器中Cookie的设置
如果您使用的是IE 6.0版本,可以按照以下几个步骤启用/禁用cookie:
(1)点击菜单条上的”工具”(Tool);
(2)在展开的菜单里,选择最下面一条”Internet选项”(Internet Options);
(3)在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个”隐私”(Privacy);
(4)在”隐私”的设置里,中间偏下有三个按钮,点击第二个按钮”高级”(Advanced);
(5)在弹出的cookie设置窗口里,勾选如下设置:
覆盖自动cookie处理
第一方cookie:接受/阻止/提示
第三方cookie:接受/阻止/提示
总是允许会话cookie (Always allow session cookies)
点击按钮”确定”(OK),关闭cookie设置窗口
点击按钮”确定”(OK),关闭Internet 选项设置窗口

IE浏览器中Cookie的查看
如果您使用的是IE 6.0版本,可以按照以下几个步骤启用/禁用cookie:
(1)点击菜单条上的”工具”(Tool);
(2)在展开的菜单里,选择最下面一条”Internet选项”(Internet Options);
(3)在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个”常规”;
(4)在”浏览历史记录”,一栏中点击“设置”;
(5)在打开的新窗口中点击“查看文件”即可。

==========================
java对cookie操作的支持
Servlet API中有一个Cookie类:javax.servlet.http.Cookie 。该类对cookie的使用进行了封装,并包含了一些额外的属性以帮助程序员更好的使用cookie。使用cookie一般分为两个步骤:
(1)创建cookie并设置其值;
(2)读取cookie中所设置的值。
一旦我们以某个域名或者网址的名义(比如:www.darkmi.com)在客户端设置了cookie,那么每次访问该域名或者网址的时候,请求中都会包含该cookie。

Cookie类的常用方法:

1.设置Cookie

Cookie cookie = new Cookie("key", "value");
cookie.setMaxAge(60); //设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。
cookie.setPath("/test/test2"); //设置Cookie路径,不设置的话为当前路径(对于Servlet来说为request.getContextPath() + web.xml里配置的该Servlet的url-pattern路径部分)
response.addCookie(cookie);

2.读取Cookie

该方法可以读取当前路径以及“直接父路径”的所有Cookie对象,如果没有任何Cookie的话,则返回null
Cookie[] cookies = request.getCookies();

3.删除Cookie

Cookie cookie = new Cookie("key", null);
cookie.setMaxAge(0); //设置为0为立即删除该Cookie
cookie.setPath("/test/test2"); //删除指定路径上的Cookie,不设置该路径,默认为删除当前路径Cookie
response.addCookie(cookie);

4.修改Cookie
首先读取cookie
Cookie[] cks = request.getCookies();
for (int i = 0; i < cks.length; i ++){
  Cookie cookie = cks[i];
  if (cookie.getName().equalsIgnoreCase("cookiename")){
cookie.setValue("newvalue"); 设置新的值
        response.addCookie(cookie);
   }
}

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

/

/test

/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,容易误操作。(当然前提是域名相同)

分享到:
评论

相关推荐

    java 操作cookie

    Java 操作 Cookie Java 操作 Cookie 是一种常用的 Web 开发技术,用于在服务器端和客户端之间交换数据。Cookie 是一种小文本文件,存储在客户端浏览器中,用于记录用户的行为和偏好。下面我们将详细介绍 Java 操作 ...

    关于java应用cookie

    `setMaxAge`方法用于设置Cookie的有效期,单位为秒。有效期为0表示Cookie仅在当前会话期间有效,浏览器关闭后就会删除;若为负数则表示Cookie将一直保存在客户端,直到被手动删除或过期。 ##### 2. 添加Cookie到...

    java操作cookie

    // 设置Cookie的有效期为一周 response.addCookie(cookie); ``` 这段代码创建了一个名为"username"的Cookie,值为"John",并将有效期设置为7天。 接着,我们讨论如何在客户端读取Cookie。在JSP或Servlet的...

    JAVA操作COOKIE.docx

    JAVA 操作 COOKIE Cookie 是一种小型文本文件...JAVA 操作 COOKIE 主要包括设置 Cookie、读取 Cookie、删除 Cookie 和修改 Cookie 四个方面,通过设置 Cookie 的路径、域名和生存期,可以实现两个网站共用 Cookies。

    JAVA操作COOKIE

    以下是关于 Java 操作 COOKIE 的详细说明: 1. **设置 Cookie** - 创建一个名为 "key",值为 "value" 的 Cookie 对象:`Cookie cookie = new Cookie("key", "value");` - 设置生存期:`cookie.setMaxAge(60);` 这...

    Java 模拟cookie登陆简单操作示例

    Java 模拟Cookie 登陆简单操作示例 在本文中,我们将介绍 Java 模拟 Cookie 登陆的简单操作,结合实例形式分析了 Java 模拟 Cookie 登陆的相关原理与基本实现技巧。本示例主要是为了演示如何使用 Java 语言模拟 ...

    java对cookie的操作java对cookie的操作

    在Java中,我们可以使用HttpServletResponse的`addCookie()`方法来设置Cookie。首先创建一个Cookie对象,通过构造函数传入键值对,例如`new Cookie("key", "value")`。然后设置Cookie的存活时间,`setMaxAge()`方法...

    java操作cookie-实现两周内自动登录.doc

    java 操作 Cookie 实现两周内自动登录 java 操作 Cookie 实现两周内自动登录是指通过在用户第一次登录网站时,网站向客户端发送一个包含有用户名的 Cookie,当用户下次访问时,浏览器将该 Cookie 发送回网站服务器...

    java操作cookie示例(删除cookie)

    总结一下,Java操作Cookie主要包括设置Cookie(设置键值、生存时间和路径),读取Cookie(通过`getCookies()`方法)以及删除Cookie(创建一个MaxAge为0的新Cookie)。理解这些基本操作对于进行Web开发是至关重要的,...

    JAVA操作COOKIE.pdf

    - 设置Cookie的生存期,例如`cookie.setMaxAge(60)`,这里的60表示60秒。若设置为负值,Cookie将在浏览器关闭时失效,即仅存储在内存中。 - 指定Cookie的作用路径,如`cookie.setPath("/test/test2")`,这样只有在...

    java对cookie的操作.doc

    以下是对Java操作Cookie的详细解释: 1. **创建Cookie**: - 创建Cookie对象时,通过`new Cookie(String name, String value)`构造方法指定Cookie的名称和值。例如:`Cookie cookie = new Cookie("cookiename",...

    JAVA之cookie与session

    ### JAVA之cookie与session #### 一、Cookie与Session的概念 **Cookie** 与 **Session** 是两种在 Web 开发中用于跟踪用户会话的重要技术。它们的主要目标是在客户端和服务端之间保持状态。 - **Cookie** 机制...

    java中cookie的使用教程

    3. **设置Cookie属性** - **最大存活时间**:通过`setMaxAge()`设置,单位为秒。如果设置为0,表示立即失效;如果不设置,则默认为浏览器会话期间有效。 - **路径和域**:`setPath()`用于指定Cookie的作用路径,...

    javacookie的使用

    4. **生命周期管理**: 适当设置Cookie的生命周期,避免不必要的资源占用。 通过以上介绍,我们可以看到,在Java Web环境中,Cookie的使用非常灵活且强大,能够帮助开发者轻松实现许多高级功能。当然,正确地使用...

    java访问.net webservice获取与设置cookie

    本篇文章将深入探讨如何使用Java访问.NET Web服务,并在过程中获取和设置Cookie,以便实现更高效、安全的会话管理。首先,让我们理解Web服务的基本概念。 Web服务是一种通过HTTP协议提供功能的方法,使得不同系统间...

    java cookie 例子

    // 设置Cookie的作用域,即只能在哪个域名下访问 cookie.setPath("/"); // 默认值,整个域名 // 将Cookie添加到响应中 response.addCookie(cookie); ``` 当服务器收到请求时,可以通过`HttpServletRequest`的`get...

    java对cookie的操作

    #### 二、创建与设置Cookie 在Java中,可以通过`javax.servlet.http.Cookie`类来创建和操作Cookie。创建一个简单的Cookie示例如下: ```java Cookie cookie = new Cookie("cookiename", "cookievalue"); response....

    discuz与java通过cookie共享登陆

    3. **在Discuz登录成功后,将登录信息编码成Cookie**:当用户在Discuz成功登录后,服务端会在用户的浏览器上设置一个包含用户信息的Cookie,同时这个信息也应发送给Java应用。 4. **Java应用检测Cookie**:Java应用...

Global site tag (gtag.js) - Google Analytics