如何在不影响输出的情况下从Servlet调用JSP?

如何在不影响输出的情况下从Servlet调用JSP?,jsp,servlets,jakarta-ee,Jsp,Servlets,Jakarta Ee,我既不是服务器端编程专家,也不是JavaEE专家,我一直在寻找如何实现一项非常简单的任务。我甚至不知道如何表达这一点,这使得谷歌搜索或在API中搜索变得困难 我有一个Servlet,这个Servlet调用两个不同的JSP页面。其中一个是实际输出,带有html代码。AFAIU这可以通过以下语句来完成:request.getRequestDispatcher(“my_jsp_page.jsp”).forward(请求,响应) 但是我想调用的第二个JSP不应该是响应/输出的一部分。它只是一个生成的vC

我既不是服务器端编程专家,也不是JavaEE专家,我一直在寻找如何实现一项非常简单的任务。我甚至不知道如何表达这一点,这使得谷歌搜索或在API中搜索变得困难

我有一个Servlet,这个Servlet调用两个不同的JSP页面。其中一个是实际输出,带有html代码。AFAIU这可以通过以下语句来完成:
request.getRequestDispatcher(“my_jsp_page.jsp”).forward(请求,响应)

但是我想调用的第二个JSP不应该是响应/输出的一部分。它只是一个生成的vCard(文本文件)。所以我想我不能使用前面的句子,也不能使用
include
方法,因为
include
会影响输出,对吗

任何提示或建议都将不胜感激

问候


PD:可能我没有正确地表达自己。jsp html文件的输出显示在浏览器上,也就是说,它是实际的响应。jsp vcard文件的输出是一个文本可下载文件,这就是为什么我认为它不应该包含在输出中。

只要包含的jsp文件不向响应写入任何内容,就可以包含它。它将被执行(在您的示例中生成文本文件),但不会影响最终输出。

您可以读取文本文件并将其设置为响应。设定

Content-type: text/plain

看起来,文本文件必须生成并存储在服务器上,并在后续请求中提供


使用普通的
文件输出流
存储文件,最好在webapp之外的位置。

vCard txt文件是如何参与所有这些的?基本上,@Bozho,request包含一个带有用户ID的参数,使用此用户ID我获取此用户的数据。利用这些数据,我生成了输出(html文件)和一个可下载的vcard文本文件。这不是正确的方法吗?是的,问题是将响应设置为服务器上的文本文件,但这是一个提示。。。我会试试。是的,所以我的问题是如何调用JSP在服务器上编写输出。所以。。。你会建议忘记JSP吗?我只是好奇最简单的方法,但是是的,如果是这样的痛苦,我会用经典的方法。