cookie.setMaxAge();如何设置这个cookie永不过期?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie.setMaxAge();如何设置这个cookie永不过期?相关的知识,希望对你有一定的参考价值。

如何设置这个cookie永不过期?

1、打开浏览器,按下键盘上的F12键。

2、打开控制台后,选择Application选项。

3、选择Cookie选项,将其展开。

4、在控制台中输入设置微信永久有效的代码。首先,定义一个函数CookieTm,用来设置Cookie的有效期。

5、接着,定义一个Date类的变量exp,用来设置有效期。

6、设置有效期的天数,用getTime获取当前时间。

7、然后,设置Cookie的有效期。

8、最后,给函数赋值,具体设置Cookie的有效期,将天数设置为99999,相当于永久有效。

参考技术A 不好意思,没有一个值是用来表示永不过期的,默认值是-1,表示关闭浏览器,cookie就会消失。
如果是正数,表示从现在开始,即将过期的seconds。

你可以设一个比较大的值,比如5年,cookie.setMaxAge(5*365*24*60*60),这个和永不过期也没什么区别吧

Cookie 总结

设置Cookie 

//设置cookie 
Cookie cookie = new Cookie("TOM","111"); 
//设置有效期,默认秒为单位 
cookie. setMaxAge(7*24*60*60);  //7天
//添加cookie到客户端 
response.addCookie(cookie); 

获取Cookie

<% 
//获取cookie 
Cookie[] cookies = request.getCookies(); 
if(cookies!=null && cookies.length>0) { 
for(int i=0; i<cookies.length;i++) { 
out.print(cookies[i].getName() +"————"+ cookies[i].getValue() + "<br/>"); 
} 
} 
%> 

 

Cookie的中文支持 

Cookie不支持中文的显示,必要的时候,需要进行转码和解码。 

转码 

strings[j]=java.net.URLEncoder.encode(list.get(i-1)[j],"UTF-8");

URLEncoder.encode("张三") ; 

 

解码 

out.print(java.net.URLDecoder.decode(cookies[i].getValue(),"UTF-8") + "<br/>"); 

Cookie[] cks = request.getCookies() ;

for(Cookie c : cks)
{
    out.write(c.getName() +"="+URLDecoder.decode(c.getValue())+"<br>") ;
}

 

 

 

============================================================================================

1)向客户端浏览器写入Cookie
 
//1.创建一个Cookie对象
Cookie cookie = new Cookie(name,“”shindo“”);
 
 
//2.setMaxAge:设置Cookie的最大时效,以秒为单位,若为0,表示立即删除该Cookie,
//若为负数,表示不存储该Cookie,若为正数,表示该Cookie的存储时间。
cookie.setMaxAge(30);
 
//3.设置Cookie的作用范围:可以作用当前目录和当前目录的子目录,但不能作用于当前目录的上一级目录。
cookie.setPath(request.getContextPath());
 
//4.调用response的一个方法把Cookie传给客户端
response.addCookie(cookie);
 
2)从浏览器读取Cookie
 
//1.获取Cookie
Cookie[] cookies = request.getCookies();
if(cookies != null && cookies.lenth > 0){
   for(){
      //2.获取Cookiede name 和value
      out.print(cookie.getName() + ":" + cookie.getValue());
      out.print("<br>");
   }   
}

 

=====================================================================================

// new一个Cookie对象,键值对为参数  
Cookie cookie = new Cookie("key", "value");  
// 设置Cookie最大生存时间,以秒为单位,负数的话为浏览器进程,关闭浏览器Cookie消失  
cookie.setMaxAge(60);  // 一分钟  
// 将Cookie添加到Response中,使之生效  
response.addCookie(cookie);  
 读取Cookie,读取Cookie只能从request中获取全部Cookie,然后迭代之.虽然Cookie也是键值对,但是貌似不能像Map一样通过Key来获取值.
Java代码  收藏代码
// 从request中获取Cookie,拿到的是一个Cookie数组  
Cookie[] cookies = request.getCookies();  
// 然后迭代之  
if (cookies != null && cookies.length > 0) { //如果没有设置过Cookie会返回null  
    for (Cookie cookie : cookies) {...}  
}  
 删除Cookie,删除Cookie的话,只需要将Cookie的生存期设为0即可
Java代码  收藏代码
Cookie[] cookies = request.getCookies();  
if (cookies != null && cookies.length > 0) {  
    for (Cookie cookie : cookies) {  
        String name = cookie.getName();  
        // 找到需要删除的Cookie  
        if (name.compareTo("key") == 0) {  
            // 设置生存期为0  
            cookie.setMaxAge(0);  
            // 设回Response中生效  
            response.addCookie(cookie);  
        }  
    }  
}  
 修改Cookie,修改Cookie和删除的步骤是一样的,先找到需要删除的Cookie,然后设置它的新的Value,再设回Response
Java代码  收藏代码
Cookie[] cookies = request.getCookies();  
if (cookies != null && cookies.length > ) {  
    for (Cookie cookie : cookies) {  
        if (cookie.getName.compareTo("key") == 0) {  
            cookie.setValue("newValue");  
            response.addCookie(cookie);  
            break;  
        }  
    }  
}  

 

以上是关于cookie.setMaxAge();如何设置这个cookie永不过期?的主要内容,如果未能解决你的问题,请参考以下文章

java web 重点

JavaWeb期末复习(未完成)

cookie操作

Cookie的学习

Cookie概念

cookie