Java 如何在转发到其他资源之前添加响应标头

Java 如何在转发到其他资源之前添加响应标头,java,servlets,http-headers,httpresponse,Java,Servlets,Http Headers,Httpresponse,我有一个servlet,它处理一些资源文件,在将请求转发到真正的jsp文件之前,我需要添加一个响应头 response.setHeader("a", "b"); request.getRequestDispatcher("1.jsp").forward(request, response); 我需要将该标题直接发送到浏览器,但它不起作用,我尝试使用firebug监视http请求及其响应,我如何才能做到这一点?您如何知道它不起作用?请阅读此文,我相信您也在期待类似的事情。您如何知道它不起作用?请

我有一个servlet,它处理一些资源文件,在将请求转发到真正的jsp文件之前,我需要添加一个响应头

response.setHeader("a", "b");
request.getRequestDispatcher("1.jsp").forward(request, response);

我需要将该标题直接发送到浏览器,但它不起作用,我尝试使用firebug监视http请求及其响应,我如何才能做到这一点?

您如何知道它不起作用?请阅读此文,我相信您也在期待类似的事情。

您如何知道它不起作用?请阅读本文,我相信您也在期待类似的事情。

如果您想在1.jsp代码中使用servlet添加的一些数据,我建议您使用request.setAttribute方法。response.addHeader/setHeader将一些数据放入响应的标题中。通常,响应头中的数据由浏览器使用。

如果您想使用servlet在1.jsp代码中添加的一些数据,我建议您使用request.setAttribute方法。response.addHeader/setHeader将一些数据放入响应的标题中。通常,浏览器使用响应标题中的数据。

尝试使用
。而不是使用include(请求、响应)
。转发前完全清除响应对象可能是
.forward()
功能

请参见尝试使用
。改为包含(请求、响应)
。转发前完全清除响应对象可能是
.forward()
功能


请参见正在清理标题。好奇的是,是什么阻止您使用
request.setAttribute()

正在清理标题。好奇的是,是什么阻止你使用
request.setAttribute()

你怎么知道它不起作用?你怎么知道它不起作用?不,我试图通过request对象在1.jsp中获取头,我只是用“Firebug”来查看http头,我的自定义头在“1.jsp”中没有显示@virsir:你介意发布你在Firebug中获得的相关片段吗?不,我尝试通过请求对象获取1.jsp中的标题,我只是使用“Firebug”来查看http标题,我的自定义标题没有显示在“1.jsp”中@virsir:你介意发布你在Firebug中获得的相关片段吗?是的,我只需要向浏览器directlyresponse发送一个标题。addHeader将添加一个响应标题,浏览器将接收它。我已经测试了代码。你可以试试。是的,我只需要向浏览器directlyresponse发送一个标题。addHeader将添加一个响应标题,浏览器将收到它。我已经测试了代码。你可以试试。