如何删除HTTP响应头?

2023-12-07

我遇到一种情况,其中一个响应标头Content-Disposition必须被删除。所以我想到编写一个servlet过滤器来做到这一点。但我意识到HttpServletResponse只有一个setHeader()方法,但没有方法删除它。 我怎样才能做到这一点?


之后您无法通过标准 Servlet API 删除标头。你最好的选择就是prevent标题被设置。您可以通过创建一个来做到这一点Filter它取代了ServletResponse与定制HttpServletResponseWrapper跳过的实现setHeader()每当标题名称为Content-Disposition.

基本上:

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    chain.doFilter(request, new HttpServletResponseWrapper((HttpServletResponse) response) {
        public void setHeader(String name, String value) {
            if (!name.equalsIgnoreCase("Content-Disposition")) {
                super.setHeader(name, value);
            }
        }
    });
}

只需将该过滤器映射到感兴趣的 URL 模式即可运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何删除HTTP响应头? 的相关文章

  • 在Java Servlet中获取通过jquery ajax发送的参数[重复]

    这个问题在这里已经有答案了 我在网上搜索这个主题 但找不到有效的示例 我会很高兴有人能给我帮助 这就是我测试的 ajax url GetJson type POST dataType json contentType application
  • 对 Java Servlet 进行单元测试

    我想知道对 servlet 进行单元测试的最佳方法是什么 只要内部方法不引用 servlet 上下文 测试内部方法就不是问题 但是测试 doGet doPost 方法以及引用上下文或使用会话参数的内部方法呢 有没有办法简单地使用经典工具 例
  • 不同 servlet-api 版本冲突

    我正在使用 Maven 和 Jetty 作为服务器来开发 RestEasy Web 服务 其中一项服务应使用扩展 javax servlet http HttpServletResponseWrapper 的 Filter 问题出在来自 s
  • 有序 JSON 对象

    我有一个 servlet 它与数据库通信 然后返回有序 按时间排序 对象的列表 在servlet部分 我有 access DB returns a list of User objects ordered ArrayList users M
  • Java Servlet 中限制 HTTP 请求

    在 java servlet 中 如何根据客户端的 IP 地址限制来自用户的 http 请求 我不想每秒处理来自特定源 IP 地址的超过 X 个请求 其中 X 是可配置的并且具有 0 1 中的实际值 10 范围 从 10 秒内 1 个请求到
  • 在 Java Servlet 中上传文件

    我有一个 Java 动态 Web 项目 并且正在使用 TomCat v7 0 我是 Web 项目的新手 不太明白如何在我的 jsp 页面之一中上传文件 由于我的项目只是本地的 所以我认为我可以使用多部分形式 其中人们可以选择文件 并且这部分
  • Spring MVC 应用程序可以是多线程的,即使它的 servlet 不是吗?

    当您谈论 Spring 应用程序是多线程时 您是否一定是指该应用程序中定义的 servlet 是否是多线程的 或者即使应用程序中的 servlet 不是多线程 Spring 应用程序也可以配置为多线程吗 不再支持单线程 servlet 它们
  • Java 会话变量

    我听说有些人认为在会话中将信息存储在服务器上是一个坏主意 因为它不安全 因此 在多页面业务流程功能中 应用程序将数据写入数据库 然后在需要时检索信息 在会话中存储私人信息是否一定不安全 只要会话本身安全 在会话中存储属性就不存在安全风险劫持
  • 有没有办法测量 Java (Servlet) I/O 流量?

    我尝试做的是使用以下代码实现 servlet 过滤器 int up request getContentLength if HttpServletRequest request getQueryString null up Math max
  • 允许从 servlet 进行渐进式下载吗?

    我在传送多媒体数据的 servlet 方面遇到问题 我尝试在 iPhone 上的 mobile safari 中使用它 但收到 服务器配置不正确 错误 我在 Mac Apache 上使用网络共享来服务器相同的多媒体文件 并且工作正常 我开始
  • 如何映射“根”Servlet 以便其他脚本仍然可以运行?

    我正在尝试构建一个调用 JSP 页面的 Servlet 类似于以下内容 public void doGet HttpServletRequest req HttpServletResponse resp throws IOException
  • 仅在文件下载完成后设置 cookie。

    我有一个场景 我想告诉用户下载完成并提示关闭按钮 为此 我使用 jquery 插件来连续监视 cookie 以了解下载何时完成 我的问题是我想设置这个cookie fileDownload true and path 下载完成后立即进行 为
  • 使用注解的Servlet初始化参数

    我正在尝试学习 Servlet 注释并遇到了这个片段 WebServlet urlPatterns MyPattern initParams WebInitParam name ccc value 333 这对我来说很有意义 但是 我不明白
  • ServletContext 是每个 Web 应用程序一个还是每个 JVM 一个?

    这是我提出的一个疑问 ServletContext 是每个 Web 应用程序一个 每个 JVM 一个 但是如果我在同一个 JVM 上运行多个 Web 应用程序 然后每个 JVM 有 2 个 ServletContext 是否可以 有人可以详
  • 如何在 Struts 2 应用程序中读取文本文件 [重复]

    这个问题在这里已经有答案了 开发 Struts 2 应用程序时遇到以下问题 我需要读取使用我的应用程序部署在 Web 服务器中的文本文件 我怎样才能知道它的相对路径来访问它 换句话说 如果我知道部署目录内的相对路径 如何找到绝对路径 当我在
  • jqgrid删除:没有获取值

    我使用 JSP 和 Servlet IDE Eclipse 数据库 Oracle10 开发 Web 应用程序 我在用JQGRID以表格格式显示数据 我还想要添加 编辑 删除的功能JQGRID 到目前为止我已经完成了编辑功能 现在我想要Del
  • servlet 如何获取 servlet 之外的文件的绝对路径?

    我们一直在使用 System getProperties user dir 来获取属性文件的位置 现在它已经部署在 Tomcat 上 通过 servlet 系统调用将位置指定为 tomcat 而不是属性文件所在的位置 我们如何动态调用属性文
  • 可以访问 JSF/facelets 中的请求参数的过滤器会导致错误的编码

    我面临以下问题 错误 对于用例 我添加了一个 log4j 过滤器 因为它可以提供很好的日志记录 请参阅here https stackoverflow com questions 5901347 a unique id per user s
  • 如何在servlet中获取表单参数? request.getAttribute 不起作用

    是否可以让同一个 servlet 执行验证 似乎在这里可能需要利用某种递归 但是当我在电子邮件框中输入内容并单击 提交 时 电子邮件参数仍然为空 单击 提交 后 URL 更改为 http localhost servlet EmailSer
  • 在java中将DataURL图像转换为图像文件

    我在我的 java servlet 中接收图像 DataURL 它看起来像 data image jpeg base64 9j 4AAQSkZJRgABAQAAAQABAA 我需要将其另存为图像文件 我该怎么做 The simplest w

