相关疑难解决方法(0)

在过滤器中添加标头作为响应?

我需要在每个响应中添加标头.我打算在下面做

public class MyFilter extends OncePerRequestFilter {

    @Override
    protected void doFilterInternal(HttpServletRequest request,
                                    HttpServletResponse response, FilterChain filterChain)
            throws ServletException, IOException {

        filterChain.doFilter(request, response);
            response.addHeader("Access-Control-Allow-Origin", "*"); 
    }

}
Run Code Online (Sandbox Code Playgroud)

我想这样做之后filterChain.doFilter(request, response),一旦控制器处理它,我只是在返回客户端之前添加标题.这是对的吗 ?

但按照如何编写响应过滤器?

chain.doFilter返回之后,对响应采取任何措施都为时已晚.此时,整个响应已发送到客户端,您的代码无法访问它.

以上陈述对我来说不合适.我不能添加标题后filterChain.doFilter(request, response)?如果不是为什么?

我正在使用spring mvc.

java spring-mvc httpresponse filter servlet-filters

14
推荐指数
2
解决办法
2万
查看次数

标签 统计

filter ×1

httpresponse ×1

java ×1

servlet-filters ×1

spring-mvc ×1