Jes*_*run 6 java tomcat gzip tapestry
我们在Tomcat 6上运行了Tapestry-Spring-Hibernate webapp,每秒处理几千个请求.随机地,没有明显的原因,页面只是在浏览器上显示一堆随机字符.但是,刷新页面时,它显示正常.以下是Chrome上乱码页面来源的屏幕截图:

这是我到目前为止所发现的:
<meta content="text/html; charset=utf-8" http-equiv="content-type"/>我的问题是,有人之前遇到过这种情况,如果有的话,他们能指出我应该开始寻找的地方吗?这是一个问题,页面有不正确的内容类型或服务器由于某种原因无法处理它?或者这可能是Tapestry或应用程序本身的框架错误?任何指针都是受欢迎的.此时,我不确定问题出在哪里,所以我不确定这是在ServerFault上还是留在这里.
这似乎与 Tapestry 框架中的 gzip 压缩问题有关(如 @barnyr 所建议),并且可能是 Tapestry 5.3 中的回归错误。引用邮件列表主题中的 Howard 的话:
我相信这是一个错误,在某些情况下,页面内容的损坏的 GZIP 流将流式传输到客户端;这肯定是在 5.2.6 中修复的,但我认为它也在 5.2.5 中修复了。
contributeApplicationDefaults快速修复方法是在应用程序模块类的方法中添加以下配置符号:
configuration.add(SymbolConstants.GZIP_COMPRESSION_ENABLED, "false");
Run Code Online (Sandbox Code Playgroud)
这当然会禁用 gzip 压缩,但可能是值得做出的权衡。
可能相关的问题: