response.setContentType()在Java过滤器中重置

response.setContentType()在Java过滤器中重置,第1张

response.setContentType()在Java过滤器中重置

借助以下答案解决了它:

private class ForcableContentTypeWrapper extends HttpServletResponseWrapper{    public ForcableContentTypeWrapper(HttpServletResponse response)    {        super(response);    }    @Override    public void setContentType(String type)    {    }    public void forceContentType(String type)    {        super.setContentType(type);    }}

然后将我上面的代码更改为

    if (reqUrl.endsWith(gzExt))    {        ForcableContentTypeWrapper newResponse = new ForcableContentTypeWrapper(response);        newResponse.setHeader("Content-Encoding", "gzip");        newResponse.forceContentType("text/javascript");        filterChain.doFilter(request, newResponse);        return;    }

它不是一个很好的解决方法,但它可以工作。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5498765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存