详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp98
API文档中对MaxAge的描述:
public void setMaxAge(int expiry)
Sets the maximum age of the cookie in seconds.
A positive valueindicates that the cookie will expire after that many seconds have passed. Note that the value is the maximum age when the cookie will expire, not the cookie’s current age.
A negative value means that the cookie is not stored persistently and will be deleted when the Web browser exits. A zero value causes the cookie to be deleted.
Parameters: expiry – an integer specifying the maximum age of the cookie in seconds; if negative, means the cookie is not stored; if zero, deletes the cookie
(maxAge 可以为正数,表示此cookie从创建到过期所能存在的时间,以秒为单位,此cookie会存储到客户端电脑,以cookie文件形式保存,不论关闭浏览器或关闭电脑,直到时间到才会过期。
可以为负数,表示此cookie只是存储在浏览器内存里,只要关闭浏览器,此cookie就会消失。maxAge默认值为-1。
还可以为0,表示从客户端电脑或浏览器内存中删除此cookie。)
如果maxAge属性为正数,则表示该Cookie会在maxAge秒之后自动失效。浏览器会将maxAge为正数的Cookie持久化,即写到对应的Cookie文件中。无论客户关闭了浏览器还是电脑,只要还在maxAge秒之前,登录网站时该Cookie仍然有效。
如果maxAge为负数,则表示该Cookie仅在本浏览器窗口以及本窗口打开的子窗口内有效,关闭窗口后该Cookie即失效。maxAge为负数的Cookie,为临时性Cookie,不会被持久化,不会被写到Cookie文件中。Cookie信息保存在浏览器内存中,因此关闭浏览器该Cookie就消失了。Cookie默认的maxAge值为-1。
如果maxAge为0,则表示删除该Cookie。Cookie机制没有提供删除Cookie的方法,因此通过设置该Cookie即时失效实现删除Cookie的效果。失效的Cookie会被浏览器从Cookie文件或者内存中删除。
response对象提供的Cookie操作方法只有一个添加操作add(Cookie cookie)。要想修改Cookie只能使用一个同名的Cookie来覆盖原来的Cookie,达到修改的目的。删除时只需要把maxAge修改为0即可。
在所遇到的项目中,Action里创建了一个cookie,maxAge为-1,紧接着在另一个方法中要删除cookie,就可以通过创建一个同名同域的cookie,然后将maxAge设置为0,再通过response的addCookie方法对客户端的cookie文件或浏览器内存中的cookie进行删除。
注意一、修改、删除Cookie时,新建的Cookie除value、maxAge之外的所有属性,例如name、path、domain等,都要与原Cookie完全一样。否则,浏览器将视为两个不同的Cookie不予覆盖,导致修改、删除失败。
注意二、从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断Cookie是否过期。
Cookie cookies[] = request.getCookies();
if (cookies != null)
{
for (int i = 0; i < cookies.length; i++)
{
if (cookies[i].getName().equalsIgnoreCase(cookieName))
{
return (Cookie) cookies[i].clone();
}
}
注意,这表示从request请求里获得cookie文件内容,只能获得name和value。
相关推荐
java对cookie的操作java对cookie的操作java对cookie的操作java对cookie的操作java对cookie的操作java对cookie的操作java对cookie的操作java对cookie的操作java对cookie的操作java对cookie的操作java对cookie的操作...
java中cookie的使用教程,指导学习cookie。有例子可以学习。
主要介绍了Java 模拟cookie登陆简单操作,结合实例形式分析了Java 模拟cookie登陆的相关原理与基本实现技巧,需要的朋友可以参考下
java 操作cookie精选,基础的操作,简单易学
JAVA中COOKIE的使用 在JAVA的WEB环境中COOKIE是以一个数组的形式保存的:
如果在Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这样能有效的防止XSS攻击。 对于以上两个属性, 首先,secure属性是防止信息在传递的过程中被监听捕获后信息泄漏,...
java中cookie,session,验证码的应用实例
该文档整合了cookie的httponly和secure的简介,已经设置该属性时会遇到的问题,以及设置属性的方式
** 处理cookies ...如果不指定路径,Cookie将返回给当前页面所在目录及其子目录下 的所有页面。 boolean getSecure() 如果浏览器通过安全协议发送cookies将返回true值,如果浏览器使用标准协议则返回false值。
Cookie属性及操作大全 Cookie属性及操作大全 Cookie属性及操作大全
具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。 同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session 机制可能...
Java Servlet及Cookie的使用
java servlet cookie cookie 例子,解压放到myeclipse可用
//根据cookies key值删除cookie function delCookie(name) /** * json对象转字符串形式 */ function json2String(jsonObj) /** * json字符串转json对象 */ var jsonObj = eval('('+jsonStr+')') 后台Java解析json
非常简单但功能强大的cookie劫持工具,局域网看妹子照片,进妹子相册必备。
Cookies用于存储特定用户信息,它提供了Web程序中一种有用的方式。...虽然你不应该使用cookie来存储一些敏感性的数据,但是,它们是处理锁细数据的一个极好的选择,比如颜色参数选择或者最后一次访问日期。
Java使用cookie和session共7页.pdf.zip
Java使用cookie和session共7页.pdf.zip
主要介绍了java操作cookie示例,包括设置Cookie、读取Cookie、删除Cookie,需要的朋友可以参考下
JAVA100例之实例81Cookie计数器