【问题标题】:how to make a servlet refresh a jsp page if there is new information to be displayed?如果要显示新信息,如何使 servlet 刷新 jsp 页面?
【发布时间】:2014-03-15 04:53:38
【问题描述】:
我正在制作一个 Web 应用程序,它接收来自 android 智能手机的图片,然后将它们显示在 .jsp 页面中。
如果服务器中有新图片,我需要一种机制来重新加载 .jsp 页面。有点像 facebook,我们不需要刷新就可以看到新内容。
facebook只是时不时刷新还是有某种机制意识到有新信息要显示并通知页面自己刷新?
【问题讨论】:
标签:
java
facebook
servlets
web-applications
refresh
【解决方案1】:
正如其他人回答的那样,使用 HTTP,客户端(Web 浏览器)必须启动消息交换。换一种说法。服务器(JSP 是一个服务器进程)无法向 Web 浏览器发送消息。 Web 浏览器必须启动该过程(通过发送请求)。服务器只能响应网络浏览器的请求。
正如其他人指出的那样。 Facebook 可能会向网络浏览器发送一个 javascript 程序。每隔几秒钟在网络浏览器中运行的 javascript 程序会向服务器发送一条消息。该消息询问服务器是否有新信息要显示。
希望这是有道理的。您需要添加在浏览器中运行的 javascript。该javascript循环运行,轮询服务器以获取新信息。服务器不会轮询 Web 浏览器。这是相反的方式。 Web 浏览器轮询服务器。
希望对您有所帮助 :) 祝您好运。
【解决方案2】:
servlet 只通知有新信息,然后 jsp 会自行刷新。另一种选择是使用 AJAX,以便 servlet 以 JSON 格式向您返回新信息。然后通过使用 javascript,您可以使用新信息更新您的网页(并且由于 AJAX 而无需刷新页面)。