我在自定义GzipFilter
中配置了WebApplicationInitializer
,当我尝试访问该网站时。它告诉我,
内容编码错误
The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression. Please contact the website owners to inform them of this problem.
我使用的GzipFilter来自此博客,
http://tutorials.jenkov.com/java-servlets/gzip-servlet-filter.html
我可以看到浏览器请求gzip内容。对于下载的文件,我可以看到响应头Content-Encoding:gzip
。但是,我不明白为什么我会收到这个错误。以下是我的应用配置
public class WebInitializer implements WebApplicationInitializer{
@Override
public void onStartup(ServletContext container) throws ServletException {
//configuration code
container.addFilter("GzipCompressionFilter",GzipFilter.class).addMappingForUrlPatterns(null, false, "/*");
}
}
如果我使用此帖子中的过滤器,
http://www.oodlestechnologies.com/blogs/Gzip-Servlet-Filter-in-Spring-MVC
请求永远不会结束,文件会部分下载并无限加载。可能是什么问题?
我正在使用maven-jetty插件以mvn jetty:run
目标启动码头。目前我正在使用上述过滤器从服务器提供GZip内容。在maven-jetty插件中还有其他方法可以启用GZip压缩吗?不推荐使用GZipFilter,我看不到嵌入式jetty服务器的任何GZipHandler实现。我的maven-jetty配置,
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty.version}</version>
<configuration>
<stopKey>jettyStop</stopKey>
<stopPort>9191</stopPort>
<httpConnector>
<host>0.0.0.0</host>
<port>8080</port>
</httpConnector>
</configuration>
</plugin>