Cookie技术是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器,当用户使用浏览器再去访问服务时,就会带着各自的数据过去。
Java操作Cookie之添加Cookie:
[java] view plain copy print?
- Cookie cookie = new Cookie("name", "aotori"); //(key,value)
- cookie.setPath("/");// 这个要设置
- // cookie.setDomain(".aotori.com");//这样设置,能实现两个网站共用
- cookie.setMaxAge(365 * 24 * 60 * 60);// 不设置的话,则cookies不写入硬盘,而是写在内存,只在当前页面有用,以秒为单位
- response.addCookie(cookie); //添加第一个Cookie
- cookie = new Cookie("nick", URLEncoder.encode("陈强", "UTF-8"));
- cookie.setPath("/");
- // cookie.setDomain(".aotori.com");
- cookie.setMaxAge(365 * 24 * 60 * 60);
- response.addCookie(cookie); //添加第二个Cookie
Java操作Cookie之读取Cookie:
[java] view plain copy print?
- Cookie cookies[] = request.getCookies();
- System.out.println("Cookie长度:" + cookies.length); //读取本机共存在多少COOKIE
- if (cookies != null) {
- for (int i = 0; i < cookies.length; i++) {
- if (cookies[i].getName().equals("nick")) {
- System.out.println("For 内部Cookie"
- + URLDecoder.decode(cookies[i].getValue(),
- "UTF-8"));
- }
- }
- } else {
- System.out.println("没有Cookie");
- }
Java操作Cookie之删除Cookie: //这里提示一下,对COOKIE进行删除操作,只用将该COOKIE对象使用setMaxAge(0)方法,就可。
[java] view plain copy print?
- Cookie cookies[] = request.getCookies();
- if (cookies != null)
- {
- for (int i = 0; i < cookies.length; i++)
- {
- if (cookies[i].getName().equals("nick"))
- {
- Cookie cookie = new Cookie("nick","ww");//这边得用"",不能用null
- cookie.setPath("/");//设置成跟写入cookies一样的
- // cookie.setDomain(".wangwz.com");//设置成跟写入cookies一样的
- cookie.setMaxAge(0);
- response.addCookie(cookie);
- }
- }
- }
1- setMaxAge(int expires)
设置Cookie的有效期,如果设置为0,则服务器会指浏览器删除该cookie。
2- setPath
设置cookie的有效路径,表示访问某些特定URL时才会带Cookie过去。如果我们没有设置setPath方法,那么该Cookie的有效路径 默认为创建Cookie对象的当前程序所在目录。
3- setDomain
设置cookie的有效域名,表示当浏览器访问该域名时才会带cookie过去,但是现在浏览器基本全面阻止了这个可能作为不安全的功能,所以几乎已经被弃用。
最后欢迎大家访问我的个人网站:1024s