2017-08-10 77 views
2

我正在JSF框架上工作。在Web.xml会话超时时间是5分钟。 4分钟后,我为用户显示确认对话框,以确定是否保持活动状态。点击Yes后,我尝试了sessionObject.setMaxInactiveInterval(5)。但会话在5分钟后失效。有没有办法在web.xml中不改变时间的情况下动态扩展用户会话时间。刷新会话时间,当用户确认保持联机时

public void refreshSession(){ 
     //code to refresh the session 
     System.out.println("want to stay alive"); 
     HttpSession currentSession = ServerUtility.getSession(); 
     currentSession.setMaxInactiveInterval(2*60); 
    } 
+0

如果用户想继续会话,您是否正确的方法,请分享精确答案代码 –

回答

1

Web.xml设置超时设置是全局的,它适用于整个应用程序。
但是,如果你想延长会议时间,你需要创建一个包含方法如下代码:

HttpSession session = request.getSession(); 
session.setMaxInactiveInterval(5*60); 


你可以做的是创造出执行上述代码

public void extendSession(){ 
HttpSession session = request.getSession(); 
session.setMaxInactiveInterval(5*60); 
} 
端点

如果用户不希望再继续下面的代码将立即终止会话:

session.setMaxInactiveInterval(0); // inactive immediately 
+0

这没有帮助。 5分钟后仍然退出。 –

+0

@ShreekrishnaBellubbi你正在使用的服务器? –

+0

tomcat @mohitsharma –