Java 会话被破坏;在JSP和servlet中打印消息
当会话被破坏时,如何在JSP上打印通知用户的消息?我正在使用一个实现HttpSessionListener的类。当会话被破坏时,您无论如何都不能从服务器端执行任何操作。在会话销毁时,不能保证您手头有有效的请求/响应对象。您最好的选择是在客户端完全处理它,例如使用JS。您可以通过获取当前会话的剩余生存期,并且可以在一段时间后使用JavaScript运行函数Java 会话被破坏;在JSP和servlet中打印消息,java,jsp,servlets,Java,Jsp,Servlets,当会话被破坏时,如何在JSP上打印通知用户的消息?我正在使用一个实现HttpSessionListener的类。当会话被破坏时,您无论如何都不能从服务器端执行任何操作。在会话销毁时,不能保证您手头有有效的请求/响应对象。您最好的选择是在客户端完全处理它,例如使用JS。您可以通过获取当前会话的剩余生存期,并且可以在一段时间后使用JavaScript运行函数 setTimeout(函数(){ document.getElementById('message')。innerHTML='Session
setTimeout(函数(){
document.getElementById('message')。innerHTML='Session has timed out!';
},${pageContext.session.maxInactiveInterval}*1000);//它返回秒,但setTimeout需要毫秒。
当会话被破坏时,您无论如何都无法从服务器端执行任何操作。在会话销毁时,不能保证您手头有有效的请求/响应对象。您最好的选择是在客户端完全处理它,例如使用JS。您可以通过获取当前会话的剩余生存期,并且可以在一段时间后使用JavaScript运行函数
setTimeout(函数(){
document.getElementById('message')。innerHTML='Session has timed out!';
},${pageContext.session.maxInactiveInterval}*1000);//它返回秒,但setTimeout需要毫秒。
@Op De Cirkel:你看过代码片段上面的段落了吗?你知道更好的客户端语言吗?如果您有更好的方法,请随时发布答案。@Op,当服务器端发生类似事件时,不可能为客户端打印消息,因为事件发生时没有客户端occurs@BalusC如果您指的是:当会话被破坏时,您无论如何都不能从服务器端执行任何操作。这显然是错误的。客户端仍然发送会话cookie。因此,您可以在服务器上检查,如果cookie存在,并且没有会话,那么它将超时。这个问题在附近的某个地方得到了回答。@Op De Cirkel:这需要在超时后发出请求。我明白OP需要立即显示消息。因此,没有请求的手段。如果您真的想要,您可以启动一个AJAX调用,检查服务器端会话是否仍然存在,但这种解决方案在大多数情况下已经足够了。@Op De Cirkel:您是否阅读了代码段上面的段落?你知道更好的客户端语言吗?如果您有更好的方法,请随时发布答案。@Op,当服务器端发生类似事件时,不可能为客户端打印消息,因为事件发生时没有客户端occurs@BalusC如果您指的是:当会话被破坏时,您无论如何都不能从服务器端执行任何操作。这显然是错误的。客户端仍然发送会话cookie。因此,您可以在服务器上检查,如果cookie存在,并且没有会话,那么它将超时。这个问题在附近的某个地方得到了回答。@Op De Cirkel:这需要在超时后发出请求。我明白OP需要立即显示消息。如果你真的想要,你可以启动一个AJAX调用,检查服务器端会话是否仍然存在,但是这个解决方案对于大多数情况来说已经足够了。