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

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

2

3

4HttpServletRequest request

HttpServletResponse response

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

response.addCookie(cookie);

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

2

3

4

5

6

7

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

cookie.setMaxAge(3600);

//设置路径,这个路径即该工程下都可以访问该cookie 如果不设置路径,那么只有设置该cookie路径及其子路径可以访问

cookie.setPath("/");

response.addCookie(cookie);

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

2

3

4

5Cookie[] 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()代码如下1

2

3

4

5

6

7

8

9

10

11

12

13/**

* 设置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里面,于是进行下面的封装1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33/**

* 根据名字获取cookie

* @param request

* @param name cookie名字

* @return

*/

public static Cookie getCookieByName(HttpServletRequest request,String name){

MapcookieMap = ReadCookieMap(request);

if(cookieMap.containsKey(name)){

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

return cookie;

}else{

return null;

}

}

/**

* 将cookie封装到Map里面

* @param request

* @return

*/

private static MapReadCookieMap(HttpServletRequest request){

MapcookieMap = 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修改cookie的值_Java管理Cookie增删改查操作。

    Cookie属性 了解这几个属性之后,就知道如何进行Cookie的操作了. name Cookie的名称. value Cookie的值. maxAge Cookie的失效时间,有以下几种值,默认为- ...

  2. java修改cookie的值_Java 对 Cookie增删改查的实现示例

    Cookie属性 name:cookie的名称 value:cookie的值 maxAge:cookie的失效时间,默认为-1 值 说明 负数 浏览器关闭后立即失效 0 马上清除cookie 正数 设 ...

  3. java cookie的有效期_Java Web cookie的有效期

    Java Web中cookie中的有效期 (1)Java Web后台添加cookieCookie emailCook = new Cookie(name2, "whuang"); ...

  4. java保存cookie在本地_Java保存Cookie

    更多文章请进入:我的开源网 很多时候应用中需要使用Cookie,比如购物网站,保存购物车时候,还有就是常见的登录,保存一周或是半年之类的,都是要用到Cookie,下面就介绍下Java中Cookie的保 ...

  5. java压缩流的用法_Java对压缩包的操作(解压缩)

    image 前言 如何用Java对文件进行加压和压缩 上篇文章说了项目中对根据URL提供的HTML代码中的文件URL进行下载,将下载后的文件存放在服务器上,但是文件下载下来都是ZIP压缩包.那么这篇就 ...

  6. java 文件目录操作_Java目录文件的操作 -解道Jdon

    目录文件的操作 目录文件的操作也是除了数据库操作以外,经常需要操作的一个数据对象. 移动文件,相当于linux 中mv命令,但与平台无关: /** * This class moves an inpu ...

  7. java过去配置文件的值_java对.properties配置文件操作

    实现运用Java.util.Properties来进行对.properties配置文件操作. 配置文件实例:如debug.properties #Tue Mar 21 15:46:17 CST 201 ...

  8. java对数据库的操作_java对数据库的操作(jdbc)

    Java通过JDBC对数据库的连接操作其通用操作为: String username; String password; String databaseURL; Class.forName(" ...

  9. java中sql查询语句_JAVA中用 SQL语句操作小结

    1.添加记录(INSERT) 使用SQL语句的INSERT命令可以向数据库中插入记录,INSERT命令的基本形式为: INSERT INTO 表名 [(字段名1,字段名2-)] VALUES (值1, ...

最新文章

  1. 历时3年,清华大学iDLab实验室打造《强化学习和控制》课程及讲义!
  2. Convolutional-MLPs改造
  3. Python基础——数据分析考核(图形化版本)
  4. 一步一步理解GB、GBDT、xgboost
  5. P2176 [USACO14FEB]路障Roadblock
  6. 工作342:消除平时环境的console
  7. java ftp模糊查询_前端js模糊搜索(模糊查询)
  8. java程序设计简明教程张晓龙_Java网络编程简明教程
  9. Android 2019最新面试实战总结
  10. 一份点赞上千的《算法》讲义,来自20年教学经验的UIUC计算机教授
  11. java 配置文件设计,在设计注册控制器中添加用户配置文件
  12. SQLServer 2008 r2 下载地址(百度云)及安装图解
  13. 京东18年管培生—技术方向笔试有感
  14. 微信小程序实现倒计时
  15. 互联网广告需一键关闭 被广告关闭键坑到无语
  16. java for 下标_java中foreach语句如何获取数组下标
  17. ISO7816 调试心得
  18. 有用的.NET开发资料
  19. VisionPro软件笔记
  20. PPT幻灯片放映不显示备注,只让备注显示在自己屏幕上-投影机 设置

热门文章

  1. 3d查看器无法加载三维模型_珠峰登顶成功,送套三维模型给你
  2. 150. Leetcode 860. 柠檬水找零 (贪心算法-基础题目)
  3. 强化学习(二)---强化学习介绍
  4. 强化学习笔记: generalized policy iteration with MC
  5. 在PyCharm中设置新建Python文件的模板格式方法
  6. Eclipse开发环境设置
  7. 360oauth token是什么意思_我在BOSS直聘上都和面试官聊了些什么?
  8. 机器学习第10天:模型评价方法及代码实现
  9. 机器学习入门书籍导读-高等数学上
  10. spring beans源码解读之--Bean的注解(annotation)