如何创建在servlet运行时获取信息的Ajax请求?

时间:2013-12-20 20:07:48

标签: java jquery ajax jsp servlets

我有一个表单,用于创建一个帐户和一个处理请求的servlet。

但是,创建此帐户的过程是一个漫长的过程,我想创建类似状态栏或进度条的过程。继发帖:

  

$ .post(“createAccount.jsp”,function(data){$(“#status”)。text(data);   });

servlet将继续打印数据,如“创建x ...”,然后在servlet运行时“创建y”。有没有办法实现这个或者可能是解决这个问题的另一种方法?

由于

2 个答案:

答案 0 :(得分:0)

您可以让帐户创建servlet在创建帐户时更新数据库或上下文属性。

您可以向另一个servlet发出单独的AJAX请求,该请求将在数据库或上下文属性中找到的最新开发发送回网页。然后,您将使用该AJAX请求每隔很多时间(或相关时间间隔,具体取决于创建帐户的任务的长度)来轮询您的服务器以获取所有更新。

答案 1 :(得分:0)

Http适用于request-response模型。您发送请求,服务器响应。那之后服务器不知道你是谁?!

  

就像服务器是一个不知道你的地址的邮局。您   去它并收到你的信件。它不会来你家   送信。

如果您想要从服务器发出持续通知,您可以使用Web Sockets(Stack Overflow也使用Web套接字)或使用“AJAX轮询”机制,

  

向服务器发送AJAX请求并等待服务器   响应。在检索响应时,它会生成另一个AJAX请求   并继续这样做,直到服务器停止生成新数据。


Read this for an explanation of AJAX Polling techniques