`
uule
  • 浏览: 6359449 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

Java中对Cookie的使用

阅读更多

  1.写Cookie

  Cookie cookie = new Cookie("key", "value");
  cookie.setMaxAge(60);   //Sets the maximum age of the cookie in seconds.
  设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。
    如果设置为 0 的话,则该cookie会被删除。


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

  response.addCookie(cookie);


LoginAction.java中设置Cookie:

Cookie namecookie = new Cookie("name",name);
Cookie passwordcookie = new Cookie("password",password);
Cookie optioncookie = new Cookie("option",option);

//生命周期    
namecookie.setMaxAge(60*60*24*365);
passwordcookie.setMaxAge(60*60*24*365);
optioncookie.setMaxAge(60*60*24*365);
    
response.addCookie(namecookie);
response.addCookie(passwordcookie); 
response.addCookie(optioncookie); 

 
  2.读取Cookie

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

  Cookie[] cookies = request.getCookies();

 

Login.jsp页面读取Cookie:

<action forward="/login.jsp" path="/toLogin" />
 
<%
Cookie[] cookies = request.getCookies();
if(cookies!=null)
{
    String name = "";
    String password = "";
    String option = "";
    for (int i = 0; i < cookies.length; i++)
    {
       Cookie c = cookies[i];     
       if(c.getName().equalsIgnoreCase("name"))
       {
          name = c.getValue();
        }
        else if(c.getName().equalsIgnoreCase("password"))
        {
           password = c.getValue();
        }
        else if(c.getName().equalsIgnoreCase("option"))
        {
           option = c.getValue();
        }     
    } 
     if (!"".equals(option)) {
				request.setAttribute("remember",option);
				if ("1".equals(option)) {
					request.setAttribute("name", name); //重要,放入request,通过${clientcode}获取值
					request.setAttribute("password", password);
				}
  }
%>
<input type="text" name="name" value="${name}" />
 

  3.删除Cookie

  Cookie cookie = new Cookie("key", null);

  cookie.setMaxAge(0);

  设置为0为立即删除该Cookie;

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

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

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

分享到:
评论

相关推荐

    关于java应用cookie

    当客户端浏览器再次访问该网站时,会把Cookie信息一起发送到服务器端,这样服务器就可以根据Cookie中的信息进行个性化处理。 #### 二、Cookie的创建与使用 ##### 1. 创建Cookie对象 在Java中,创建Cookie非常简单...

    java中cookie的使用教程

    本文将深入讲解Java中Cookie的使用方法,包括创建、设置、读取和删除Cookie,以及其在Web应用程序中的作用。 1. **Cookie的基本概念** - **定义**:Cookie是服务器发送到用户浏览器并存储在本地的一小块数据,当...

    java 操作cookie

    在 Java 中建立 Cookie 非常简单,主要通过 HttpServletResponse 对象的 addCookie() 方法来实现。下面是一个简单的示例代码: ```java HttpServletResponse response; Cookie cookie = new Cookie("cookiename", ...

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

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

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

    我们可以使用 Java 语言来发送 HTTP 请求,并将 Cookie 信息写入到 HTTP 头部中,以便模拟用户的登陆行为。 Java 模拟 Cookie 登陆的实现 下面是一个简单的 Java 模拟 Cookie 登陆的示例代码: ```java import ...

    javacookie的使用

    1. **安全性**: 由于Cookie数据是存储在客户端的,因此需要注意保护敏感信息,避免将其存储在Cookie中。 2. **大小限制**: 浏览器对单个Cookie的大小有限制,通常不超过4KB。 3. **隐私问题**: 使用Cookie时应考虑...

    Java Servlet及Cookie的使用

    Java Servlet和Cookie是Web开发中的两个重要概念,它们在构建动态、交互式的Web应用程序中扮演着关键角色。本文将深入探讨这两个技术,并提供详细的实践应用示例。 **Java Servlet** Java Servlet是一种Java语言...

    JAVA之cookie与session

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

    java网络爬虫-通过登陆网站携带COOKIE信息爬取网站数据

    在Java中,可以使用HttpURLConnection或HttpClient库来构建这样的请求。例如,使用HttpURLConnection: ```java URL url = new URL("登录接口URL"); HttpURLConnection conn = (HttpURLConnection) url.open...

    aaaaaa.zip_cookie_cookie java_java cookie

    在提供的文件名"JspUtil"中,我们可以推测这可能是一个Java类,包含了对JSP页面进行辅助操作的方法,包括处理Cookie的函数。在实际开发中,经常会编写这样的工具类来封装Cookie的操作,如设置Cookie、获取Cookie、...

    java中cookie,session,验证码的应用实例!

    在Java中,我们可以使用Apache Commons Codec库生成随机字符串,然后将其与图片一起发送给用户。用户输入的验证码与服务器端保存的验证码匹配,验证通过则允许执行操作: ```java // 生成验证码 Random random = ...

    java cookie 例子

    本示例将详细介绍如何在Java Servlet中使用Cookie。 首先,我们需要了解Cookie的基本概念。Cookie是由服务器发送到浏览器,并由浏览器存储的一小段文本信息。当浏览器发起新的请求时,它会自动将该域下的所有Cookie...

    JAVA100例之实例81Cookie计数器

    在Java编程中,Cookie是一种非常重要的技术,它...这个实例简单直观,适合初学者理解Cookie的工作原理以及如何在Java Web应用中使用它们。通过不断实践和深入学习,开发者可以掌握更多关于Cookie和Web开发的高级技巧。

    JAVA通过Session和Cookie实现网站自动登录的技术

    在网站开发中,实现自动登录功能是非常重要的,JAVA 通过 Session 和 Cookie 实现网站自动登录的技术是其中的一种方法。本文将详细介绍如何使用 Session 和 Cookie 实现网站自动登录的技术。 一、什么是 Session 和...

    discuz与java通过cookie共享登陆

    标题“Discuz与Java通过Cookie共享登录”涉及的是在Web开发中如何实现不同系统间用户登录状态的共享,特别是Discuz论坛系统与基于Java的应用之间的交互。Discuz是一款流行的开源社区论坛软件,而Java是一种广泛使用...

    JAVA中cookie用法

    #### 三、在JSP中使用Cookie 在Java Web应用中,特别是在JSP页面中,可以通过Java代码来创建和操作Cookie。下面介绍两种基本的操作:写入Cookie和读取Cookie。 1. **写入Cookie** ```java // 创建并设置Cookie ...

    java对cookie的操作.doc

    在Java Web开发中,Cookie是一种常用的机制,用于在客户端存储数据。...在实际项目中,还应注意安全性和性能优化,比如限制Cookie的大小,避免敏感信息存储在Cookie中,以及合理设置生命周期以减少不必要的网络传输。

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

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

    JS cookie Java cookie regex 整理结果

    在JavaScript中,我们可以使用`match()`、`search()`或`test()`方法与正则表达式配合,实现对Cookie字符串的复杂操作。 在实际应用中,JS和Java Cookie结合使用可以实现更高级的功能。例如,服务器通过Java Cookie...

Global site tag (gtag.js) - Google Analytics