java修改cookie的值_Java管理Cookie增删改查操作。
Cookie属性
了解这几个属性之后,就知道如何进行Cookie的操作了。
name
Cookie的名称。
value
Cookie的值。
maxAge
Cookie的失效时间,有以下几种值,默认为-1
值 | 说明 ---|--- 负数 | 浏览器关闭后cookie就失效 0 | 马上清除cookie 正数 | 设置过期时间,单位:秒
path
Cookie的有效路径,/表示这个路径即该工程下都可以访问该cookie 如果不设置路径,那么只有设置该cookie路径及其子路径可以访问。
获取所有Cookie
public static Cookie[] getCookies(HttpServletRequest request) {
return request.getCookies();
}
获取cookie很简单,直接从request中获取即可。
根据名称获取指定Cookie
public static Cookie getCookieByName(HttpServletRequest request, String name) {
if (StringUtils.isBlank(name)) {
return null;
}
Cookie[] cookies = getCookies(request);
if (null != cookies) {
for (Cookie cookie : cookies) {
if (name.equals(cookie.getName())) {
return cookie;
}
}
}
return null;
}
从所有cookie中循环判断进行获取指定cookie。
添加Cookie
public static boolean addCookie(HttpServletResponse response, String name, String value,
int maxAge) {
if (StringUtils.isBlank(name) || StringUtils.isBlank(value)) {
return false;
}
Cookie cookie = new Cookie(name.trim(), value.trim());
if (maxAge <= 0) {
maxAge = Integer.MAX_VALUE;
}
cookie.setMaxAge(maxAge);
cookie.setPath("/");
response.addCookie(cookie);
return true;
}
这个添加很简单。
删除Cookie
public static boolean removeCookie(HttpServletRequest request, HttpServletResponse response,
String name) {
if (StringUtils.isBlank(name)) {
return false;
}
Cookie[] cookies = getCookies(request);
if (null != cookies) {
for (Cookie cookie : cookies) {
if (name.equals(cookie.getName())) {
cookie.setValue(null);
cookie.setMaxAge(0);
cookie.setPath("/");
response.addCookie(cookie);
return true;
}
}
}
return false;
}
删除cookie,把value设置为null,把max-age设置为0就行了。
注意
编辑操作和删除操作一样,但是需要注意的是修改、删除Cookie时,除value、maxAge之外的所有属性,例如name、path、domain等,都要与原Cookie完全一样。否则,浏览器将视为两个不同的Cookie不予覆盖,导致修改、删除失败。
更多Java好文请关注Java技术栈微信公众号,在公众号后台回复关键字:java,以下仅为部分预览。出场率比较高的一道多线程安全面试题
Java类初始化顺序,大神3个示例带你躺坑
switch case 支持的 6 种数据类型!
面试常考:Synchronized 有几种用法?
Hashtable 为什么不叫 HashTable?
本文原创首发于微信公众号:Java技术栈(id:javastack),转载请原样保留本信息。
java修改cookie的值_Java管理Cookie增删改查操作。相关推荐
- (Java/JDBC)对MySQL数据库实现基础的增删改查操作(含源码)
文章目录 前言 注(常用PreparedStatement方法) 源码展示 前言 实现数据库连接 → Java连接MySQL数据库(含源码) (实现简单的增删查改更改正确的SQL语句即可) 增:ins ...
- mysql用户权限管理和增删改查操作
mysql使用上一篇的安装的mysql.启动mysql服务后直接就能连到mysql服务器上. # mysql Welcome to the MySQL monitor. Commands end ...
- java jdom进行xml的增删改差_java使用DOM对XML文档进行增删改查操作实例代码
本文研究的主要是java使用DOM对XML文档进行增删改查操作的相关代码,具体实例如下所示. 源代码: package com.zc.homeWork18; import java.io.File; ...
- Java连接sqlserver数据库,并进行增删改查操作
用编程语言连接数据库是程序员必备的技能,今天我们就来学习一下如何通过Java来连接sqlserver数据库,并实现增删改查操作. 需要用到的工具: Myeclipse,sqlserver数据库,Mic ...
- 基础的java增删改查,Java基础系列(基础):Java使用Cookie增删改查操作!
什么是Cookie? Cookie是由W3C组织提出,最早由NetScape社区发展的一种机制. Cookie是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个co ...
- mysql修改字段默认值_MySQL增删改查操作
增删改查操作 查询表中的所有的记录:select from 表名(xs) 创建数据库:create database if not exists xsgl; 8.2创建表:cerate table i ...
- Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作
此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...
- 论坛模块_版块管理_增删改查实现上下移动
论坛模块_版块管理1_增删改查 设计实体Forum.java public class Forum {private Long id;private String name;private Strin ...
- MySQL学习总结(2) --- 数据表管理(增删改查)、使用DQL查询数据(SELECT)
MySQL学习总结(2) - 数据表管理(增删改查).使用DQL查询数据(SELECT) 1. 数据管理(增删改查) 数据库数据管理方法: a.通过SQLyog等管理工具管理数据库数据 b. 通过DM ...
最新文章
- Controller和RestController的区别
- php 信号量 关闭,php 信号量
- 人工智障学习笔记——深度学习(4)生成对抗网络
- 漫游Kafka设计篇之Producer和Consumer(4)
- matlab中用于离散系统求解的命令,MATLAB求解规划问题(线性规划, 整数规划, 非线性规划)...
- Matlab字符串转换及数值格式转换
- CAD如何使用全屏显示
- shell 脚本返回上级目录_cmd返回上级目录
- 磁碟机病毒专杀3月20日更新到6.4版 (另附上多种专杀工具)
- 完全没有建站经验的人,怎么自己做网站
- Box plot (箱形图) 中 quartile (四分位数)原理,及python_matplotlib中Q1和Q3定义的不同
- 【论文阅读】Locally Adaptive Color Correction for Underwater Image Dehazing and Matching
- 数字化发展正在影响服装企业
- 小米手机深陷“返修门” 售后成软肋
- 使用DHT11和51单片机进行温湿度的读取(保证好用版本)
- 最简单的 Git 入门教程
- 黑马Redis学习——实战篇(4)
- 安装Linux18.04显卡驱动以及docker gui连接
- 蹭WiFi掉黑客陷进怎么破
- Dropbox 授权以及文件下载操作