随机推荐

  • Firefox 和 IE 中的 css 正在渲染旧的 css 文件...chrome 可以很好地显示新的 css

    由于某种原因 我无法在 firefox 或 ie 浏览器中使用新的 css 我使用 php 将所有 css 合并到一个文件中 然后像这样输出 PHP 文件 header Content type text css readfile layo
  • libpng png 的大小

    我的程序从不确定长度的数据流中读取 当它读取 PNG 文件时 它需要存储它以供以后使用 而不是对其进行解码 libpng 是否提供任何函数来提供 PNG 的大小 以便它知道要存储多少字节 如果没有 我是否必须编写自己的 PNG 块解析器来跳
  • 使用 pgu 在 pygame 中制作弹出窗口

    我正在尝试向我用 pygame 编写的游戏添加一些 gui 元素 带有按钮的对话框 我四处寻找一个像样的 GUI 工具包 最后得到了pgu 不管怎样 我试图让它弹出一个对话框 它确实 有点 但它没有关闭 这是我的代码的简化版本 仅显示我关心
  • 带标签的按钮

    如何获取带有特定标签的按钮 id 喜欢然后将其转换为 UIButton 并更改 alpha UIButton button UIButton self view viewWithTag tag button alpha 0 5
  • gem install debugger -v '1.5.0' 失败

    我正在尝试做bundle在 Mavericks 的大型项目中 尽管这是 rbenv 的全新安装 但一些 gem 已损坏或我的环境出现问题 gem install debugger v 1 5 0 Building native extens
  • 是否可以在不刷新整个页面的情况下加载页面内容

    实际上我想刷新页面内容而不通过 JavaScript 或 j Query 刷新整个页面 并且我将整个项目放入 Php 或 javaScript 所以我面临此类问题 Note i want to refresh my page content
  • 在 kernel_fpu_end 之前调用 kernel_fpu_begin 两次

    我正在使用kernel fpu begin and kernel fpu end功能于asm i387 h保护 Linux 内核模块内一些简单浮点运算的 FPU 寄存器状态 我很好奇调用的行为kernel fpu begin之前函数两次ke
  • 在 Windows 上,_fseeki64 无法正确查找大文件的 SEEK_END

    我已将问题简化为以下基本功能 该功能应该简单地打印 文件中的字节数 当我对 83886080 字节 80 MB 的文件执行它时 它会打印正确的数字 然而 对于 4815060992 字节 4 48 GB 的文件 它会打印 520093696
  • OpenCV 错误:断言失败,mat.cpp 第 537 行

    http pastebin com 5ZeMvm2C是我项目中的头文件 第 249 行有 sculpture at y axis x axis 1 当我在项目中键入此代码时 我收到此错误 OpenCV Error Assertion fai
  • Sphinx:对不同的输出格式使用不同的指令

    假设您有一个 reStructuredText 文档 并希望使用 Sphinx 2 x 将其导出为两种格式 HTML 和 PDF 您想在这两种格式中放入一些略有不同的内容 例如 文本 我是HTML 出现在 HTML 版本中 而 我是PDF
  • connectOutlet 中使用的 Ember 路由和 applicationController

    我有这个 ember 路由的工作示例http jsfiddle net C7LrM 102 我想像这样将 ApplicationController 更改为应用程序控制器http jsfiddle net C7LrM 102 并打电话 ro
  • spring批处理文件编写器直接写入亚马逊s3存储,无需PutObjectRequest

    我正在尝试将文件上传到亚马逊 s3 我不想上传 而是想使用 Spring Batch 从数据库读取数据并将文件直接写入 s3 存储 无论如何 我们能做到吗 Spring Cloud AWS 添加了支持Amazon S3服务通过资源加载器和s
  • 如何使用 jQuery 选择具有唯一文本内容的 XML 节点?

    我试图 以 jQuery 方式 从 XML 文档中提取唯一文本条目的列表 但遇到了困难 从这个 XML 中
  • Java 中引用变量读写的原子性

    首先引用来自 从JLS 8 秒 17 7 写入和读取引用始终是原子的 无论 它们是作为 32 位值还是 64 位值实现的 这是让我感到困惑的场景 给定 Employee 类和该类中名为calculate 的方法 该方法返回对 Employe
  • iOS 使用情况因 iPhone 尺寸不同而存在差异

    我有一个按钮 我希望根据所使用的 iPhone 类型具有不同的宽度 显然 7 Plus 的宽度更大 而 7 Plus 的宽度则更小 我单击按钮 单击 特征变化 选择 高度 更改每个 iPhone 的约束 然后单击 完成变化并构建 但它始终保
  • 从应用程序引擎访问计算引擎

    我有一个在计算引擎上运行的实例 它使用 Torch 来预测图像中的对象 我想制作一个简单的 Web 界面 用户可以使用该界面上传图像 将图像发送到服务器 计算引擎 预测对象并将列表返回给用户 在我的计算引擎 Ubuntu 14 04 中 这
  • 如何使用 distHaversine 函数?

    我试图在循环内使用 R 中的 distHavrsine 函数来计算数百行的某些纬度和经度坐标之间的距离 在我的循环中我有这样的代码 if distHaversine c file i long file i lat c file j lon
  • 如何用 C 语言制作自己的头文件?

    我尝试制作自己的头文件 但它不起作用vim says wget h 2 2 error invalid preprocessing directive ifndef WGET H wget h 3 2 error invalid prepr
  • 列出并连接到蓝牙设备

    我正在尝试让我的 Windows 平板电脑应用程序通过蓝牙与其他设备进行通信 首先我想扫描设备 然后我想连接到所选设备 我制作了一个简单的测试应用程序 空白首页并向其添加了一个按钮和一个列表框 然后我尝试了以下代码 我在其他地方找到了这样的
  • 如何删除HTTP响应头?

    我遇到一种情况 其中一个响应标头Content Disposition必须被删除 所以我想到编写一个servlet过滤器来做到这一点 但我意识到HttpServletResponse只有一个setHeader 方法 但没有方法删除它 我怎样