我不是服务器端编程和Java-EE的专家,我一直在寻找如何实现一个非常简单的任务。我甚至不确定如何表达这一点,因此难以谷歌搜索或搜索API。
我有一个Servlet,这个Servlet正在调用两个不同的JSP页面。其中一个将是html代码的实际输出。 AFAIU可以通过这句request.getRequestDispatcher("my_jsp_page.jsp").forward(request, response);
但我要调用的第二个JSP不应该是响应/输出的一部分。它只是一个生成的vCard(文本文件)。所以我认为我不能使用前面的句子和include
方法,因为include
会影响输出,我是对的吗?
非常感谢任何提示或建议。
问候。
PD:可能我没有正确表达自己。 jsp-html文件的输出显示在浏览器上,也就是说,它是实际的响应。 jsp-vcard文件的输出是一个文本可下载文件,这就是为什么我认为它不应该包含在输出中。答案 0 :(得分:1)
只要包含的jsp文件不向响应写入任何内容,就可以包含它。它将被执行(在您的示例中生成文本文件),但不会影响您的最终输出。
答案 1 :(得分:1)
看起来,文本文件必须生成并存储在服务器上,并在后续请求中提供。
使用正常FileOutputStream
存储文件,最好是在webapp之外的位置。
答案 2 :(得分:0)
您可以阅读文本文件并将其设置为响应。并设置
Content-type: text/plain