过滤器试图将压缩文件的内容类型设置为正确的mime类型,而不是APP/gzip。 这是我的代码:
publicvoiddofilter (servletrequestservletrequest,ServletResponse servletResponse,过滤器通道过滤器通道) throws IOException
{
finalhttpservletrequestrequest=(http服务器请求) servletrequest;
finalhttpservletresponseresponse=(http服务器响应) servlet响应;
stringrequrl=request.getrequest uri (;
if(requrl.endswith(gzext ) ) ) ) ) ) ) ) )。
{
response.setheader (' content-encoding ',' gzip ' );
response.set content type (文本/JavaScript );
system.out.println (' setheader ' requrl ',' response.getContentType ) );
filter chain.do filter (请求,响应;
system.out.println (' header now : ' requrl ',' response.getContentType ) );
返回;
}
}
输出:
Set header /test.js.gz,text/javascript
Header now: /test.js.gz,application/x-gzip
在浏览器中,我看到内容编码正确设置为gzip,但内容-
类型仍然是应用程序/x-gzip。 filterChain.doFilter ()似乎正在重置内容类型。
你知道如何永久重置内容类型吗?
没有其他过滤器。