java - request-filter-servlet-jsp 链中的响应

标签 java jsp servlets http-headers servlet-filters

我编写了一个过滤器,但结果响应不包含指定的 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/

相关文章:

JAVA GRPC 服务器端流不断增加 max-inbound-message-size

java - 登录和注销的误区

java - 使用jsp和servlet上传文件

java - 如何为 iText 生成的 PDF 显示“另存为”对话框?

javascript - 无法在包含的jsp中获取jSTL变量

java - JSTL数据库连接提示

java - 使用java保存时图像会改变颜色

java - 什么是好的、安全的网络支付架构

java - G1GC GC logs 是什么意思?

java - JSP 和商标符号