`
hill131425
  • 浏览: 1575 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java小技巧:关于Cookie的操作

    博客分类:
  • it
阅读更多

l  1.设置Cookie

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

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

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

  response.addCookie(cookie);

l  2.读取Cookie

Cookie[] cookies = request.getCookies();

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

例子:

Cookie cookies[] = request.getCookies();

           if (cookies != null)

         {

              for (int i = 0; i < cookies.length; i++)

          {

            if (cookies[i].getName().equals("cookiename"))

            {

                System.out.println("+++++++++++++++++++++++++++++++++++:"+URLDecoder.decode(cookies[i].getValue(),"UTF-8"));

                  

       }

          }

        }

l  3.删除Cookie

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

  cookie.setMaxAge(0); //设置为0为立即删除该Cookie

  cookie.setPath("/test/test2"); //删除指定路径上的Cookie,不设置该路径,默认为删除当前路径Cookie 

response.addCookie(cookie); 

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

  /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.在做Javaweb项目时,由于一般的Web服务器(TomcatJetty)都用Context来治理不同的Web Application,这样对于每个Context有不同的Path

 

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

 

 实例:

 

1.	设置Cookie
	function SetCookie(name, value)
{
	var expdate = new Date();
	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	alert("expires:"+expires);
	var path = (argc > 3) ? argv[3] : null;
	alert("path:"+path);
	var domain = (argc > 4) ? argv[4] : null;
	alert("domain:"+domain);
	var secure = (argc > 5) ? argv[5] : false;
	alert("secure:"+secure);
	expdate.setTime(expdate.getTime() + ( 60 * 30 * 24 * 60 * 60 * 1000 ));
	document.cookie = name + "=" + escape (value) + "; expires="+ expdate.toGMTString()
	+((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain))
	+((secure == true) ? "; secure" : "");
}
2.	读取Cookie
function GetCookie(name)
{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen)
	{
	var j = i + alen;
	if (document.cookie.substring(i, j) == arg)
	return GetCookieVal (j);
	i = document.cookie.indexOf(" ", i) + 1;
	if (i == 0) break;
	}
	return "";
}
function GetCookieVal(offset)
{	
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
3.	删除Cookie
function DelCookie(name)
{
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires="+ exp.toGMTString();
}

  

分享到:
评论

相关推荐

    Java小技巧:关于Cookie的操作.txt

    Java小技巧:关于Cookie的操作.txt

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

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

    JAVA100例之实例81Cookie计数器

    在Java编程中,Cookie是一种非常重要的技术,它用于在客户端和服务器之间传递信息,尤其是在实现用户会话管理、个性化设置等方面。...通过不断实践和深入学习,开发者可以掌握更多关于Cookie和Web开发的高级技巧。

    Java应用技巧

    ### Java应用技巧:对于Cookie的操作详解 #### 一、引言 在Web开发中,Cookie是一种常用的技术,用于存储用户的一些基本信息(例如登录状态、购物车等),以便于后续访问时能够快速识别用户身份,提高用户体验。本...

    cookie

    标题中的“cookie”一词指的是Web...以上是关于Cookie技术的基本介绍,具体实现细节和使用技巧可能需要参考原文档或“cookie.jsp”文件的内容。对于开发者来说,理解和熟练使用Cookie是构建高效、安全的Web应用的基础。

    Java Scrip环境中网络课程开发之cookie技术应用研究.pdf

    Java Scrip环境中的网络课程开发之cookie技术应用研究是一篇关于JavaScript环境中cookie技术在网络课程开发中的应用研究论文。论文首先介绍了cookie技术的概念和特点,然后详细讨论了cookie技术在网络课程开发中的...

    cookie编程

    8. **源码解析**:博主可能提供了使用特定编程语言(如Java、JavaScript或Python)操作Cookie的示例代码,解释了如何创建、读取、更新和删除Cookie。 在CookieDemo这个示例项目中,可能包含了实现上述功能的源代码...

    JSP处理Cookie的方法详解.txt

    #### 三、Cookie的详细属性及其操作 - **`getComment/setComment`**:获取或设置Cookie的注释。 - **`getDomain/setDomain`**:获取或设置Cookie的有效域名。例如,`.sitename.com`会使得Cookie对所有以`sitename....

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    │ Java面试题74:sql语句优化小技巧.mp4 │ Java面试题75:批量插入几百万条数据.mp4 │ Java面试题76:有没有使用过redis.mp4 │ Java面试题77:redis的使用场景.mp4 │ Java面试题78:redis存储对象的方式.mp4 │...

    2021年最新java面试题--视频讲解(内部培训84个知识点超详细).rar

    Java面试题74:sql语句优化小技巧 Java面试题75:批量插入几百万条数据 Java面试题76:有没有使用过redis Java面试题77:redis的使用场景 Java面试题78:redis存储对象的方式 Java面试题79:redis数据淘汰机制 Java...

    JSP_Cookie的使用

    以下是一个简单的JSP页面代码示例,展示了如何创建和读取Cookie: ```jsp // 创建Cookie Cookie ck = new Cookie("cww2", "test2!!"); ck.setMaxAge(65536); // 设置生存期 response.addCookie(ck); // 读取...

    jsp编程中的小技巧(仅供参考)

    在JSP(JavaServer Pages)开发过程中,经常会遇到一些需要技巧性处理的问题,本文将重点介绍两个常见的小技巧:如何获取虚拟目录的物理路径以及如何解决`response.sendRedirect`带中文的问题。此外,还会简要提及...

    java版的房屋租赁系统

    这个小项目对于学习Java编程、数据库操作以及软件工程实践来说,是一个非常有价值的实例。以下是对该项目涉及的主要知识点的详细解析: 1. **Java基础**:项目的主体是用Java编写的,因此需要掌握Java的基础语法,...

    java jdk实列宝典 光盘源代码

    15 applet java可以编写两类程序,applications和applet,applications可以在控制台直接运行,与其他高级编程语言没有太大区别,而java的特色在于它具有编制小应用程序的功能,applet可以在internet上传输并在兼容...

    Java进阶路线

    NIO (New I/O) 提供了非阻塞I/O操作的能力,而 JUC (Java Util Concurrency) 包含了一系列线程安全的数据结构和工具类。 **14. Lambda** Lambda 表达式允许你以更简洁的方式定义接口实现。这对于函数式编程风格的...

    java项目源码演示前台预订+后台管理酒店管理系统.zip

    本项目是一个基于Java技术的酒店管理系统,涵盖了酒店预订与后台管理的全部流程,旨在提供一个完整的教学示例或...通过分析和运行源码,不仅可以掌握Java编程技巧,还能了解到如何设计和实现一个完整的管理信息系统。

    java浏览器

    Java浏览器是一种基于Java编程语言...通过这个Java小例子,学习者不仅可以深化Java编程技能,还能了解到网络编程和GUI设计的基本原理。同时,这样的项目也鼓励开发者实践和理解Web浏览器的工作原理,提升问题解决能力。

    java工程师面试技巧.doc.pdf

    Java工程师面试时,需要掌握广泛的知识点,涵盖了基础语法、数据结构、IO操作、多线程、网络编程、数据库交互等多个方面。以下是一些主要的面试重点: **一、Java基础知识** 1. Java有8种基本数据类型,包括整型...

    百度面试题汇总(java)

    ### 百度面试题汇总(Java) #### 一、Java基础知识 1. **自我介绍**:面试官希望从自我介绍中获取应聘者的基本背景信息,包括但不限于教育经历、工作经验等,以便于后续针对这些背景提出具体问题。 2. **项目...

    安全小技巧之个人电脑防黑客入侵八准则参照.pdf

    ### 安全小技巧之个人电脑防黑客入侵八准则 在网络时代,个人电脑的安全变得尤为重要。随着黑客工具的普及和技术的发展,黑客攻击的风险日益增加。本文档“安全小技巧之个人电脑防黑客入侵八准则参照.pdf”提供了一...

Global site tag (gtag.js) - Google Analytics