`
Accumulation
  • 浏览: 1348 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Java中cookie用法总结

阅读更多

JavaWeb开发--cookie用法总结

 

 

今天刚刚学过cookie的用法,为了防止忘记,就在这里总结一下。 

 

一、cookie的由来的原因

 

    Http协议是无状态的协议,它不会记录用户与服务器多次交互需要保留或记录的状态信息。cookie 的出现旨在帮助服务器记录浏览器访问状态信息,服务器可以读取访问它的浏览器中的cookie信息,并进行相应操作,例如:用户的自动登陆信息、网上商城的购物车等都由此实现。

 

二、cookie概念

 

    cookie实际上是web服务器通过浏览器保存在客户端硬盘上的一个文本文件,它只能进行文本信息的保存,内容以键值对(key/value)形式进行保存,类似于"request.setParameter(name,value)"方法的形式。cookie文件可以通过程序进行读写。在java程序中,可以通过javax.servlet.http.Cookie对象来读写访问浏览器的cookie信息,并执行相应操作。

 

三、cookie的创建

 

    cookie对象在创建构造器时,就要传入相应的key/value:

//创建cookie对象,并传入要存储的字符串以及对应的名称
javax.servlet.http.Cookie cookie=new javax.servlet.http.Cookie("key",value);

    注:其中的value的值只允许是字符串,而不能是其他的对象。

 

    常用方法:

	//设置有效时间,单位为秒(与之对应的有getter方法)
	cookie_username.setMaxAge(60*60*24);
					
	//设置域名(与之对应的有getter方法)
	cookie_username.setDomain(String pettern);
					
	//设置提交的路径(与之对应的有getter方法)
	cookie_username.setPath(uri);
					
	//保存cookie到客户端浏览器
	response.addCookie(cookie);
					 
	//获取cookie的名字(与之对应有setter方法)
	cookie.getName();
		
	//获取cookie的值(与之对应有setter方法)
	cookie.getValue();

  

 

四、cookie的读取

 

    cookie的读取是通过request.getCookies()方法进行的,该方法可以读取访问浏览器中的所有cookie,并返回一个Cookie对象的数组。

//读取访问浏览器cookie
  javax.servlet.http.Cookie[] cookies=request.getCookies();
    
  javax.servlet.http.Cookie cookie=null;
    
  //判空
  if(cookies!=null){
     
  for(int i=0;i<cookies.length;i++){
      
  cookie=cookies[i];
  
  //输出cookie的名字
  System.out.println(cookie.getName());  
  
  //输出cookie的值
  System.out.println(cookie.getValue());    
    }  
  }

 

五、cookie的写入

   

    cookie写入是通过response.addCookie()方法进行的。

//创建cookie对象,并传入要存储的字符串以及对应的名称
javax.servlet.http.Cookie cookie=new javax.servlet.http.Cookie("key",value);
		
//设置有效时间,单位为秒
cookie_username.setMaxAge(60*60*24);
		
//保存cookie
response.addCookie(cookie);

  

六、cookie的删除

 

    删除cookie没有专用的方法,但可以通过设置cookie的有效时间为0,或是将cookie对象的值设为空即可。

 

七、cookie的修改

 

//读取Cookie对象数组
javax.servlet.http.Cookie[] cookies=request.getCookies();

javax.servlet.http.Cookie cookie=null;

//遍历cookie数组
for(int i=0;i<cookies.length;i++){

cookie=cookies[i];

//查找符合条件的cookie
if(cookie.getName().equals(condition)){

    //设置值
    cookie.setValue(value);

    //设置有效时间
    cookie.setMaxAge(time);

    //写入cookie(切记修改之后要记得写入)
    response.addCookie(cookie);

}
}

 

 

注:

      1.cookie的数量和大小有限,不能用来存储大量的数据;

      2.cookie的内容中不可出现汉字;

      3.cookie的安全性较低,不适合用于保存敏感信息(例如重要的账号和密码);

 

 

 

 

分享到:
评论

相关推荐

    JAVA中cookie用法

    使用getDomain() 方法可以指示浏览器把Cookie返回给同 一域内的其他服务器,而通常Cookie只返回给与发送它的服务器名字完全相同的服务器。注意域名必须以点开始(例如.yesky.com) int getMaxAge() 返回Cookie过期...

    java中cookie的使用教程

    java中cookie的使用教程,指导学习cookie。有例子可以学习。

    java 操作cookie

    java 操作cookie精选,基础的操作,简单易学

    python cookie反爬处理的实现

    Cookies的处理 作用 ...如果在请求的过程中产生了cookie,如果该请求使用session发起的,则cookie会被自动存储到session中. 案例 爬取雪球网中的新闻资讯数据:https://xueqiu.com/ #获取一个sessi

    java使用Cookie判断用户登录情况的方法

    主要介绍了java使用Cookie判断用户登录情况,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    Java使用默认浏览器打开指定URL的方法(二种方法)

    方法二: 代码如下://判断当前系统是否支持Java AWT Desktop扩展 if(java.awt.Desktop.isDesktopSupported()){ try{ //创建一个URI实例,注意不是URL java.net.URI uri=java.net.URI.create(“//www.j

    Cookie与Session机制

    该文档主要向我们讲解了cookie和seesion的机制以及使用方法

    java 面试题 总结

    子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。...

    Cookie的使用

    在Cookie介绍中 我们了解到Cookie是基于Set Cookie响应头和Cookie请求头工作的 服务器通过response对象的addHeader 方法将cookie发送给浏览器 然后浏览器通过Cookie请求头将cookie再送回服务器

    Java服务器程序设计

    用java进行客户端的applet (小程序)开发的技术已广为使用,而用java进行服务器端的servlet(服务器小程序)开发则尚需揭开其神秘的面纱,本书正是基于这样的目的编写的。全书从java服务器的体系结构、开发工具和...

    Java Servlet及Cookie的使用

    本文同时给出了通过Java Servlet向用户的硬盘写入和读取Cookie的方法及例程。通过它可以实现网上常见的个性化网页、网上购物篮、密码验证等。  Java Servlet是运行于Web服务器上的Java代码,它可以接受用户请求,...

    java jdk实列宝典 光盘源代码

    java为数据结构中的映射定义一个接口java.util.Map,有四个实现类HashMap Hashtable LinkedHashMap TreeMap用法和区别;对Map排序; 5字符串 使用String;判断一个字符串是否是合法的java标识符;使用StringBuffer;...

    cookie和session区别

    这是一份关于cookie和session的知识文档,有关于cookie是什么,图解,cookie对比session有哪些不好,session是什么图解

    cookie和表单实现基本登录并保存信息

    JSP页面内容介绍 index.jsp ...需要导入java.net.*包使用URLEncoder对象 将用户名和密码保存在cookie中,并设置它们的最长生存期限 userCenter.jsp 遍历客户端的cookie,使用URLDecoder解码获取用户信息

    Java语言基础下载

    构造方法在继承中的使用 96 super关键字 97 包装类 97 toString( )方法 100 内容总结 101 独立实践 102 第七章:类的高级特征 103 学习目标 103 static关键字 104 final关键字 106 内部类 106 实例分析 110 抽象类,...

    JAVA面试题最全集

    将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载 finally?再异常处理时...

    java面试宝典

    42、一个“.java”源文件中是否可以包含多个类(不是内部类)?有什么限制? 12 43、说出一些常用的类,包,接口,请各举5 个。 12 44、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类?是否可以...

    Java网络编程(第3版) 中文版

    本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...

    Java常见面试题208道.docx

    面试题包括以下十九部分:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql...

    JAVA网络编程.第3版.哈诺德著.扫描版.含源码

    本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDPsocket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...

Global site tag (gtag.js) - Google Analytics