删除浏览器中的Cookie
在cookie的API中没有提供直接将cookie删除的方法, 可以通过别的方式间接删除cookie
代码示例:删除名称为cart的cookie: 可以向浏览器再发送一个同名的cookie(即名称也叫cart),并设置cookie的最大生存时间为零,由于浏览器是根据cookie的名字来区分cookie,如果前后两次向浏览器发送同名的cookie,后发送的cookie会覆盖之前发送的cookie,而后发送的cookie也设置了生存时间为零,因此浏览器收到后也会立即删除!
//创建一个名称为cart的cookie
Cookie c = new Cookie( "cart" , "" );
//设置cookie的最大生存时间为零
c.setMaxAge( 0 );
//将cookie添加到响应中,发送给浏览器
response.addCookie( c );
Cookie的常用方法
cookie.getName() //获取cookie的名字
cookie.getValue() //获取cookie中保存的值
cookie.setValue() //设置/修改cookie中保存的值(没有setName方法,因为cookie的名字无法修改)
cookie.setMaxAge() //设置cookie的最大生存时间
setMaxAge方法:设置cookie的最大生存时间
如果不设置该方法,cookie默认是会话级别的cookie,即cookie默认生存时间是一次会话。当浏览器关闭,会话结束时,cookie就会被销毁。(cookie默认会保存在浏览器的内存中,当浏览器关闭,内存会释放,cookie也会随着内存的释放而销毁)
如果设置了该方法, cookie将不会保存到浏览器的内存中,而是以文件形式保存到浏览器的临时文件夹中,也就是硬盘上,这样即使关闭浏览器,浏览器内存会释放,保存到硬盘上的cookie文件也不会销毁,再打开浏览器,还可以获取硬盘上保存的cookie。
//2.创建一个Cookie对象, 将商品信息保存到cookie中
Cookie cookie = new Cookie( "cart", prodName );
//设置cookie的最大生存时间, 单位:秒
cookie.setMaxAge( 60*60*24*30 );
//3.将cookie添加到响应中, 发送给浏览器保存
response.addCookie( cookie );