Java 模拟开始编写servlet响应
我们有一个servlet,它将服务器端生成的Excel文件打印到响应输出流中。Excel文件由一个方法生成,该方法返回POI工作簿对象中的完整文件 我们的问题是,生成文件的方法要持续30秒才能执行。客户端一直在等待响应,直到我们开始将文件写入响应 有没有办法在响应中写入一些东西,让客户端导航器触发下载对话框 类似于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
response.getOutputStream().write(null);
workbook.write(response.getOutputStream());
在outputStream中写入null会引发NullPointerException
通过这种方式,虽然文件尚未生成,但下载似乎已经开始。您的意思是请等待加载页面?您可以使用轮询方法,但这会引入更复杂的异步设计。否则,没有。这里有一些信息。您是否可以设置一个线程,定期写入零字节数组并刷新,直到工作簿生成完成并可以流式处理?