作为对Ajax请求的响应,我想从我的Java程序发送压缩的,即gzip压缩的JSON。我知道,我需要将响应头中的Content-Encoding设置为gzip,但这是我需要做的吗?
答案 0 :(得分:1)
您还需要确保这一点 a)您的客户端(浏览器或应用程序)接受此gzip编码并可以处理它 b)您的服务器(Java应用程序的容器)配置为默认发送gzip压缩响应。如果服务器配置为发送gzip压缩响应,则内容类型标头很可能由服务器本身设置。
答案 1 :(得分:1)
感谢大家的投入。我使用以下内容使其工作。
在我的应用程序web.xml中,添加了以下过滤器:
<filter>
<filter-name>GZipFilter</filter-name>
<filter-class> org.mortbay.servlet.GzipFilter</filter-class>
<init-param>
<param-name>mimeTypes</param-name>
<param-value>application/json</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>GZipFilter</filter-name>
<url-pattern>*.data</url-pattern>
</filter-mapping>
在servlet.xml中,将以下bean属性添加到DataViewController bean。
<beans:property name="contentType" value="application/json" />
答案 2 :(得分:0)
除了设置内容编码标头之外,您的服务器端代码还应该gzip响应。您可以查看GZIPResponseWrapper.java。