答案 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
,则此窗口将会消失。
您只需要考虑到当客户端已禁用时,这将无效。