cookie的生命周期

---------------------------- cookie的生命周期­-----------------------------------

Cookie的生命周期

Cookie会在客户端存活多久呢?这就是Cookie的生命了。默认情况下,Cookie只在浏览器的内存中存活,也就是说,当你关闭浏览器后,Cookie就会消失!

可以使用Cookie#setMaxAge(int expiry)来设置Cookie的存活时间。参数expiry表示Cookie存活的秒数。

  1. cookie.setMaxAge(60*60):表示cookie对象可存活1小时。就算关闭浏览器,就算重启客户端电脑,cookie也会存活1小时。因为当maxAge大于0时,浏览器不仅会把cookie保存在浏览器内存中,还会把cookie保存到硬盘上。
  2. cookie.setMaxAge(-1):cookie的maxAge属性的默认值就是-1(其实只要是负数都是一个意思),表示只在浏览器内存中存活。一旦关闭浏览器窗口,那么cookie就会消失。
  3. cookie.setMaxAge(0):cookie被作废!表示cookie即不在内存中存活,也不在硬盘上存活,这样的cookie设置只有一个目的,那就是覆盖客户端原来的这个cookie,使其作废。

 

代码示例:

public class RegistServlet extends HttpServlet {

 

       public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

              request.setCharacterEncoding("UTF-8");

              //获取用户名和密码

              String username = request.getParameter("username");

              String password = request.getParameter("password");

             

              System.out.println("用户名:"+username);

              System.out.println("密码:"+password);

             

              //创建cookie对象,将用户名和密码连接存储,使用逗号分开

              Cookie cookie = new Cookie("userpass", username+","+password);

              //设置cookie的存活时间,里面的参数是以秒为单位

              //cookie.setMaxAge(60*60);

              //如果maxAge设置成-1代表是当前cookie的销毁时间是浏览器关闭,和默认是一样的

              //cookie.setMaxAge(-1);

              //如果maxAge设置成0代表删除已经存在的和当前同名的cookie

              cookie.setMaxAge(0);

              //把cookie写入浏览器

              response.addCookie(cookie);

             

              //跳转页面

              request.getRequestDispatcher("/regist1.html").forward(request, response);

       }

 

}

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值