Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HttpSession在超时之前过期_Java_Jakarta Ee_Httpsession - Fatal编程技术网

Java HttpSession在超时之前过期

Java HttpSession在超时之前过期,java,jakarta-ee,httpsession,Java,Jakarta Ee,Httpsession,在我的web应用程序中,我将会话超时设置为3分钟。 我通过ajax调用每隔30秒ping一次我的应用服务器。 因此,理想情况下,会话应该永远不会过期,直到注销操作使其失效 但它并没有以特定的模式过期 非常感谢您为找出这种行为的原因提供的任何帮助。如果在ping请求期间未访问会话,则会话的超时可能不会被更新。ping代码可能无法正确ping。代码在哪里?你怎么查?当服务器收到ping请求(即http ajax请求)时,尝试记录会话id,并查看会话id是否与每个请求相同。它正在ping,因此调用正在

在我的web应用程序中,我将会话超时设置为3分钟。 我通过ajax调用每隔30秒ping一次我的应用服务器。 因此,理想情况下,会话应该永远不会过期,直到注销操作使其失效

但它并没有以特定的模式过期


非常感谢您为找出这种行为的原因提供的任何帮助。

如果在ping请求期间未访问会话,则会话的超时可能不会被更新。

ping代码可能无法正确ping。代码在哪里?你怎么查?当服务器收到ping请求(即http ajax请求)时,尝试记录会话id,并查看会话id是否与每个请求相同。它正在ping,因此调用正在发生。我已经在Firebug/IE开发者工具(网络)上检查过了。ping是通过在setTimeout内调用自身的JavaScript方法完成的@Muhammad Gelbana所有呼叫的会话ID都相同为什么?为什么不设置一个适当的超时时间(以小时为单位),然后完全消除ping呢?这里的目的是什么?@EJP I无法进行更改,因为它是一个旧的遗留应用程序。当收到请求时,该会话怎么可能无法访问?!我认为只有调用request.getSession()才能“访问”会话。