java 中cookie的详解

Java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题。

建立一个无生命周期的cookie,即随着浏览器的关闭即消失的cookie,代码如下

HttpServletRequest

request

HttpServletResponse

response

Cookie

cookie = new Cookie("cookiename","cookievalue");

response.addCookie(cookie);

下面建立一个有生命周期的cookie,可以设置他的生命周期

cookie

= new Cookie("cookiename","cookievalue");

cookie.setMaxAge(3600);

//设置路径,这个路径即该工程下都可以访问该cookie

如果不设置路径,那么只有设置该cookie路径及其子路径可以访问

cookie.setPath("/");

response.addCookie(cookie);

下面介绍如何读取cookie,读取cookie代码如下

Cookie[]

cookies = request.getCookies();//这样便可以获取一个cookie数组

for(Cookie

cookie : cookies){

cookie.getName();//

get the cookie name

cookie.getValue();

//

get the cookie value

}

上面就是基本的读写cookie的操作。我们在实际中最好进行一下封装,比如增加一个cookie,我们关注的是cookie的name,value,生命周期,所以进行封装一个函数,当然还要传入一个response对象,addCookie()代码如下

/**

*

设置cookie

*

@param response

*

@param name cookie名字

*

@param value cookie值

*

@param maxAge cookie生命周期 以秒为单位

*/

public static void addCookie(HttpServletResponse

response,String name,String value,int maxAge){

Cookie

cookie = new Cookie(name,value);

cookie.setPath("/");

if(maxAge>0)

cookie.setMaxAge(maxAge);

response.addCookie(cookie);

}

读取cookie的时候,为了方便我们的操作,我们希望封装一个函数,只要我们提供cookie的name,我们便可以获取cookie的value,带着这个想法,很容易想到将cookie封装到Map里面,于是进行下面的封装

/**

*

根据名字获取cookie

*

@param request

*

@param name cookie名字

*

@return

*/

public static Cookie

getCookieByName(HttpServletRequest request,String name){

Map

cookieMap = ReadCookieMap(request);

if(cookieMap.containsKey(name)){

Cookie

cookie = (Cookie)cookieMap.get(name);

return cookie;

}else{

return null;

}

}

/**

*

将cookie封装到Map里面

*

@param request

*

@return

*/

private static Map

ReadCookieMap(HttpServletRequest request){

Map

cookieMap = new HashMap();

Cookie[]

cookies = request.getCookies();

if(null!=cookies){

for(Cookie

cookie : cookies){

cookieMap.put(cookie.getName(),

cookie);

}

}

return cookieMap;

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

java cookie实例_java 中cookie的详解及简单实例相关推荐

  1. java file 实例_Java File类的详解及简单实例

    Java File类的详解及简单实例 1. File():构造函数,一般是依据文件所在的指定位置来创建文件对象. CanWrite():返回文件是否可写. CanRead():返回文件是否可读. Co ...

  2. java jtable组件_java中jtable组件详解实例

    java中jtable组件详解实例 java 表格控件 JTable 常用操作详解 JTable 是 Swing 编程中很常用的控件,这里总结了一些常用方法以备查阅.欢迎补充,转载请注明作者与出处.一 ...

  3. java abstract 变量_Java中abstract关键字详解

    abstract只能修饰类(class) 和 方法.而不能修饰成员变量.这是由于抽象的概念确定的.只有类和方法可以抽象出来,而成员变量不需要抽象. abstract修饰类 abstract之所以出现, ...

  4. java 强制向上转型,Java 转型(向上或向下转型)详解及简单实例

    在Java编程中经常碰到类型转换,对象类型转换主要包括向上转型和向下转型. 向上转型 我们在现实中常常这样说:这个人会唱歌.在这里,我们并不关心这个人是黑人还是白人,是成人还是小孩,也就是说我们更倾向 ...

  5. java对文件的操作详解_Java 对 Properties 文件的操作详解及简单实例

    Java 对 Properties 文件的操作详解及简单实例 发布于 2020-8-7| 复制链接 摘记: Java 对 Properties 文件的操作简介在 Java 中,我们常用 java.ut ...

  6. java method 注解_JAVA 注解详解及简单实例

    JAVA 注解详解及简单实例 何为注解 注解(Annotation)又称为元数据,在JDK1.5后引入,它的作用是: 生成文档  这是注解的原始用途,可以通过注解生成JavaDoc文档 跟踪代码的依赖 ...

  7. php小程序地图处理,微信小程序 地图map详解及简单实例

    微信小程序 地图map 微信小程序map 地图属性名类型默认值说明longitudeNumber中心经度 latitudeNumber中心纬度 scaleNumber1缩放级别 markersArra ...

  8. mysql 实例复制_MYSQL教程MySQL 复制详解及简单实例

    <MysqL教程MysqL 复制详解及简单实例>要点: 本文介绍了MysqL教程MysqL 复制详解及简单实例,希望对您有用.如果有疑问,可以联系我们. MysqL 复制详解及简单实例 主 ...

  9. python与golang_Golang与python线程详解及简单实例

    Golang与python线程详解及简单实例 在GO中,开启15个线程,每个线程把全局变量遍历增加100000次,因此预测结果是 15*100000=1500000. var sum int var ...

  10. mysql 实例复制_MySQL 复制详解及简单实例

    MySQL 复制详解及简单实例 主从复制技术在MySQL中被广泛使用,主要用于同步一台服务器上的数据至多台从服务器,可以用于实现负载均衡,高可用和故障切换,以及提供备份等等.MySQL支持多种不同的复 ...

最新文章

  1. hive lock命令的使用
  2. 掌握这10个Python小技巧,让你敲代码速度快5倍不止
  3. python调用shell命令-用Python调用Shell命令
  4. 华三 交换 IRF V7
  5. 从FCN到DeepLab
  6. linux 自启动程序 优先级,Linux自启动服务优先级/顺序设置
  7. Facebook构建高性能Android视频组件实践之路
  8. ubuntu ls命令
  9. 英特尔 AMT 漏洞比任何人想象的还要严重
  10. Oracle 技术集锦
  11. autofac文档:事件
  12. oracle安装无响应,求教 pl/sql连接本机数据库是未响应问题
  13. 监控行业常见视频格式
  14. python实现批量图片格式转换
  15. 英剧推荐【IT狂人】
  16. 【可见光室内定位】(三)基于图像传感器CMOS的可见光室内定位技术
  17. java 线程池超时_Java线程池停止超时任务
  18. Ocelot.Authorization.Middleware.AuthorizationMiddleware[0] requestId: 0HMJ300E5APNA:00000002...
  19. 关于互联网的一些观点想法
  20. Gradle(古rua都)vs Maven(马文)

热门文章

  1. VS2013环境下GSL数学库的使用说明(亲测)
  2. ICCV 2021|“白嫖”性能的MixMo,一种新的数据增强or模型融合方法
  3. 深度学习中常用的数据集
  4. java 执行 jar 包中的 main 方法
  5. OpenCV颜色空间——HLS颜色空间
  6. 进程和cpu的相关知识和简单调优方案
  7. Linux Shell编程(25)——I/O 重定向
  8. [VC]socket含义
  9. HOJ 2739 The Chinese Postman Problem
  10. ASP导出到Excel