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

时间:2017-04-02 22:47:05

标签: java xml asynchronous jetty web.xml

我正在尝试在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是在正确的位置,因为如果我拼错了类名,我会得到一个不同的错误。 有人会帮助我,告诉我我做错了什么吗?我正在使用jetty-9.4.3.v20170317

1 个答案:

答案 0 :(得分:0)

原来以下一行:

@WebServlet("/SynchronousServlet")

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