我正在编写一个servlet,我必须处理用户数据。但是由于处理数据需要时间,我需要在处理数据之前发送用户和数据有效的响应。有没有办法可以先发送响应,然后处理数据。像,
response.send();
processData();
由于
答案 0 :(得分:2)
将processData放在另一个线程中。例如:
if(!processOn){
processOn = true;
new Thread(){
public void run(){
processData();
}
}.start();
}
response.send();
其中proccessOn是一个会话/静态布尔值,用于不重新启动该过程两次。
答案 1 :(得分:0)
我不认为这是可能的,但是创建一个新的Thread
来处理数据可能有所帮助。
答案 2 :(得分:0)
是和否。您无法发送响应,然后阅读请求内容。但是,您可以将请求内容作为字节数组读取,然后发送响应,然后执行数据的应用程序级解析。