cookie的设置(创建),获取与删除
cookie和session都是会话跟踪技术,cookie一般储存客户端,session储存在服务器端(但sessionId储存在客户端),session的实现依赖于cookie,cookie存储不安全,session安全(用来储存重要信息),session储存占用服务器资源,一个cooike最多只能保存4k数据,大多数浏览器最多保存20个cookie。
因为cookie可以在浏览器禁用,所以可以用cookie加数据库的方式,如果cookie被禁用,可以用数据库获取值。
一.设置cookie
(1)创建一个Cookie对象:为字符串
Cookie cookie = new Cookie("key","value");
请务必牢记,名称和值中都不能包含空格或者如下的字符: [ ] ( ) = , " / ? @ : ;
(2) 设置有效期:调用setMaxAge()函数表明cookie在多长时间(以秒为单位)内有效。下面的操作将有效期设为了24小时。
cookie.setMaxAge(60*60*24);
(3) 将cookie发送至HTTP响应头中:调用response.addCookie()函数来向HTTP响应头中添加cookie。
response.addCookie(cookie);
eg:
String str = URLEncoder.encode(request.getParameter("name"),"utf-8"); //从页面获取值
// 设置 name 的cookie
Cookie name = new Cookie("name",str);
// 设置cookie过期时间为24小时。
name.setMaxAge(60*60*24);
// 在响应头部添加cookie
response.addCookie( name );
二.在浏览器获取cookie
想要读取cookie,需要调用request.getCookies()方法来获得一个javax.servlet.http.Cookie对象的数组,然后遍历这个数组,使用getName()方法和getValue()方法来获取每一个cookie的名称和值。
Cookie cookie = null;
Cookie[] cookies = null;
// 获取cookies的数据,是一个数组
cookies = request.getCookies();
if( cookies != null ){
for (int i = 0; i < cookies.length; i++){
cookie = cookies[i];
out.print("参数名 : " + cookie.getName());
out.print("<br>");
out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +" <br>");
}
}
三.删除cookie
获取一个已经存在的cookie然后存储在Cookie对象中。
将cookie的有效期设置为0。
将这个cookie重新添加进响应头中。
Cookie cookie = null;
Cookie[] cookies = null;
// 获取当前域名下的cookies,是一个数组
cookies = request.getCookies();
if( cookies != null ){
for (int i = 0; i < cookies.length; i++){
cookie = cookies[i];
if((cookie.getName( )).compareTo("name") == 0 ){
cookie.setMaxAge(0);
response.addCookie(cookie);
out.print("删除 Cookie: " + cookie.getName( ) + "<br/>");
}
out.print("参数名 : " + cookie.getName());
out.print("<br>");
out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +" <br>");
}
}
cookie的设置(创建),获取与删除相关推荐
- JS cookie的设置、获取和删除(非常详细)
在编程领域,Cookie 代表一种小型的文本文件,可以让开发人员在用户计算机上存储少量的数据(大约 4kb),来记录用户的某些信息,例如用户身份.喜好等,当用户下次访问网站时,网站可以通过检索这些信息 ...
- cookie的设置、获取以及删除
首先介绍一下cookie的基本信息: cookie是以域为单位的,它必须放在服务器的的环境下,但是cookie的容量小,只有4kb,并且也不安全,还有入股cookie的名字相同,会修改或者覆盖原来的值 ...
- php cookie expires,php cookie类(设置、获取、删除cookie值)
分享一个php cookie操作的类,可以设置cookie.获取cookie.删除cookie. 代码: /** * php cookie类 * class:PHP_COOKIE * by www.j ...
- cookie分号后面没有值_Cookie的属性(cookie的设置、获取和删除)
每个cookie都有四个可选的属性,他们分别控制cookie的生存周期.可见性.安全性等. Cookies最初设计时,是为了CGI编程.但是,我们也可以使用Javascript脚本来操纵cookies ...
- JS设置,获取,删除cookie
JS设置,获取,删除cookie 由于chrome等浏览器存在samesite安全措施,导致传统http页面后端无法设置cookie到前端,所以考虑在返回值中添加cookie值,使用前端js进行coo ...
- js设置,获取,删除属性(setAttribute, getAttribute, removeAttribute)
设置,获取,删除属性 setAttribute() setAttribute() 方法添加指定的属性,并为其赋指定的值. 如果这个指定的属性已存在,则仅设置/更改值. getAttribute() g ...
- Web前端数据存储—cookie机制(设置,获取,删除cookie)
今天看到cookie机制就来记录一下,我们前端一般存储cookie都是在登录的时候进行的,两种,选一个就行(其实都一样,只不过一个明细化了). 我们先了解一下 cookie: HTTPCookie,通 ...
- 设置,获取和删除Cookies
#region 保存用户名的Cookie/// <summary>/// 设置Cookie/// </summary>/// <param name="cook ...
- Go设置、获取和删除Cookie
Go操作Cookie // A Cookie represents an HTTP cookie as sent in the Set-Cookie header of an // HTTP resp ...
- cookie的设置和获取
// 创建cookie function setCookie(name, value, expires, path, domain, secure) { var cookieText = encode ...
最新文章
- SXS完全查杀+预防方案2
- Web3.js 0.20.x API 中文版翻译 1
- java web 初始化方法_Java Web(二) 类的初始化及初始化顺序
- On-Heap与Off-Heap
- 俄罗斯黑客收到500万美元赎金!美国燃油管道商认怂,民众为抢汽油大打出手...
- dev c++ 64位_RHEL7.8添加本地源以及扩展GCC,C++的32位和静态库支持
- Failed to issue method call: Unit mysql.service failed to load: No such file or directory解决的方式...
- matlab常用函数——数学函数
- python初心记录二
- python中pickle模块无法导入_python pickle模块
- win10 3dmax 激活后反复激活和激活码无效问题
- box-sizing: border-box的作用
- 互联网软件开发和传统软件开发的不同(转型互联网开发需要适应的那些事)
- 一款精简的webshell管理工具 -- Assassin
- matlab 模糊提取,[转载]Matlab 的fspecial函数用法 图像模糊、提取边缘
- ImageJ 叠加明场和荧光场图片
- Jersey搭建restFul形式接口
- 2016全球大数据战略版图剖析(4):分析篇下
- 练习1(华为交换机忘记console口密码)
- 再议成就系统框架设计