1

我正在编写一个 servlet,我必须在其中处理用户数据。但由于处理数据需要时间,我需要在处理数据之前发送用户和数据有效的响应。有没有办法我可以先发送响应,然后处理数据。就像是,

response.send();
processData();

谢谢

4

3 回答 3

2

将 processData 放在不同的线程中。前任:

if(!processOn){
    processOn = true;
    new Thread(){
        public void run(){
            processData();
        }
    }.start();
}
response.send();

其中 proccessOn 是一个会话/静态布尔值,用于不重新启动进程两次。

于 2012-10-15T09:49:33.717 回答
0

我认为这是不可能的,但是也许创建一个新Thread的来处理数据可能会有所帮助。

于 2012-10-15T09:45:03.560 回答
0

是和不是。您不能发送响应然后读取请求内容。但是,您可以将请求内容作为字节数组读取,然后发送响应,然后执行应用程序级别的数据解析。

于 2012-10-15T09:50:02.763 回答