gpt4 book ai didi

java - J2EE -- 在提供 Flash 内容时处理 HttpSession session 超时

转载 作者:行者123 更新时间:2023-12-04 06:58:09 26 4
gpt4 key购买 nike

在提供基于 Flash 的培训 Material 时,用户会经常遇到 HttpSession session 超时。目前,不 Activity 超时设置为默认值(30 分钟)。

问题:

  • 对于请求培训 Flash 视频以防止超时的任何用户,尝试增加 MaxInactiveInterval 是否是个好主意?
  • 如果 HttpSession 与查看培训内容相关联,那么更好的方法是使用 servlet 生命周期监听器重新激活 HttpSession 吗? -- 这可能允许更精确地控制 HttpSession 对象何时超时。
  • 任何时候实际上只有一小部分用户会实际查看此 Material ,是否应该考虑这样做会降低性能?
  • 最佳答案

    而是在后台触发 ajax 民意调查。

    这是一个 SSCCEjQuery 的帮助下.只需复制'n'paste'n'run 即可(并更改 flash 对象以适合您的实际代码)。

    <!doctype html>
    <html lang="en">
    <head>
    <title>SO question 2290101</title>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script>
    $(document).ready(function() {
    setInterval(function() {
    $.get('poll');
    }, ${(pageContext.session.maxInactiveInterval - 10) * 1000});
    });
    </script>
    </head>
    <body>
    <object type="application/x-shockwave-flash" ... >
    ...
    </object>
    </body>
    </html>

    这里 ${pageContext.session.maxInactiveInterval} 返回 session 尚未存活的剩余秒数(并且被缩短了一点 - 只是为了及时进行轮询 - 并转换为毫秒,以便它适合 setInterval() 预期)。 $.get('poll')应该调用一个映射到 url-pattern 上的 servlet的 /poll并在 doGet() 中基本上包含以下行方法。
    request.getSession(); // Keep session alive.

    就是这样。

    关于java - J2EE -- 在提供 Flash 内容时处理 HttpSession session 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2290101/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com