jsp中怎么设置Cookie的有效期介绍

Cookie的maxAge决定着Cookie的有效期,单位为秒(Second)。Cookie中通过getMaxAge()方法与setMaxAge(int maxAge)方法来读写maxAge属性。
如果maxAge属性为正数,则表示该Cookie会在maxAge秒之后自动失效。浏览器会将maxAge为正数的Cookie持久化,即写到对应的Cookie文件中。无论客户关闭了浏览器还是电脑,只要还在maxAge秒之前,登录网站时该Cookie仍然有效。下面代码中的Cookie信息将永远有效:// 新建以个Cookie对象,Cookie对象中包含有Cookie名称和Cookie内容

Cookie cookie = new Cookie(“username”, “helloweenvsfei”);

s New RVL”m(“�0�t-font-family:方正楷体简体;mso-hansi-font-family:”Times New Roman”; font-size:22pt’>文件中。无论客户关闭了浏览器还是电脑,只要还在maxAge秒之前,登录网站时该Cookie仍然有效。下面代码中的Cookie信息将永远有效:

// 设置生命周期为MAX_VALUE,表示Cookie永久有效
cookie.setMaxAge(Integer.MAX_VALUE);
// 用response输出到客户端
response.addCookie(cookie);
如果maxAge为负数,则表示该Cookie仅在本浏览器窗口以及本窗口打开的子窗口内有效,关闭窗口后该Cookie即失效。maxAge为负数的Cookie为临时性Cookie,不会被持久化,不会被写到Cookie文件中。Cookie信息保存在浏览器内存中,因此关闭浏览器该Cookie就消失了。Cookie默认的maxAge值为-1。
如果maxAge为0,则表示删除该Cookie。Cookie机制没有提供删除Cookie的方法,因此通过设置该Cookie即时失效实现删除Cookie的效果。失效的Cookie会被浏览器从Cookie文件或者内存中删除。例如:
// 新建Cookie对象,对象中包含有Cookie名称和Cookie内容
Cookie cookie = new Cookie(“username”, “helloweenvsfei”);
// 设置生命周期为0,表示删除Cookie
cookie.setMaxAge(0);
// 必须执行这一句
response.addCookie(cookie);
response对象提供的Cookie操作方法只有一个添加操作add(Cookie cookie)。要想修改Cookie只能使用一个同名的Cookie来覆盖原来的Cookie,达到修改的目的。删除时只需要把maxAge修改为0即可。
注意:从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断Cookie是否过期。
本文链接地址: jsp中怎么设置Cookie的有效期介绍