我编写了一个过滤器,但结果响应不包含指定的 header 。
最终响应是否与过滤器中修改过的响应相同?
我需要修改什么才能获得正确的结果?
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 执行后设置 header 。
请尝试在调用 doFilter 方法之前设置 header 。
只需将最后两行移至 doFilter 行上方即可。”
这就是解决方案。
谢谢!
关于java - request-filter-servlet-jsp 链中的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31746970/