Java HttpSession在超时之前过期
在我的web应用程序中,我将会话超时设置为3分钟。 我通过ajax调用每隔30秒ping一次我的应用服务器。 因此,理想情况下,会话应该永远不会过期,直到注销操作使其失效 但它并没有以特定的模式过期Java HttpSession在超时之前过期,java,jakarta-ee,httpsession,Java,Jakarta Ee,Httpsession,在我的web应用程序中,我将会话超时设置为3分钟。 我通过ajax调用每隔30秒ping一次我的应用服务器。 因此,理想情况下,会话应该永远不会过期,直到注销操作使其失效 但它并没有以特定的模式过期 非常感谢您为找出这种行为的原因提供的任何帮助。如果在ping请求期间未访问会话,则会话的超时可能不会被更新。ping代码可能无法正确ping。代码在哪里?你怎么查?当服务器收到ping请求(即http ajax请求)时,尝试记录会话id,并查看会话id是否与每个请求相同。它正在ping,因此调用正在
非常感谢您为找出这种行为的原因提供的任何帮助。如果在ping请求期间未访问会话,则会话的超时可能不会被更新。ping代码可能无法正确ping。代码在哪里?你怎么查?当服务器收到ping请求(即http ajax请求)时,尝试记录会话id,并查看会话id是否与每个请求相同。它正在ping,因此调用正在发生。我已经在Firebug/IE开发者工具(网络)上检查过了。ping是通过在setTimeout内调用自身的JavaScript方法完成的@Muhammad Gelbana所有呼叫的会话ID都相同为什么?为什么不设置一个适当的超时时间(以小时为单位),然后完全消除ping呢?这里的目的是什么?@EJP I无法进行更改,因为它是一个旧的遗留应用程序。当收到请求时,该会话怎么可能无法访问?!我认为只有调用request.getSession()才能“访问”会话。