use*_*192 1 redirect jsp servlets
我们正在使用Java JSP/Servlet技术.当用户在我们的网站上提交表单时,表单由servlet处理,需要5到15秒才能完成其工作并将结果发送回浏览器.如何设置一个中间页面,告诉用户正在处理请求并要求用户在结果显示之前等待一段时间?
我猜测中间页面将有一个元标记或使用javascript检查并定期查看结果是否可用.
但是,如果servlet已经重定向到中间(等待)页面,我不知道servlet将如何完成它的工作?servlet是否需要在处理用户请求的服务器上启动新线程,然后立即将用户重定向到等待页面?或者,还有更好的方法?
我知道我可以使用AJAX.但我想知道如果不使用AJAX我能做到这一点.
我不会这么做的.这将涉及令人讨厌的会话黑客/令牌/重定向.
我只是使用JavaScript在按下提交按钮时显示一些动画gif.
<input type="submit" value="submit"
onclick="document.getElementById('loader').style.display = 'block';">
...
<img id="loader" src="loader.gif" style="display: none;" />
Run Code Online (Sandbox Code Playgroud)
在Servlet代码,就没有设置响应标头和/或写入/冲洗的第一位到响应身体之前完成的长时间运行的过程.否则页面将立即消隐.换句话说,你不能碰HttpServletResponse,直到长期运行过程中以任何方式真的完了.这样,带有动画gif的原始表单将尽可能长地呈现给最终用户.
| 归档时间: |
|
| 查看次数: |
4837 次 |
| 最近记录: |