Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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_Servlets_Response_Apache Poi_Outputstream - Fatal编程技术网

Java 模拟开始编写servlet响应

Java 模拟开始编写servlet响应,java,servlets,response,apache-poi,outputstream,Java,Servlets,Response,Apache Poi,Outputstream,我们有一个servlet,它将服务器端生成的Excel文件打印到响应输出流中。Excel文件由一个方法生成,该方法返回POI工作簿对象中的完整文件 我们的问题是,生成文件的方法要持续30秒才能执行。客户端一直在等待响应,直到我们开始将文件写入响应 有没有办法在响应中写入一些东西,让客户端导航器触发下载对话框 类似于 response.getOutputStream().write(null); workbook.write(response.getOutputStream()); 在outpu

我们有一个servlet,它将服务器端生成的Excel文件打印到响应输出流中。Excel文件由一个方法生成,该方法返回POI工作簿对象中的完整文件

我们的问题是,生成文件的方法要持续30秒才能执行。客户端一直在等待响应,直到我们开始将文件写入响应

有没有办法在响应中写入一些东西,让客户端导航器触发下载对话框

类似于

response.getOutputStream().write(null);
workbook.write(response.getOutputStream());
在outputStream中写入null会引发NullPointerException


通过这种方式,虽然文件尚未生成,但下载似乎已经开始。

您的意思是请等待加载页面?您可以使用轮询方法,但这会引入更复杂的异步设计。否则,没有。这里有一些信息。您是否可以设置一个线程,定期写入零字节数组并刷新,直到工作簿生成完成并可以流式处理?