net :: ERR_INCOMPLETE_CHUNKED_ENCODING使用JSP的SPRING MVC应用程序

mah*_*esh 7 java spring jsp spring-mvc

我使用SPRING MVC和JSP开发了一个Web应用程序,现在这些应用程序在本地工作得非常好,但是当我在服务器上部署时,我收到了这个错误.没有任何东西被加载.

除登录页面外,所有页面都会发生这种情况.只有登录页面才能成功显示.我监视过tomcat日志,但也没有例外.

谷歌搜索了一整天,但仍然无法找出根本原因,如果您知道这一点,请建议我.

chorome网络信息,显示状态故障

aro*_*r11 6

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

无论如何,要暂时查看这些值是什么,请在登录页面JSP 主体的底部和下面一个损坏的页面的底部粘贴以下标记

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

您应该看到类似以下内容:

bufferSize: 8192 remaining: 1509 used: 6683 autoFlush: true
Run Code Online (Sandbox Code Playgroud)

作为一种潜在的快速解决方案,请说不工作的页面是否将没有缓冲区呈现,方法是在JSP页面的顶部粘贴以下标记:

<%@ page buffer="none" %>
Run Code Online (Sandbox Code Playgroud)

如果仍然没有运气,请选择一个较大的数字,例如8MB(vs 8KB),然后通过添加以下内容来查看是否足以显示您的页面:

<%@ page buffer="8192kb" %>
Run Code Online (Sandbox Code Playgroud)

如果这样可以解决问题,则只需在页面上注明已使用的 bufferSize ,然后进行一些调整即可,因此:

bufferSize: 8380416 remaining: 8321883 used:58533 autoFlush: true
Run Code Online (Sandbox Code Playgroud)

您可能会摆脱:

<%@ page buffer="64kb" %>
Run Code Online (Sandbox Code Playgroud)

如果仍然没有运气,我怀疑您的JSP中有一个坏循环。

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