java - session 超时

标签 java session-timeout

当我的登录页面加载时,浏览器正在创建 session 。 但是用户直到 session 超时才登录。 但之后他尝试登录。 但是由于 session 已经被销毁,他被带到 session 过期页面。

现在我的要求

如果用户仍在登录页面时 session 被销毁,我应该在他尝试登录之前将他重定向到 session 过期页面,即当 session 销毁事件被触发时,我应该将他重定向到 session 过期页面。

请告诉我对此应该采取什么方法。

最佳答案

服务器只能在浏览器发送请求时重定向浏览器,而用户只是坐在登录页面不会发送任何内容。

但是,网页可以定期向服务器发出后台 AJAX 请求,不断检查 session 是否过期。如果 AJAX 请求被告知 session 已过期,浏览器会通知用户。

但是,AJAX 请求本身很可能实际上会使 session 保持 Activity 状态,从而避免了问题的开始。

也许更好的解决方案是在显示登录页面时不创建 session ,将 session 创建推迟到尝试登录时。不过,这可能不适合您的设计。

关于java - session 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2242823/

相关文章:

java - 错误 : org. hibernate.MappingException : Could not determine type for: java. util.List

java - 不使用 if-else 语句将不正确的输入消息添加到 java 输入验证程序

java - 在Java中如何表示要在内存中编辑的文本文件

java - Java 中创建其他对象的对象是否是糟糕的程序设计?

php - 使用 AJAX 检查 Codeigniter session 是否已过期

ASP.NET 网页在文件上传期间无响应

java - 无论 Activity 如何, session 都会在 30 分钟内注销

java - 使用 JDBC 的多数据库连接(如 DB2、MySQL 等)的设计方法

mysql - 使用 MySqlSessionStateStore 时, key 'vtfszyfxemkrwu52hjyugphb-1' 的重复条目 'PRIMARY'

java - 如何区分注销和 session 过期?