mah*_*esh 7 java spring jsp spring-mvc
我使用SPRING MVC和JSP开发了一个Web应用程序,现在这些应用程序在本地工作得非常好,但是当我在服务器上部署时,我收到了这个错误.没有任何东西被加载.
除登录页面外,所有页面都会发生这种情况.只有登录页面才能成功显示.我监视过tomcat日志,但也没有例外.
谷歌搜索了一整天,但仍然无法找出根本原因,如果您知道这一点,请建议我.

远程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中有一个坏循环。
注意:不要将页面缓冲区留给一个愚蠢的数字,因为所有连接之间共享一个池。
| 归档时间: |
|
| 查看次数: |
7516 次 |
| 最近记录: |