将数据从Servlet推送到网页

时间:2013-08-20 12:55:07

标签: java servlets

好的..我认为这个问题很愚蠢,但我需要这样的问题。

我有一个servlet,可根据情况检查大约20-50台服务器的健康状态。

我正在努力将时间缩短到尽可能低,但仍需要15-20秒才能做出回应。

我在控制台上打印的内容让我感到满意的是servlet不是很好但是用户看不到它。

有没有办法在请求页面或新页面上打印数据,以便用户知道服务器没有卡住 - 我不想传递请求,因为还有一些处理要做。

我只想像在控制台中一样打印。我检查了System.setOut(PrintStream)但是这也是在我通过请求调度程序后才对数据进行篡改 - 对我不利。

如果这是一个愚蠢的问题,我很抱歉。我无法找到解决问题的方法。任何帮助将不胜感激。提前谢谢。

更新:我目前正在显示一张说明加载的图片。但即使服务器崩溃,图片仍然存在。在我的情况下,它不是服务器状态的真实指示。

3 个答案:

答案 0 :(得分:1)

我认为您正在寻找的是WebSockets支持的https://www.google.com/search?q=websockets。 假设您的浏览器支持它,您将不得不更新您的javascript,然后更新您的servlet代码和容器以支持。 Jetty支持它,我不确定其他容器。

或者,您可以将进度保存到表格或其他内容并轮询该数据。

答案 1 :(得分:0)

使用第一个请求,您可以显示带有某种“请等待”指示的页面,并执行第二个实际获取数据的请求(例如,通过JavaScript)。

答案 2 :(得分:0)

使用javascript显示加载栏。这将告诉用户后台发生了什么事。