java设置cookie,添加cookie数据,读取cookie数据,修改cookie数据,删除cookie数据
/*** 添加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数据相关推荐
- mysql删除重复数据只保留一条_mysql查找删除重复数据并只保留一条实例详解
有这样一张表,表数据及结果如下: school_id school_name total_student test_takers 1239 Abraham Lincoln High School 55 ...
- 设置pythonpath_Linux添加PYTHONPATH方法以及3种修改环境变量方法
在用Linux(OS:Centos 7.2)时看到有一行代码是: export PYTHONPATH=$PYTHONPATH:/home/usrname/models:/home/usrname/mo ...
- Java设置中文字体大小_eclipse中文字体大小修改,让中英文字体协调
貌似有不少人苦恼eclipse中文字体大小修改问题,默认的eclipse中文字体很小,和英文字体大小完全不在一个调子上,因为默认的eclipse juno中英文字体是Consolas,字体大小是10, ...
- textjoin去重_excel中几列相同的数据,多列去重? | excel表格删除重复数据
Excel中a列和c列的数据有相同的,也有不同的,如何去重后现在在另一个表格的a列 这个不算难问题,你上传一下的数据表,帮你做了. excel 如何将各列数据去重后合并到各列的一个单元格里 如图所示, ...
- jquery页面跳转带cookie_JS 如何创建、读取和删除cookie
Cookie 为 Web 应用程序保存用户相关信息提供了一种有用的方法.例如,当用户访问咱们的站点时,可以利用 Cookie 保存用户首选项或其他信息,这样,当用户下次再访问咱们的站点时,应用程序就可 ...
- Flask框架(flask中对cookie的处理(设置cookie、获取cookie、删除cookie))
在Flask中对cookie的处理 1. 设置cookie: 设置cookie,默认有效期是临时cookie,浏览器关闭就失效 可以通过 max_age 设置有效期, 单位是秒 resp = make ...
- Cookie的常用方法、删除Cookie的方式
删除浏览器中的Cookie 在cookie的API中没有提供直接将cookie删除的方法, 可以通过别的方式间接删除cookie 代码示例:删除名称为cart的cookie: 可以向浏览器再发送一个同 ...
- php 删除cookie有效方法
php 删除cookie有效方法 关于删除cookie的说明开始----- bool setcookie ( string name [, string value [, int expire [, ...
- 删除浏览器浏览器删除cookie方法
上班之余抽点时光出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下删除浏览器 文章目录导航 适用范围及演示工具 什么是cookie? cookie有什么作用? ie6/ie7/ie8 ...
- PHP 删除COOKIE 方法
PHP 删除COOKIE 方法 首先我们看一下php手册中关于删除cookie的说明 ------以下引用php手册内容-------------- bool setcookie ( string n ...
最新文章
- SAP WM高阶之Storage Type上架策略L下的Mixed Storage
- 军营中重重打击之后,我变了一个人(下)--我成为程序员所经历的(四)
- 怎么查硬盘序列号_担心硬盘体质?不妨先给硬盘做一次体检
- 学python有哪些用途-Python语言有哪些用途
- C语言判别输入的东东
- 开源会议系统openmeetings安装
- 【HDU - 5878】I Count Two Three(打表)
- glassfish linux,Linux下实现GlassFish自动启动
- 部分pcie网卡睡眠之后不能识别的问题
- 西瓜决策树-ID3算法
- WinDynamicDesktop下载慢解决方法
- FidMTF: An MTF Estimator (FidMTF:一种MTF估计方法)
- Hive自定义函数报错10014 :No matching method for class
- ResNext架构解析:深度神经网络的聚合残差变换
- 相亲交友v6.7.6
- 为什么进入boot怎么只有计算机这个应用,电脑开机就进入bios的解决方法
- 《Pro SQL Server Internals, 2nd edition》节选翻译(一)
- 达梦数据库——模式及状态转换
- Tossing Bad Mupd Msg Pid In The Alert.Log
- 区分SLA,SLI,SLO Google 云原生的三个S