好的..我认为这个问题很愚蠢,但我需要这样的问题。
我有一个servlet,可根据情况检查大约20-50台服务器的健康状态。
我正在努力将时间缩短到尽可能低,但仍需要15-20秒才能做出回应。
我在控制台上打印的内容让我感到满意的是servlet不是很好但是用户看不到它。
有没有办法在请求页面或新页面上打印数据,以便用户知道服务器没有卡住 - 我不想传递请求,因为还有一些处理要做。
我只想像在控制台中一样打印。我检查了System.setOut(PrintStream)但是这也是在我通过请求调度程序后才对数据进行篡改 - 对我不利。
如果这是一个愚蠢的问题,我很抱歉。我无法找到解决问题的方法。任何帮助将不胜感激。提前谢谢。
更新:我目前正在显示一张说明加载的图片。但即使服务器崩溃,图片仍然存在。在我的情况下,它不是服务器状态的真实指示。
答案 0 :(得分:1)
我认为您正在寻找的是WebSockets支持的https://www.google.com/search?q=websockets。 假设您的浏览器支持它,您将不得不更新您的javascript,然后更新您的servlet代码和容器以支持。 Jetty支持它,我不确定其他容器。
或者,您可以将进度保存到表格或其他内容并轮询该数据。
答案 1 :(得分:0)
使用第一个请求,您可以显示带有某种“请等待”指示的页面,并执行第二个实际获取数据的请求(例如,通过JavaScript)。
答案 2 :(得分:0)
使用javascript显示加载栏。这将告诉用户后台发生了什么事。