gpt4 book ai didi

java - 包括 JSP 页面忽略自定义 header

转载 作者:行者123 更新时间:2023-11-28 23:32:49 25 4
gpt4 key购买 nike

我有一个包含 JSP 页面和自定义 header 的 servlet:

    rsp.setStatus(HttpServletResponse.SC_OK);
rsp.setContentType("text/html");
rsp.addHeader("X-MyHeader", "Test");
RequestDispatcher rd = req.getRequestDispatcher("MyPage.jsp");
if ( rd != null )
rd.include( req, rsp );

问题是,自定义 header 未包含在输出流中。

我了解包含的服务无法添加或更改 header ,此类更改将被忽略,但在这种情况下,尝试添加 header 的不是包含的服务,它是执行包含的服务,它是一个 .jsp 页面包含的不是服务。

如何在外部服务中包含自定义 header (此处实际上只有一项服务),同时还包含 .jsp 页面?

最佳答案

您会看到,JSP 页面被编码和编译为 Servlet。所以一个 JSP 页面基本上是一个伪装的 Servlet,所以通过调用它你实际上重定向到一个不同的 Servlet。如果您想更改 JSP 中的 header ,您可以这样做:

<%
response.setHeader("X-MyHeader", "Test");
%>

如果您只想在原始 Servlet 中包含一些标记,我建议您存储在一个文本文件中,然后将文件的内容附加到 Servlet 的输出流。

关于java - 包括 JSP 页面忽略自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28178315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com