`

JAVA操作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[] cookies=request.getCookies();    
  
if(cookies.length>1){    
      for(int i=0;i<cookies.length;i++){   
           if(cookies[i].getName().equals("key")) {   
            String oldValue = cookies[i].getValue();   
  
            String newValue=  "newValue";   
  
            cookies[i].setValue(newValue);   
            response.addCookie(cookies[i]);    
  
            break;   
           }    
      }               
  }   





===============================================================

实例:
1.实现两个网站www.ajava.org和ask.ajava.org共用Cookies
2.添加Cookies

Cookie cookie = new Cookie("name", "ajava");   
cookie.setPath("/");//这个要设置   
cookie.setDomain(".ajava.org");//这个也要设置才能实现上面的两个网站共用   
cookie.setMaxAge(365*24*60*60);//不设置的话,则cookies不写入硬盘,而是写在内存,只在当前页面有用,以秒为单位   
response.addCookie(cookie);   
cookie = new Cookie("nick", URLEncoder.encode("王伟宗","UTF-8"));   
cookie.setPath("/");   
cookie.setDomain(".ajava.org");   
cookie.setMaxAge(365*24*60*60);   
response.addCookie(cookie);  


3.获取cookies

Cookie cookies[] = request.getCookies();   
if (cookies != null)   
{   
    for (int i = 0; i < cookies.length; i++)   
    {   
        if (cookies[i].getName().equals("nick"))   
        {   
            System.out.println(URLDecoder.decode(cookies[i].getValue(),"UTF-8"));   
        }   
    }   
}  


4.删除cookies

Cookie cookies[] = request.getCookies();   
if (cookies != null)   
{   
    for (int i = 0; i < cookies.length; i++)   
    {   
        if (cookies[i].getName().equals("nick"))   
        {   
            Cookie cookie = new Cookie("nick","");//这边得用"",不能用null   
            cookie.setPath("/");//设置成跟写入cookies一样的   
            cookie.setDomain(".ajava.org");//设置成跟写入cookies一样的   
            response.addCookie(cookie);   
        }   
    }   
}  

========================================================

应用实例

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*" errorPage="" %>  
<%@ page import="java.net.URLDecoder" %>  //注意导入此包   
  
<%   
Cookie cookie=new Cookie("hi","welcome");   
response.addCookie(cookie);   
Cookie[] cookies=request.getCookies();   
if(cookies!=null){   
for(int i=0;i<cookies.length;i++){   
if(cookies[i].getName().equals("hi")){   
String cookieValue=URLDecoder.decode(cookies[i].getValue(),"utf-8");   
out.print("hi="+cookieValue);   
}   
}   
}else{   
out.print(" no cookie");   
}   
%>  
分享到:
评论

相关推荐

    java URLConnection全面总结(包括cookie的详细操作).docx

    java URLConnection全面总结(包括cookie的详细操作)

    java URLConnection全面解析(通俗易懂,包括cookie操作和上传文件)

    java URLConnection 的详细介绍,牛人项目经验的总结,绝对通俗易懂,包括cookie操作,上传文件,以及下载网页等介绍,是非常难得文档和教材

    java 面试题 总结

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...

    JAVA基础学习总结笔记

    看的东西不在多,而在于精, 程序设计最重要的就是上级操作了, 既然选择了,就该要有坚持的觉悟... Cookie使用. ...里面是当年自学JAVA时的一些笔记,内容都是TXT格式的,都是一些基础性的概念总结。

    Java语言基础下载

    获取Cookie 565 HTTP响应报头--Response 566 会话管理 566 Servlet过滤器 569 Servlet监听器 576 内容总结 579 独立实践 580 第二十九章: Jsp 技术 583 学习目标 583 JSP介绍 584 JSP语法 584 模板元素 588 指令...

    江神JAVA开发面经超级总结

    江神JAVA开发面经超级总结 在JAVA开发领域,了解面经知识点是非常重要的。本文将从JDK代理和CGlib代理开始,详细介绍抽象类和接口、数据库范式、TCP三次握手和四次挥手、数据库各种锁、HTTP长连接和短连接、TCP和...

    java菜单和工具栏界面代码设计.docx

    下面是相关知识点的总结: 一、Java 菜单设计 在 Java 中,菜单是指菜单栏中的一组菜单项的集合,菜单项可以是文本、图标或组合。Java 中的菜单设计主要涉及到以下几个方面: * 创建菜单栏:使用 JMenuBar 类创建...

    java面试题web部分

    Java web开发面试题总结 Java web开发是一个复杂的领域,涵盖了多种技术和概念。本文总结了Java web开发面试中的一些常见问题和答案,涵盖了forward和redirect的区别、JSP中的INCLUDE、应用服务器、数据连接池、JSP...

    xmljava系统源码-xutils:Java工具类项目,Java-Commons

    Cookie操作 FreemarkerUtils.java Freemarker操作 GsonTools.java JSON常用的想换转换 HttpUtils.java HTTP操作 PinYinUtils.java 汉字转拼音 SimpleXmlUtils.java Bean和XML相互转换 ZipUtils.java

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    白名单设置 139 【数据结构】数组与链表的优缺点 139 【算法】什么是hash? 140 【算法】排序 141 【算法】冒泡排序 141 【算法】快速排序 142 【算法】归并排序的过程?时间复杂度?空间复杂度? 143 【算法】什么是...

    Swing编程边框(Border)的用法总结.doc

    Swing 编程边框(Border)是 Java 中一个常用的 UI 组件,用于设置控件的边框样式。通过 setBorder 方法可以设置边框,该方法是 JComponent 类的成员方法。 BorderFactory 是一个工厂类,提供了标准的 Border 对象,...

    java-web-期末试题填空简答整理.doc

    本文主要总结了 Java Web 开发相关的知识点,涵盖了 HTML、CSS、JavaScript、Servlet、JSP 等多个方面。 1. HTML 中的表格标签:&lt;td&gt; 和 &lt;tr&gt; 用于定义表格的行和单元格。 2. HTML 中的表格合并:Colspan 和 ...

    自动化测试面试题总结.docx

    一、linux 1,linux常用命令 2,某个时间段日志的查询 3,linux文件的上传和下载 二、功能测试 1,工作中所遇到的错误 2,测试流程: 3,测试计划元素: ...10,python操作图像 11,python的replace()方法的使用

    《在线视频播放平台》疑难杂症总结笔记.zip

    《在线视频播放平台》前后台-前端功能演示,Redis实现首页热点数据缓存 防止缓存雪崩 延迟双删实现缓存同步 登录校验 退出登录 Cookie Redis模拟Session 项目笔记讲解总结。登录的过程: ​ 前台获取username和user...

    JavaWeb总结xmind

    JavaWeb阶段的知识点分类总结:包括数据库操作,事务操作,tomcat,servlet,cookie、session、服务端开发等

    MyResources:总结Android的资源

    1.jsoup-Java HTML解析器(支持cookie) 如何选择Java框架 Swing 2.Jgraphx 3,EventBus 4.MPAndroid图表 5,登录 6,Java图表 7,Android库 Java到exe 条形码生成器源代码(代码39) 代码39发生器和...

    Java学习笔记-个人整理的

    {1.3.1}总结}{23}{subsection.1.3.1} {1.4}数据类型}{23}{section.1.4} {1.4.1}整数与浮点数}{23}{subsection.1.4.1} {1.4.1.1}浮点数原理}{24}{subsubsection.1.4.1.1} {1.4.2}格式化输出浮点数}{24}{...

    PHP3程序设计

    12.10.2 如何设置和读取cookie 196 12.10.3 客户端浏览器支持cookie吗 197 12.11 调试CGI程序 198 12.11.1 把输出发送到服务器日志 文件中 198 12.11.2 生成错误处理HTML页面 199 12.12 表单处理 200 12.12.1 HTML...

    JSP实用技巧集合,jsp编程的一些小技巧总结

    jsp编程的一些小技巧总结,绝对实用。包括JSP编程中常用的js技术。 1.JSP编程中常用的js技术 2. 在下拉列表框里选择一个值后跳出新窗口? 3. 在JSP中启动execl? 4. 两级下拉列表框联动菜单? 5. java中如何把一个目录...

    《在线视频播放平台》前后台-前端功能演示.zip

    《在线视频播放平台》前后台-前端功能演示,Redis实现首页热点数据缓存 防止缓存雪崩 延迟双删实现缓存同步 登录校验 退出登录 Cookie Redis模拟Session 项目笔记讲解总结。登录的过程: ​ 前台获取username和user...

Global site tag (gtag.js) - Google Analytics