2010-06-03 55 views
2

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

回答

4

如在your previous question回答,您可以发送每个HTTP请求只有一个HTTP响应。这不是一个servlet限制,这是一个HTTP限制。服务器不应该非骚扰地向客户端发送数据。这将使互联网非常烦人和无法使用。就像你被一连串的垃圾邮件抛弃一样。

为了能够返回两个响应,客户端必须触发两个请求本身。如果你想通过“单击”自动执行此操作,那么你可以(ab)为此使用一些JavaScript镜头。例如。

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

这将使用当前窗口正常的HTML和JavaScript的使用一个又一个downloadservlet/file.ext在新窗口中火两个请求,一个page.jsp。但是,如果您在上一个问题中回答的答案为Content-Disposition: attachment,该窗口将消失。

你只需要考虑到,这不会工作时,客户端JavaScript 已禁用

+0

谢谢您的回答! – sangi 2010-06-03 16:49:30