我创建了一个Servlet 3.0来探索异步请求处理:
@WebServlet(name="MyTest", urlPatterns={"/MyTest"}, asyncSupported=true)
public class MyTest extends HttpServlet {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
AsyncContext tmp = req.startAsync(req, res);
...
}
}
但是当调用.startAsync(...)
时,我会得到一个IllegalStateException
。我知道Javadoc提到了这个异常,但我明确启用了异步(参见WebServlet
注释)。我正在使用由NetBeans提供的Tomcat 7.0.11.0。
我可以确认req.isAsyncSupported()
返回false。我做错了什么?我需要做什么才能启用异步处理?
编辑:
我试图实现以下示例,并遇到了相同的问题。