【问题标题】:Ajax calls don't renew session timeout on Tomcat 6Ajax 调用不会在 Tomcat 6 上更新会话超时
【发布时间】:2011-04-01 12:26:27
【问题描述】:

我将我的 webapp 从 Tomcat 5.5 迁移到 Tomcat 6(.0.32)。在该应用程序中,每个页脚页面中都有 ajax 调用以避免会话超时。它在 Tomcat 5.5 上运行良好,但在 Tomcat 6 中却不行。我使用过滤器来跟踪数据库表中的每个调用。在非 ajax 调用中,我可以看到表中的跟踪和重置会话超时。在 ajax 调用中,我可以在表中看到跟踪,但看不到会话超时的重置。

为什么?我可以改变这种行为吗?而且,仅供参考,Tomcat6如何区分ajax调用?

【问题讨论】:

    标签: ajax jakarta-ee tomcat6


    【解决方案1】:

    如果您没有显式访问会话以响应 AJAX 调用,则可能需要设置 org.apache.catalina.STRICT_SERVLET_COMPLIANCE 系统属性。当然,这也可能会影响您应用程序的其他部分。另一种选择是确保您明确访问会话...

    【讨论】:

    • 确实,只需执行request.getSession() 就足够了。另请参阅this related topic
    • 谢谢两位。我读到了 STRICT_SERVLET_COMPLIACNE,我担心它的影响。所以我会在调用中使用 request.getSession() (只是一些小改动)。
    猜你喜欢
    • 2012-12-15
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 2012-01-12
    • 2012-11-07
    • 2014-07-11
    相关资源
    最近更新 更多