【问题标题】:Large JSP response is truncated :(大型 JSP 响应被截断 :(
【发布时间】:2010-09-17 06:43:17
【问题描述】:

我有一个通过 JBoss 访问的 JSP。它呈现一个列表(搜索结果)。 如果响应变大,大约大于 200k,响应将被截断。我可以看到页面是如何在 Firefox 的标签中间结束的。 IE 完全吓坏了,Fiddler 也是如此。 小于 200k 的响应没有问题。

有人经历过吗? 我不知道在哪里寻找问题...欢迎任何建议。

【问题讨论】:

  • 需要更多信息,是 HTML 标记被截断还是 CSS 文件特有的问题?如果我们使用 Gzip outstream 会发生什么

标签: http jsp jboss


【解决方案1】:

如果您的 JSP 呈现一个非常复杂的 html 页面,那么它可能只是浏览器绊倒了自己的脚。您可以通过 wget 或 curl 检索页面吗?那么它也被截断了吗?

【讨论】:

    【解决方案2】:

    将此添加到您的代码中:

    <%@ page buffer="none" %>
    

    到目前为止,我最好的猜测是 - 在正常情况下。缓冲模式输出被写入缓冲区,如果服务器页面完全“完成” - 输出的一部分卡在以太(缓冲区)中。

    当您禁用缓冲区时 - jsp 的输出会在生成后立即发送到客户端。

    【讨论】:

      【解决方案3】:

      也许它与刷新缓冲区有关?那个数字(200k)敲响了我遇到的问题的钟声。像这样放置一个页面指令:

      <%@page buffer="500kb" autoFlush="true" %>
      

      并使用缓冲区大小和自动刷新值。

      【讨论】:

        【解决方案4】:

        我赞同 Henning 的建议。我在 JBoss 上使用了 JSP 来返回数兆字节的响应,我会查看代码或者可能是中间代理服务器而不是 JBoss。

        【讨论】:

          【解决方案5】:

          再次感谢大家。在过去的几天里,我经历了磁盘崩溃、呕吐孩子和去西班牙旅行。

          由于磁盘崩溃,我无法重现此行为! 我没有丢失任何代码,并且拥有完全相同的 JBoss。但我的 Java 和 Firefox 版本略有不同。没有安装 Fiddler(尽管我在旧机器上关闭了它)。

          我仍然不知道是什么原因造成的。但我也不再关心了:P

          【讨论】:

            猜你喜欢
            • 2014-05-15
            • 1970-01-01
            • 1970-01-01
            • 2014-08-13
            • 2018-01-25
            • 1970-01-01
            • 2018-10-11
            • 2015-04-27
            • 1970-01-01
            相关资源
            最近更新 更多