默认会话超时值

时间:2015-05-31 03:53:40

标签: jsp session servlets

我尝试使用以下代码检查会话超时的默认值,并获取值1800.

问题: -

  1. 这里我没有创建新的会话对象,而是直接设置属性值。是否会自动创建新的会话对象?

  2. 我得到了1800的价值。就是在几秒钟或几分钟内。我在tomcat服务器上运行了这段代码。

  3. 
    
    <button type="button" class="hiding-button">Add Property</button>
    
    <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
    <script>
        $(".hiding-button").on("click",function(){
            newInput();
            $(this).hide();
        });
    </script>
    
    &#13;
    &#13;
    &#13;

2 个答案:

答案 0 :(得分:1)

  

这里我没有创建新的会话对象而是设置属性   价值直接。是否会自动创建新的会话对象?

默认情况下,jsp会自动创建会话,但默认情况下会话为一个用户创建,特定于一个浏览器。是的,如果您使用多个浏览器访问您的Web应用程序,则最终会有多个会话。这是由服务器内部管理的。虽然您仍然可以使用以下行禁用jsp:

<%@page session="false"%>
  

我得到了1800的价值。就是在几秒钟或几分钟内。我跑了这个   tomcat服务器中的代码。

该值以秒为单位。

现在除了这些问题之外,还有一些与你的js有关的建议。

var secondsBeforeExpire = ${pageContext.session.maxInactiveInterval}// its 1800
setInterval(function() {
    alert('MaxInactive Interval ==  ' + ${pageContext.session.maxInactiveInterval}) //its always 1800, not the time lapsed
}, 1000);//continuous annoying alert after every 1 second

使用setTimeout进行最终警告:

setTimeout(function() {
  alert('2 seconds, time"s up!');
}, 2000);
Max time out 2 seconds !

答案 1 :(得分:0)

对于第一个问题: 会话由服务器在使用后创建。

关于第二个问题: 1800秒是等于30分钟,您可以在web.xml文件中配置它。

<session-config> 
<session-timeout>30</session-timeout> //minutes
</session-config>