gpt4 book ai didi

java - 如何在 Jersey 中使用在所有异常情况下执行的响应过滤器

转载 作者:行者123 更新时间:2023-11-30 03:53:42 27 4
gpt4 key购买 nike

我想在 Jersey 中添加一个过滤器,为来自服务器的所有响应添加一些标准 HTTP header 。

如果我使用 javax.servlet.Filter,它仅针对“正常”响应执行。如果存在未捕获的异常通过错误映射器生成其响应,则不会执行过滤器。

如果我使用 Jersey 的 ContainerResponseFilters 之一,如果另一个 javax 过滤器抛出异常,它就不起作用。

如何添加始终执行的过滤器(或者监听器、错误映射器等)?

最佳答案

您可以使用javax.servlet.Filter,只需确保它是过滤器链中的第一个(只需将其添加到 web.xml 中的第一个位置即可)。您必须确保的第二件事是在调用进一步的链之前添加请求 header 。

public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException, ServletException { 
// add header here
chain.doFilter(request, response);
}

关于java - 如何在 Jersey 中使用在所有异常情况下执行的响应过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23783839/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com