gpt4 book ai didi

java - 如何中断网页的加载?

转载 作者:太空宇宙 更新时间:2023-11-04 13:24:27 24 4
gpt4 key购买 nike

我知道标题有点令人困惑。我将描述我的任务:

现在我正在编写一个网页,它允许我下载一些数据或做一些其他事情。前端是jsp,后端是java。因此,每次我在这个页面上执行某些操作(例如对数据进行排序或下载数据)时,都会向 java 发送一个请求,并且在数据处理后,.jsp 页面将被刷新并再次加载(因为排序后应该刷新)。但我刚刚发现,如果我用下面的代码下载数据,刷新就会中断:

OutputStream out = response.getOutputStream(); // response is HttpServletResponse
doSomeOutput(out); // Just write something into OutputStream

out.flush(); // **PAY ATTENTION**. The refreshing is interrupted here!
out.close();

当我调试时,页面一直加载到第三行。然后页面没有刷新,数据下载了。

希望你能明白我在说什么:(

现在我有两个问题: 1. 如何让进程在 out.flush(); 之后继续运行? 2.在我的任务中,我需要在其他一些模块中进行相同的行为(进程被中断),但没有任何内容可供下载。那么除了 out.flush(); 之外我怎样才能中断这个过程呢?

谢谢大家!!

最佳答案

1) https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html#getOutputStream%28%29“在ServletOutputStream 上调用flush() 会提交响应”

据我了解:主动刷新已停止,因为我们获得了数据的主要部分。但即使在提交后您也可以发送数据。这样您就可以在冲洗后继续工作。设置 header 也与刷新一起发送。

2)请解释得更彻底。调用“返回”,还是关闭?

关于java - 如何中断网页的加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32799966/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com