/*** 添加cookie* @param response* @param name* @param value*/@RequestMapping("/addCookie")public void addCookie(HttpServletResponse response,String name,String value){Cookie cookie = new Cookie(name.trim(), value.trim());//trim() 方法用于删除字符串的头尾空白符。cookie.setMaxAge(60*60*24);// 设置为24小时 60秒*60分*24小时cookie.setPath("/");//因此cookie.setPath("/");之后,可以在webapp文件夹下的所有应用共享cookie,而cookie.setPath("/webapp/")是指设置的cookie只能在webapp应用下的获得System.out.println("已添加cookie");response.addCookie(cookie);//最后用response的addCookie()添加设置的cookie}

/*** 读取所有cookie  * 注意二、从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断Cookie是否过期  * @param request* @param response*/@RequestMapping("/getCookies")public void showCookies(HttpServletRequest request,HttpServletResponse response ){Cookie[] cookies = request.getCookies();//这样便可以获取一个cookie数组,获得全部cookieif(cookies==null) {System.out.println("没有cookie");}else{for(Cookie cookie : cookies){System.out.println("name:"+cookie.getName()+",value:"+ cookie.getValue());//通过getName()方法获取cookie的名字,通过getValue()获取cookie的值}}}

/*** 修改cookie* @param request* @param response* @param name* @param value* 注意一、修改、删除Cookie时,新建的Cookie除value、maxAge之外的所有属性,例如name、path、domain等,都要与原Cookie完全一样。否则,浏览器将视为两个不同的Cookie不予覆盖,导致修改、删除失败。*/@RequestMapping("/editCookie")public void editCookie(HttpServletRequest request,HttpServletResponse response,String name,String value){Cookie[] cookies = request.getCookies();if(cookies==null) {System.out.println("没有cookie");}else{for(Cookie cookie : cookies){if(cookie.getName().equals(name)){System.out.println("原值为:"+cookie.getValue());cookie.setValue(value);//这个赋的是方法的形参cookie.setPath("/");cookie.setMaxAge(60*60*24);// 设置为30minSystem.out.println("被修改的cookie名字为:"+cookie.getName()+",新值为:"+cookie.getValue());response.addCookie(cookie);break;}}}}

/*** 删除cookie* @param request* @param response* @param name*/@RequestMapping("/delCookie")public void delCookie(HttpServletRequest request,HttpServletResponse response,String name){Cookie[] cookies = request.getCookies();if(cookies==null) {System.out.println("没有cookie");}else{for(Cookie cookie : cookies){if(cookie.getName().equals(name)){cookie.setValue(null);cookie.setMaxAge(0);// 立即销毁cookiecookie.setPath("/");System.out.println("被删除的cookie名字为:"+cookie.getName());response.addCookie(cookie);break;}}}}/**
以下两个为补充
 * 根据名字获取cookie* @param request* @param name cookie名字* @return*/@RequestMapping("/getCookieByName")
public Cookie getCookieByName(HttpServletRequest request,String name){Map<String,Cookie> cookieMap = ReadCookieMap(request);if(cookieMap.containsKey(name)){Cookie cookie = (Cookie)cookieMap.get(name);return cookie;}else{return null;}}
/*** 将cookie封装到Map里面* @param request* @return*/@RequestMapping("/ReadCookieMap")
private Map<String,Cookie> ReadCookieMap(HttpServletRequest request){Map<String,Cookie> cookieMap = new HashMap<String,Cookie>();Cookie[] cookies = request.getCookies();if(null!=cookies){for(Cookie cookie : cookies){cookieMap.put(cookie.getName(), cookie);}}return cookieMap;}

感谢观看,不懂得可以私信问,觉得有帮助那就点赞收藏吧!

java设置cookie,添加cookie数据,读取cookie数据,修改cookie数据,删除cookie数据相关推荐

  1. mysql删除重复数据只保留一条_mysql查找删除重复数据并只保留一条实例详解

    有这样一张表,表数据及结果如下: school_id school_name total_student test_takers 1239 Abraham Lincoln High School 55 ...

  2. 设置pythonpath_Linux添加PYTHONPATH方法以及3种修改环境变量方法

    在用Linux(OS:Centos 7.2)时看到有一行代码是: export PYTHONPATH=$PYTHONPATH:/home/usrname/models:/home/usrname/mo ...

  3. Java设置中文字体大小_eclipse中文字体大小修改,让中英文字体协调

    貌似有不少人苦恼eclipse中文字体大小修改问题,默认的eclipse中文字体很小,和英文字体大小完全不在一个调子上,因为默认的eclipse juno中英文字体是Consolas,字体大小是10, ...

  4. textjoin去重_excel中几列相同的数据,多列去重? | excel表格删除重复数据

    Excel中a列和c列的数据有相同的,也有不同的,如何去重后现在在另一个表格的a列 这个不算难问题,你上传一下的数据表,帮你做了. excel 如何将各列数据去重后合并到各列的一个单元格里 如图所示, ...

  5. jquery页面跳转带cookie_JS 如何创建、读取和删除cookie

    Cookie 为 Web 应用程序保存用户相关信息提供了一种有用的方法.例如,当用户访问咱们的站点时,可以利用 Cookie 保存用户首选项或其他信息,这样,当用户下次再访问咱们的站点时,应用程序就可 ...

  6. Flask框架(flask中对cookie的处理(设置cookie、获取cookie、删除cookie))

    在Flask中对cookie的处理 1. 设置cookie: 设置cookie,默认有效期是临时cookie,浏览器关闭就失效 可以通过 max_age 设置有效期, 单位是秒 resp = make ...

  7. Cookie的常用方法、删除Cookie的方式

    删除浏览器中的Cookie 在cookie的API中没有提供直接将cookie删除的方法, 可以通过别的方式间接删除cookie 代码示例:删除名称为cart的cookie: 可以向浏览器再发送一个同 ...

  8. php 删除cookie有效方法

    php 删除cookie有效方法 关于删除cookie的说明开始----- bool setcookie ( string name [, string value [, int expire [, ...

  9. 删除浏览器浏览器删除cookie方法

    上班之余抽点时光出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下删除浏览器 文章目录导航 适用范围及演示工具 什么是cookie? cookie有什么作用? ie6/ie7/ie8 ...

  10. PHP 删除COOKIE 方法

    PHP 删除COOKIE 方法 首先我们看一下php手册中关于删除cookie的说明 ------以下引用php手册内容-------------- bool setcookie ( string n ...

最新文章

  1. SAP WM高阶之Storage Type上架策略L下的Mixed Storage
  2. 军营中重重打击之后,我变了一个人(下)--我成为程序员所经历的(四)
  3. 怎么查硬盘序列号_担心硬盘体质?不妨先给硬盘做一次体检
  4. 学python有哪些用途-Python语言有哪些用途
  5. C语言判别输入的东东
  6. 开源会议系统openmeetings安装
  7. 【HDU - 5878】I Count Two Three(打表)
  8. glassfish linux,Linux下实现GlassFish自动启动
  9. 部分pcie网卡睡眠之后不能识别的问题
  10. 西瓜决策树-ID3算法
  11. WinDynamicDesktop下载慢解决方法
  12. FidMTF: An MTF Estimator (FidMTF:一种MTF估计方法)
  13. Hive自定义函数报错10014 :No matching method for class
  14. ResNext架构解析:深度神经网络的聚合残差变换
  15. 相亲交友v6.7.6
  16. 为什么进入boot怎么只有计算机这个应用,电脑开机就进入bios的解决方法
  17. 《Pro SQL Server Internals, 2nd edition》节选翻译(一)
  18. 达梦数据库——模式及状态转换
  19. Tossing Bad Mupd Msg Pid In The Alert.Log
  20. 区分SLA,SLI,SLO Google 云原生的三个S

热门文章

  1. 【程序员】如何提高查找资料能力
  2. C++抽象类详解--纯虚函数,抽象类
  3. 痴情的人注定伤的最深,自古痴情终成空
  4. 1791. 找出星型图的中心节点
  5. android listview里item添加一个按钮点击事件,ListView Item点击事件跳转详情界面
  6. html中怎么设置右侧加滚动条,浏览器右侧滚动条如何设置
  7. seo网络培训机构(seo教育)
  8. 【深度学习】torch.nn.Sequential方法介绍
  9. 新版chrome中http无法打开摄像头问题解决
  10. graphql 接口定义加注释