我有一个java web应用程序,其中运行的servlet需要花费一些时间来加载,一旦完成servlet,jsp页面将显示来自之前运行的servlet的数据。
有没有办法在加载servlet时显示消息或gif?
答案 0 :(得分:0)
JavaScript是要走的路,你知道Servlet是服务器端的。
只要我知道,一旦浏览器提交请求,我们就无法控制在下一页加载之前会发生什么。
因此,要么在加载新页面之前处理延迟,要么在加载页面后处理延迟。当然,在完成身份验证之前,很难加载需要身份验证的页面,因此最好在登录页面上保留,直到它发生。
我的建议是你用AJAX处理登录,总是小心安全性。您的JS不是让浏览器提交表单,而是使用AJAX收集登录信息并异步发送到Servlet。我不知道怎么做,但可以做到。
当你的JS等待响应时,你会创建一些动画以分散用户的注意力。一旦响应到来,如果登录成功,您的JS将加载新页面。
答案 1 :(得分:0)
如果servlet需要时间才能返回结果,则必须将其拆分。然后,您可以使用Javascript或重定向,后者可以使用或不使用刷新延迟。
Javascript是更明显的方式:智能是客户端。所以你:
但这不是唯一的方法。你也可以:
好的,这不是很好,因为用户必须单击按钮才能看到进度,但您可以使用进度页面中的刷新标题稍微改变一下,自动刷新它。刷新是非标准标记,但大多数浏览器(ref)都支持该标记。并且你得到一个页面,告诉用户没有一行javascript的长时间处理的推进。