Java 1.5中是否可以使用异步servlet?

Java 1.5中是否可以使用异步servlet?,java,ajax,servlets,asynchronous,java-5,Java,Ajax,Servlets,Asynchronous,Java 5,我有一个servlet,它对网络共享执行大量文件IO,因此运行时间很长。我想在前端实现一个进度条,而不是一个简单的旋转gif,这样用户就知道实际发生了什么,而不仅仅是“卡住了” 我在WebSphere6.1上运行Java1.5,目前还看不到升级。我知道Servlet3.0规范中内置了异步Servlet支持,但我想知道是否有一种变通方法或类似的方法可以让它看起来是异步的 我使用jQuery进行了一个简单的ajax调用: $.ajax({ url: "/servlet.action",

我有一个servlet,它对网络共享执行大量文件IO,因此运行时间很长。我想在前端实现一个进度条,而不是一个简单的旋转gif,这样用户就知道实际发生了什么,而不仅仅是“卡住了”

我在WebSphere6.1上运行Java1.5,目前还看不到升级。我知道Servlet3.0规范中内置了异步Servlet支持,但我想知道是否有一种变通方法或类似的方法可以让它看起来是异步的

我使用jQuery进行了一个简单的ajax调用:

$.ajax({
    url: "/servlet.action",
    success: function(json, status, xhr) {
        alert("success");
    }
});
servlet是否可以在通过流程时定期将状态更新发送回客户端,或者客户端是否应该定期向servlet(或可以访问主servlet状态的另一个servlet)发出状态请求


目前我无法升级Java和/或Websphere版本。

我找到了一个解决方法:

  • 发送异步请求以启动进程。此servlet使用处理状态更新静态对象。(类似于某种会话/请求标识符的映射)→ 过程状态)
  • 定期将另一个异步请求发送到访问该静态对象的其他servlet,并返回当前状态。状态可以是数字(%complete)、字符串(状态消息)或包含大量信息的对象
  • 然后定期请求可以处理状态并更新进度条或其他内容

  • 这可以在任何Java版本的任何类型的servlet容器中完成。

    我找到了一个解决方法:

  • 发送异步请求以启动进程。此servlet使用处理状态更新静态对象。(类似于某种会话/请求标识符的映射)→ 过程状态)
  • 定期将另一个异步请求发送到访问该静态对象的其他servlet,并返回当前状态。状态可以是数字(%complete)、字符串(状态消息)或包含大量信息的对象
  • 然后定期请求可以处理状态并更新进度条或其他内容

  • 这可以在任何Java版本的任何类型的servlet容器中完成。

    我认为您的问题在于websphere版本。请参阅“8.5.5.3及更高版本的WebSphere web server插件支持全双工通信”,您最好使用WebSocket来实现这一点。我认为您的问题在于WebSphere版本。请参阅“8.5.5.3及更高版本的WebSphereWebServer插件支持全双工通信”,您最好使用WebSocket来实现这一点