Java 启用GZIP是GWT应用程序
我正在进行有效负载优化 我在这里读到 所以我 并将下面的过滤器配置为将我的响应压缩到gzipJava 启用GZIP是GWT应用程序,java,jakarta-ee,gwt,gzip,Java,Jakarta Ee,Gwt,Gzip,我正在进行有效负载优化 我在这里读到 所以我 并将下面的过滤器配置为将我的响应压缩到gzip <filter> <filter-name>compressionFilter</filter-name> <filter-class>com.googlecode.webutilities.filters.CompressionFilter</filter-class> <init-param>
<filter>
<filter-name>compressionFilter</filter-name>
<filter-class>com.googlecode.webutilities.filters.CompressionFilter</filter-class>
<init-param>
<param-name>compressionThreshold</param-name>
<param-value>1024</param-value>
</init-param>
<init-param>
<param-name>ignoreMimes</param-name>
<param-value>images/*,video/*, multipart/x-gzip</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>compressionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
压缩滤波器
com.googlecode.webutilities.filters.CompressionFilter
压缩阈值
1024
无知的模仿
图像/*,视频/*,多部分/x-gzip
压缩滤波器
/*
它在js、html、css等文件中运行良好。。等但是对于Ajax响应,我无法使其工作
我正在使用GWT RPC调用,默认情况下这是一个gzip响应,我的假设是它正在尝试再次gzip,这已经是一个gzip响应,并给我一个异常
StackOverFlow不允许粘贴StackTrace。因此,添加一个图像
有什么帮助吗?我还缺少什么吗?这不是解决您问题的方法,但它可以帮助解决基本问题(为应用程序实现gzip压缩)稍微不同一点 如果可能的话,我将始终使用Apache(或nginx)作为前端服务器。关于gzip压缩,Apache应该更快(gzip的纯C实现)。请注意,除了gzip之外,此设置还提供了更多好东西:
- 设置正确的缓存头(例如*.cache.html文件)
- 如果Servlet容器关闭,则传递错误页面
- 通过前端服务器缓存/交付静态资源,减少Servlet容器处理的请求数量
- 您甚至可以使用预gzip版本的静态资源来避免反复压缩相同的内容(这有助于减少预gzip资源的大小)