Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 每个请求发送两个servlet响应_Java_Http_Servlets - Fatal编程技术网

Java 每个请求发送两个servlet响应

Java 每个请求发送两个servlet响应,java,http,servlets,Java,Http,Servlets,我写,因为我不能解决以下问题。 我有一个servlet来处理一些信息。 作为回应,我把文本和二进制内容都放进去。 如何从同一个请求得到两个响应,然后是两个html页面? 有可能吗? 第一个响应将继续执行他现在所做的操作,而第二个响应将显示一个弹出窗口来保存图像。 有没有更简单的方法可以达到同样的效果? 非常感谢如中所述,每个HTTP请求只能发送一个HTTP响应。这不是servlet限制,这是一个限制。服务器不应主动向客户端发送数据。这会让互联网变得非常烦人,无法使用。就好像你被源源不断的垃圾邮件

我写,因为我不能解决以下问题。 我有一个servlet来处理一些信息。 作为回应,我把文本和二进制内容都放进去。 如何从同一个请求得到两个响应,然后是两个html页面? 有可能吗? 第一个响应将继续执行他现在所做的操作,而第二个响应将显示一个弹出窗口来保存图像。 有没有更简单的方法可以达到同样的效果? 非常感谢

如中所述,每个HTTP请求只能发送一个HTTP响应。这不是servlet限制,这是一个限制。服务器不应主动向客户端发送数据。这会让互联网变得非常烦人,无法使用。就好像你被源源不断的垃圾邮件扔到了死地

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

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

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


您只需要考虑到,当客户端禁用JavaScript时,这将不起作用。

这个答案并不完全正确!大多数HTTP交互纯粹是请求-响应,但是响应代码在同一个流上调用多个响应。这个响应有一些用例,但是大多数框架词似乎没有考虑到这些。@penguineer:Ha!此外,自HTTP/2以来,情况发生了变化。