Cookie
一、介绍
Cookie最早是网景公司的前雇员Lou Montulli在1993年3月的发明。
储存在用户本地终端上的数据
cookie是浏览器提供的一种技术
Cookie 是由 Web 服务器保存在用户浏览器上的小文本文件,它包含有关用户的信息
例如常见的记住密码则可以通过Cookie来实现。
二、创建和发送
//创建Cookie
Cookie cookie = new Cookie("username","nb");
//响应给客户端
resp.addCookie(cookie);
查看Cookie
F12
三、获取
在服务器端只提供了一个 getCookies() 的方法用来获取客户端回传的所有 cookie 组成的一个数
组,如果需要获取单个 cookie 则需要通过遍历,getName() 获取 Cookie 的名称,getValue()获取
Cookie 的值。
//获取客户端Cookie数组
Cookie[] cookies = req.getCookies();
//判断是否为空
if(cookies != null || cookies.length>0) {
for(Cookie c : cookies) {
String name = c.getName();
String value = c.getValue();
System.out.println("键:"+name+",值:"+value);
}
}
//键:username,值:nb
四、Cookie到期时间的设定
到期时间,用来指定该Cookie何时失效。默认为当前浏览器关闭即失效。我们可以手动设定cookie的有效时间,通过setMaxAge(int expiry);方法设定cookie的最大有效时间,单位为秒。
若设置为0,则删除该cookie.
五、Cookie的注意
在一般的站点中常常有记住用户名这样一个操作,该操作只是将信息保存在本机上,换电脑以后这些信息就无效了。而且cookie还不能跨浏览器。
Cookie中不能出现中文,如果有中文则通过URLEncoder.encode()来进行编码,获取时通过URLDecoder.decode()来解码。
六、Cookie的覆盖
如果服务器发送重复名称且路径一致的Cookie那么会覆盖原有的Cookie.
七、Cookie的路径
cookie.setPath("/");//代表当前服务器所有资源都能访问
.
七、Cookie的路径
cookie.setPath("/");//代表当前服务器所有资源都能访问