我正在尝试在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
答案 0 :(得分:0)
原来以下一行:
@WebServlet("/SynchronousServlet")
不能在这里使用。似乎与web.xml冲突