我尝试使用以下代码检查会话超时的默认值,并获取值1800.
问题: -
这里我没有创建新的会话对象,而是直接设置属性值。是否会自动创建新的会话对象?
我得到了1800的价值。就是在几秒钟或几分钟内。我在tomcat服务器上运行了这段代码。
<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;
答案 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>