将到期日期设置为会话cookie

时间:2012-02-15 01:08:02

标签: java javascript cookies

我想实现这个浏览器cookie -

  1. Cookie应在15分钟后过期。
  2. Cookie应在浏览器关闭时过期。
  3. 首先发生的事情。任何帮助都会非常感激。

    谢谢

2 个答案:

答案 0 :(得分:1)

您需要的一切都在这里:http://www.quirksmode.org/js/cookies.html

var name = 'My Cookie',
    value = 'foobar';

// Set a cookie without an expires header so it goes away on browser close
document.cookie = name + '=' + value + '; path=/';

// Erase said cookie in 15 minutes if the user left browser open.
setTimeout(function(){

    var date = new Date(),
        days = -1,
        expires = '';

    date.setTime(date.getTime()+(days*24*60*60*1000));
    expires = '; expires=' + date.toGMTString();
    document.cookie = name + '=' + value + expires + '; path=/';
}, 60000 * 15 );

答案 1 :(得分:1)

您可以在web.xml文件中指定它。我很确定当浏览器关闭时,会话默认结束。

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app 
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

    <session-config>
      <session-timeout>15</session-timeout> 
    </session-config>

</web-app>

在应用程序中,您可以使用以下方法:

public void setMaxInactiveInterval(int interval)

这是会话对象上的一个方法,它将覆盖web.xml文件中的内容。

参考:http://docs.oracle.com/javaee/1.3/api/javax/servlet/http/HttpSession.html#setMaxInactiveInterval%28int%29