每个请求发送两个servlet响应

时间:2010-06-03 14:06:16

标签: java http servlets

我写道,因为我无法解决以下问题。 我有一个处理一些信息的servlet。 作为回应,我放了文本和二进制内容。 如何获得两个响应,然后是两个html页面,从同一个请求开始? 有可能吗? 第一个响应应该继续执行他现在所做的操作,而第二个响应似乎会创建一个弹出窗口来保存图像。 有更简单的方法来实现相同的结果吗? 非常感谢提前

1 个答案:

答案 0 :(得分:4)

your previous question中所述,每个HTTP请求只能发送一个HTTP响应。这不是servlet限制,这是HTTP限制。服务器不应该不经意地向客户端发送数据。这将使互联网非常烦人和无法使用。好像你被连续不断的垃圾邮件扔掉了。

为了能够返回两个回复,客户端必须发出两个请求本身。如果你想在“单击”中自动执行此操作,那么你可以(ab)使用一些JavaScript镜头。 E.g。

<a href="page.jsp" onclick="window.open('downloadservlet/file.ext')">click</a>

这将触发两个请求,一个使用普通HTML在当前窗口中page.jsp,另一个请求在新窗口中使用JavaScript downloadservlet/file.ext。但是,如果您在上一个问题中的答案为Content-Disposition: attachment,则此窗口将会消失。

您只需要考虑到当客户端已禁用时,这将无效。