So is your client just waiting for the results? Since it is a web application, your client might be on a completely different web page or even web site, so you would be able to have your client do a check. Unfortunately the nature of the web application is the request/response format. Meaning you send a request get a response and move on. If you want to do a request, go somewhere else while this does its work, then get a response, is against the architecture and nature of the web. Your browser is going to wait for the response.
Now if you want the Servlet to move on, and not have to worry about the "thread" finishing to handle some other request, then you can pass the Request and Response objects to a new Thread, and let that Thread return a response.
Originally posted by Ben Souther: If you don't mind using frames, you can have one frame that just polls to check the results. You can even make it a hidden iframe so it doesn't distract the user when refreshing.
True, but that won't help him if the user goes to a completely different Website while waiting.