Spring 3.1 MVC框架会话管理

时间:2012-01-11 18:39:58

标签: spring spring-mvc session-management

在我的Web应用程序中,我是基于注释的控制器(SPRING MVC)。我想在我的应用程序中实现SessionManagement

1。)应用程序中的任何页面都不应闲置15分钟

2。)应该在第10分钟打开弹出窗口,通知用户abt会话到期,并且应该给他一个选项,将会话延长到另外15分钟,或者默认情况下应用程序应该记录-off

我相信在Spring MVC中必须有一个简单的方法(我使用spring 3.1)。比方说,必须有一些方法来注释控制器或applicationContext.xml中的一些配置。必须有一些方法!朋友们,请通过建议方式帮助我,如果你在这里贴上任何样品,也会有很大的帮助。如果您可以一步一步地指导我进行此会话管理实施,那么也会有很大的帮助。

1 个答案:

答案 0 :(得分:3)

Spring MVC在这里没什么关系。假设您将会话超时设置为15分钟。只需将以下JavaScript代码放在您网站的每个页面上,然后在加载页面后运行它:

function expireWarning() {
    if(confirm("Your session will expire in 5 minutes, extend?")) {
        $.ajax('/echo/json/');
        setTimeout(expireWarning, 10 * 60 * 1000);
    }
}

setTimeout(expireWarning, 10 * 60 * 1000);

那就是它! 10分钟后会出现弹出窗口。如果用户确认,AJAX请求将被发送到服务器,自动延长会话。然后重新安排计数器以在另外10分钟后询问用户。

请注意,服务器上的AJAX目标不必执行任何操作。此调用的唯一目的是告诉容器用户仍在使用此会话令牌。

另一个提示:如果您的站点已经在使用AJAX,则必须在每次调用后重新安排超时,因为每个AJAX调用也会扩展会话。如果用户停留在站点上并触发大量AJAX调用,则会话会自动反复扩展。