电话
400 9058 355
Cookie属性

name:cookie的名称
value:cookie的值
maxAge:cookie的失效时间,默认为-1
| 值 | 说明 |
|---|---|
| 负数 | 浏览器关闭后立即失效 |
| 0 | 马上清除cookie |
| 正数 | 设置过期时间,单位秒 s |
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
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;
}
Tips
编辑操作和删除操作一样,但是需要注意的是修改、删除Cookie时,除value、maxAge之外的所有属性,例如name、path、domain等,都要与原Cookie完全一样。否则,浏览器将视为两个不同的Cookie不予覆盖,导致修改、删除失败。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
邮箱:8955556@qq.com
Q Q:8955556
这篇文章主要为大家详细介绍了Android自定义控件实现底部...
这篇文章主要介绍了Android中Toolbar随着Scro...
本文主要介绍了Java图表类库的相关知识。具有很好的参考价值...
本文主要介绍了GIt的基本操作。具有很好的参考价值,下面跟着...
共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有...
这篇文章主要为大家详细介绍了Android自定义相机实现定时...
这篇文章主要介绍了CentOS6.5 上部署 MySQL5....
这篇文章主要介绍了Vue结合原生js实现自定义组件自动生成示...
最近在学习python网络编程这一块,在写简单的socket...
这篇文章主要介绍了微信小程序 数据交互与渲染实例详解的相关资...