<async-supported> web.xml 中的元素似乎不起作用

<async-supported> Element in web.xml Doesn't Seem to Work

我正在尝试在 Jetty 中设置 servlet 并尝试尝试异步功能,结果却收到以下错误:

java.lang.IllegalStateException: !asyncSupported: main.AsynchronousServlet@6d39e108==main.AsynchronousServlet,jsp=null,order=-1,inst=true
    at org.eclipse.jetty.server.Request.startAsync(Request.java:2232)
    at...

据我了解,我需要向 web.xml(我不熟悉的另一个概念)设置异步支持添加一个元素,所以我做了:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <servlet>
    <servlet-name>AsynchronousServlet</servlet-name>
    <servlet-class>main.AsynchronousServlet</servlet-class>
    <async-supported>true</async-supported>
  </servlet>
  <servlet-mapping>
    <servlet-name>AsynchronousServlet</servlet-name>
    <url-pattern>/AsynchronousServlet/*</url-pattern>
  </servlet-mapping>
</web-app>

但是,我仍然遇到同样的错误。我没有过滤器,所以我发现的其他一些答案不适用,而且我知道 web.xml 在正确的位置,因为如果我拼错了 class 名称,我会得到一个不同的错误。 有人会帮助我并告诉我我做错了什么吗?我正在使用 jetty-9.4.3.v20170317

原来是下面一行:

@WebServlet("/SynchronousServlet")

这里不能使用。似乎与 web.xml

冲突