菜鸟的笔记总结----关于cookies
cookies的出现是为了方便网络状态管理,1994年网景公司一名员工Lou Montulli将“cookies”的概念应用于网络通信,来解决yoghurt网上购物的购物车历史记录,目前所有的浏览器都支持cookies
cookies是存储在用户机器的一个很小的纯文件文件,没有执行代码,存储一些服务器需要的信息,用来辨识用户的身份信息
java设置cookies的方法:
Cookie cookie = new Cookie(key,value);//创建cookie
cookie.setPath("/");//设置cookie生效路径 ps:对应路径的所有子路径全部有效
cookie.setMaxAge(60*30);//设置失效时间 60*30-->该值表示30 分钟
response.addCookie(cookie); //将设置的cookie值放入response中
获取cookie
request请求中携带cookies,cookies通常用数组接收
String keyName="";
String ID="";
Cookie[] cookie = request.getCookies();//获取request中所有cookies
for(Cookie coe:cookie){
keyName=coe.getName();
if("loginCookie".equals(keyName)){
ID=coe.getValue();
}
}
清除cookie
因为它是存储在用户本地机器的文本文件,所以没办法直接清除。
一般利用cookie的key的唯一性,将需要清除cookie用空值覆盖并改变失效时间为立即失效
Cookie cookie = new Cookie(key,null);//设置要清除cookie的value为null
cookie.setPath("/");//指定清除cookie生效路径(和生成cookie时设置路径保持一致,这一点很有必要)
cookie.setMaxAge(0);//设置立即过期
response.addCookie(cookie);//存入相应头中
cookie只在同一域名下生效,不同域名之间不共享
现在才明白cookie是存在于本地端的文本,session才是放在服务端的