【问题标题】:net::ERR_INCOMPLETE_CHUNKED_ENCODING SPRING MVC application using JSPnet::ERR_INCOMPLETE_CHUNKED_ENCODING SPRING MVC 应用程序使用 JSP
【发布时间】:2015-10-08 19:39:05
【问题描述】:

我已经使用 SPRING MVC 和 JSP 开发了一个 Web 应用程序,现在这些应用程序在本地工作得很好,但是当我部署在服务器上时,我收到了这个错误。什么都没有加载。

除登录页面外,所有页面都会出现这种情况。只有登录页面才能成功显示。我已经监控了tomcat日志,但那里没有例外。

谷歌了一整天,但仍然无法找出根本原因,如果你知道这一点,请告诉我。

【问题讨论】:

  • 面临同样的错误。有什么解决办法吗??
  • 是的,我无法控制分块发送请求。但我通过增加响应缓冲区大小解决了这个问题。所以问题是响应大于缓冲区大小。这样做解决了我的问题

标签: java spring jsp spring-mvc


【解决方案1】:

远程 Tomcat 可能有一个较小的默认写入缓冲区大小、部分配置了直接缓冲区,或者服务器可能只是有更多的数据想要在请求中返回。

无论如何要查看值是什么,暂时,将以下标记粘贴在底部body 个登录页面 JSP,以及一个损坏的页面。

<% out.println("<p>bufferSize: " + out.getBufferSize() + " remaining: " + out.getRemaining() + " used: " + (out.getBufferSize() - out.getRemaining()) + " autoFlush: " + out.isAutoFlush() + "</p><br>"); %>

您应该会看到如下内容:

bufferSize: 8192 remaining: 1509 used: 6683 autoFlush: true

作为一个潜在的快速修复,查看非工作页面是否会在没有缓冲区的情况下呈现,例如在 JSP 页面顶部粘贴以下标记:

<%@ page buffer="none" %>

如果仍然没有运气,请选择一个较大的数字,例如 8MB(与 8KB),并通过添加:

查看这是否足以让您的页面呈现:
<%@ page buffer="8192kb" %>

如果这样可以解决问题,那么只需注意页面上的 used 缓冲区大小,添加一点并调整,因此:

bufferSize: 8380416 remaining: 8321883 used:58533 autoFlush: true

你可能会侥幸逃脱:

<%@ page buffer="64kb" %>

如果还是不行,我怀疑你的 JSP 中有一个坏循环。

注意:不要将页面缓冲区留给一个愚蠢的数字,因为所有连接之间共享一个池。

【讨论】:

  • 我遇到了这个问题,真正的根本原因是别的,但是将&lt;%@ page buffer="64kb" %&gt; 添加到我的 JSP 中显示了实际错误。修复实际错误后,我删除了缓冲区并且它起作用了。谢谢:)
  • 我遇到了类似的问题你能帮我解决一下吗?
  • 我正在使用 标记,当我从包含较少(约 500)条记录的表中查询时,它工作正常,当我使用包含更多(大约 40K) 记录我遇到了这个问题。
【解决方案2】:

我遇到了这个 ERR_INCOMPLETE_CHUNKED_ENCODING 问题,特别是在代理上下文中处理的 POST 请求:请求是从 Chrome 浏览器发起的,到达我的 SpringMVC-Apache/Tomcat7 web 应用程序,然后转发到 SpringMVC-Apache/Tomcat8 REST 应用程序。

事实证明,根本原因如下:从代理,我将响应返回给浏览器,而没有重置从 REST 应用程序获得的 HTTP 响应标头。因此,Chrome 可能不喜欢这些标题中的内容。

解决方案是从我的代理中实例化新的响应标头,同时重用从 REST 应用收到的正文。

        ResponseEntity<InfoBean> resE = restTemplate.exchange(reqE, InfoBean.class);
        ResponseEntity<InfoBean> resEE = new ResponseEntity<>(resE.getBody(), HttpStatus.OK);
        return resEE;

【讨论】:

    【解决方案3】:

    我能够通过将 autoflush 属性添加到 arober11 的建议来解决类似的问题

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

    【讨论】:

    • 你能详细解释一下这个问题吗?
    猜你喜欢
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-18
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多