我写了一个过滤器,但结果响应不包含指定的标头。
最终响应是否与在过滤器中修改过的响应相同?
我需要修改以获得正确的结果吗?

import javax.servlet.Filter;//...

public class HeaderFilter implements Filter {//...
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
        throws IOException, ServletException {
    filterChain.doFilter(servletRequest, servletResponse);
    HttpServletResponse response = (HttpServletResponse) servletResponse;
    response.setHeader("X-Frame-Options", "domain.com");
}//...
}

最佳答案

“您正在尝试执行Servlet之后设置标头。
请尝试在doFilter方法调用之前设置标头。
只需将最后两行移到doFilter行上方即可。”
那是解决方案。
谢谢!

07-27 19:20