我试图在过滤器中将压缩文件的内容类型设置为正确的mime类型,而不是application / gzip。这是我的一些代码:

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException

{

final HttpServletRequest request = (HttpServletRequest) servletRequest;

final HttpServletResponse response = (HttpServletResponse) servletResponse;

String reqUrl = request.getRequestURI();

if (reqUrl.endsWith(gzExt))

{

response.setHeader("Content-Encoding", "gzip");

response.setContentType("text/javascript");

System.out.println("Set header " +reqUrl +", " + response.getContentType() );

filterChain.doFilter(request, response);

System.out.println("Header now: " + reqUrl + ", " + response.getContentType() );

return;

}

}

输出:

Set header /test.js.gz, text/javascript

Header now: /test.js.gz, application/x-gzip

在浏览器中,我看到content-encoding正确设置为gzip,但content-

type仍为application/x-gzip。似乎filterChain.doFilter()正在重置内容类型。

知道如何永久重置内容类型吗?

我没有其他过滤器。

java setcontenttype_response.setContentType()在Java过滤器中重置相关推荐

  1. java脏字过滤_分享JavaWeb中filter过滤器的案例妙用 - 脏话过滤/编码过滤/代码过滤...

    案例1. 利用Servlet的过滤器Filter进行完成脏话过滤 package cn.javabs.filter; import java.io.IOException; import javax. ...

  2. java后置过滤器_java - 如何使用zuul将响应主体提取到后置过滤器中

    我正在使用POC,我需要使用zuul作为服务器来首先路由2条路由,它将正常运行,但它具有自定义的后置过滤器,它将使用第一个命令响应的一些数据将另一个请求发送到其他api, 因此需要将第一个请求的响应主 ...

  3. java过滤器修改响应,在过滤器中实现修改http请求体和响应体

    在一些业务场景中,需要对http的请求体和响应体做加解密的操作,如果在controller中来调用加解密函数,会增加代码的耦合度,同时也会增加调试的难度. 参考spring中http请求的链路,选择过 ...

  4. java 拦截jsp页面_JSP 过滤器

    JSP 过滤器 JSP 和 Servlet 中的过滤器都是 Java 类. 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息. 可以将一个或多个过滤器附加到一个 Servlet 或 ...

  5. 如何学习Java? 在学习Java的过程中需要掌握哪些技能?

    作为刚刚进入Java领域的新同学,无论是高校的毕业大学生,还是有志转行的在职人员,都面临着诸多如下的困惑:如何学习Java? 在学习Java的过程中需要掌握哪些技能?Java学习过程中有哪些注意事项? ...

  6. Java私有方法解释_java接口中 定义 private 私有方法

    在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...

  7. java await signal_【Java并发008】原理层面:ReentrantLock中 await()、signal()/signalAll()全解析...

    一.前言 上篇的文章中我们介绍了AQS源码中lock方法和unlock方法,这两个方法主要是用来解决并发中互斥的问题,这篇文章我们主要介绍AQS中用来解决线程同步问题的await方法.signal方法 ...

  8. java如何导入和导出ex_SpringBoot中关于Excel的导入和导出

    前言 由于在最近的项目中使用Excel导入和导出较为频繁,以此篇博客作为记录,方便日后查阅.本文前台页面将使用layui,来演示对Excel文件导入和导出的效果.本文代码已上传至我的gitHub,欢迎 ...

  9. java stream过滤_Java Stream过滤器

    java stream过滤 Java Stream filter can be very helpful when you want to do some processing only on som ...

最新文章

  1. MVC的Model Binder总结
  2. Matlab学习笔记——文件的打开与关闭
  3. python 设计 实践_python实践设计模式(一)概述和工厂模式
  4. linux c 用户态 调试追踪函数 调用堆栈 定位段错误
  5. jquery ajax 序列化表单传参提交实体对象到后台action
  6. 你真的了解NSNotificationCenter吗?
  7. 拖链电缆 机器人电缆_洞头高柔性拖链网线标柔电缆
  8. jsdk php,jsdk.php · webeautiful/dashpianku - Gitee.com
  9. php 禁用通知,推送消息能不能区分禁止通知和卸载两种类型?
  10. Unity5 Survival Shooter开发笔记2
  11. 公众号开发 单独 给某个用户 推送消息_校区学生会微信公众平台征稿启事
  12. Vagrant安装CentOS7镜像
  13. wps怎么免费导出简历_WPS表格办公—一键添加简历模板
  14. 独立站客服如何友好推送折扣券
  15. C语言超全学习路线(少走弯路)
  16. 如何在Mac上清理磁盘空间?
  17. CKEditor5富文本编辑器在vue中的使用
  18. apk系统签名小技巧
  19. Learning AV Foundation(三)AVAudioRecorder
  20. LLVM 极简教程: 第一章 教程简介与词法分析器

热门文章

  1. 操作系统动态库调用过程
  2. 进程控制:进程的创建、终止、阻塞、唤醒和切换
  3. java基本数据类型所占长度_java基本数据类型长度详解
  4. homelede软路由设置方法_斐讯无线路由器怎么设置 斐讯无线路由器设置方法【详解】...
  5. 将同时共享的用户数量限制为20_共享充电宝市场需求及计划
  6. java简单编译器源代码_25行代码实现一个简单的编译器
  7. 接口 java性能_接口测试性能测试
  8. 产品经验谈:B端产品需求的3个层次,你都了解吗?
  9. php mysql 取最小值_php – 根据另一个值更新最小值 – MySql
  10. java虚拟机_Oracle独家:Java虚拟机学习指南