Na especificação Servlet 3.0, se uma sequência de consultas for incluída com uma solicitação, essa sequência será disponibilizada para o recurso despachado. Na especificação Servlet 3.1, se uma sequência de consultas for fornecida para o recurso de despacho, essa sequência de consultas será disponibilizada para o recurso despachado, em vez da sequência de consultas da solicitação original.
O exemplo a seguir demonstra essa diferença de comportamento:
A obtenção do objeto de solicitação ou resposta após a chamada dos métodos
AsyncContext.dispatch() ou AsyncContext.complete() não é permitida e resulta na exceção a seguir:
java.lang.IllegalStateException: SRVE9015E:
Cannot obtain the request or response object after an AsyncContext.dispatch() or AsyncContext.complete().
Essa regra sinaliza os itens a seguir:
javax.servlet.annotation.WebServlet com um atributo asyncSupported=trueweb.xml e web-fragment.xml com um elemento
<async-supported>true</async-supported> no
elemento <servlet>Para mais informações sobre mudanças de comportamento do Servlet 3.1, veja o recurso a seguir: Mudanças de comportamento do Servlet 3.1.