有人告诉我,java servlet可能会异步运行。但这是否意味着对单个servlet的请求是异步处理的,还是说只有对不同servlet的请求才是异步的。
基本上,我的项目中有一个servlet:
public class DummyServlet extends HttpServlet
{
...
protected void doGet(HttpServletRequest request, HttpServletResponse response)
{
response.setContentType("text/plain; charset=utf-8");
PrintWriter writer = new PrintWriter(response.getOutputStream());
writer.write("DummyServlet invocation");
System.out.print("Invocation: " + counter);
Thread.sleep(5000);
System.out.println(" ... done.");
counter++;
writer.flush();
writer.close();
}现在,当我同时发出两个请求时,第二个请求将等待第一个请求结束。在这种情况下,如何实现异步行为?
更新:请求是异步处理的,只是我的请求不是异步生成的。
发布于 2011-09-01 19:58:39
通过实现,每个servlet请求都在不同的线程中运行。所以它是一个异步行为。
https://stackoverflow.com/questions/7269897
复制相似问题