看完Api,英语我不懂也就算了,汉语我也不懂了?MMP
方法名 | 翻译 |
---|---|
void javax.servlet.AsyncContext.addListener(AsyncListener listener) | 使用最新的异步循环注册给定的AsyncListener,该异步循环是通过调用其中一个ServletRequest.startAsync方法启动的。 当异步循环成功完成,超时或导致错误时,给定的AsyncListener将收到AsyncEvent。 AsyncListener实例将按添加顺序通知。 参数: |
void javax.servlet.AsyncContext.addListener(AsyncListener listener, ServletRequest servletRequest, ServletResponse servletResponse) | 使用最新的异步循环注册给定的AsyncListener,该异步循环是通过调用其中一个ServletRequest.startAsync方法启动的。 AsyncListener实例将按添加顺序通知。 给定的ServletRequest和ServletResponse对象将分别通过传递给它的AsyncEvent的getSuppliedRequest和getSuppliedResponse方法提供给给定的AsyncListener。在传递AsyncEvent时,不应分别读取或写入这些对象,因为自从注册了给定的AsyncListener以来可能已经发生了额外的包装,但是可以使用它来释放与它们相关联的任何资源。 参数: |
void javax.servlet.AsyncContext.complete() | 完成在用于初始化此AsyncContext的请求上启动的异步操作,关闭用于初始化此AsyncContext的响应。 在调用ServletRequest.startAsync()或ServletRequest.startAsync(ServletRequest,ServletResponse)之后,以及在调用此类的某个调度方法之前,随时调用此方法是合法的。 如果在调用startAsync的容器启动的调度返回到容器之前调用此方法,则调用将不会生效(并且AsyncListener.onComplete(AsyncEvent)的任何调用都将被延迟),直到容器启动的调度具有 返回容器。 |
T javax.servlet.AsyncContext.createListener(Class<T> clazz) throws ServletException | 实例化给定的AsyncListener类。 返回的AsyncListener实例可以在通过调用其中一个addListener方法向此AsyncContext注册之前进一步自定义。 给定的AsyncListener类必须定义零参数构造函数,该构造函数用于实例化它。 如果给定的clazz表示托管Bean,则此方法支持资源注入。 有关托管Bean和资源注入的其他详细信息,请参阅Java EE平台和JSR 299规范。 |
void javax.servlet.AsyncContext.dispatch() | 将此AsyncContext的请求和响应对象调度到servlet容器。 如果异步循环是使用ServletRequest.startAsync(ServletRequest,ServletResponse)启动的,并且传递的请求是HttpServletRequest的实例,那么分派是由javax.servlet.http.HttpServletRequest.getRequestURI返回的URI。否则,在容器最后一次调度请求时,调度将发送到请求的URI。 以下序列说明了这将如何工作: //请求发送到/ url / A. 请求的调度程序类型设置为DispatcherType.ASYNC。与前向调度不同,响应缓冲区和标头不会被重置,即使响应已经提交,调度也是合法的。 对请求和响应的控制被委托给调度目标,并且在调度目标完成执行时将关闭响应,除非调用ServletRequest.startAsync()或ServletRequest.startAsync(ServletRequest,ServletResponse)。 在执行此方法期间可能发生的任何错误或异常必须由容器捕获和处理,如下所示: 在onError方法中调用所有为此AsyncContext创建的ServletRequest注册的AsyncListener实例,并通过AsyncEvent.getThrowable使捕获的Throwable可用。 抛出: |
void javax.servlet.AsyncContext.dispatch(String path) | 将此AsyncContext的请求和响应对象调度到给定路径。 path参数的解释方式与ServletRequest.getRequestDispatcher(String)中的相同,在ServletContext的范围内,初始化此AsyncContext。 请求的所有与路径相关的查询方法必须反映调度目标,而原始请求URI,上下文路径,路径信息,servlet路径和查询字符串可以从ASYNC_REQUEST_URI,ASYNC_CONTEXT_PATH,ASYNC_PATH_INFO,ASYNC_SERVLET_PATH和ASYNC_QUERY_STRING属性中恢复。请求。即使在重复调度的情况下,这些属性也将始终反映原始路径元素。 每个异步循环最多只能有一个异步调度操作,它是通过调用其中一个ServletRequest.startAsync方法启动的。在同一异步循环中执行其他异步分派操作的任何尝试都将导致IllegalStateException。如果随后在调度请求上调用startAsync,则可以调用任何调度或完整方法。 有关其他详细信息,请参阅dispatch(),包括错误处理。 参数: |
void javax.servlet.AsyncContext.dispatch(ServletContext context, String path) | 将此AsyncContext的请求和响应对象分派到作用于给定上下文的给定路径。 path参数的解释方式与ServletRequest.getRequestDispatcher(String)中的方式相同,只是它的作用域是给定的上下文。 请求的所有与路径相关的查询方法必须反映调度目标,而原始请求URI,上下文路径,路径信息,servlet路径和查询字符串可以从ASYNC_REQUEST_URI,ASYNC_CONTEXT_PATH,ASYNC_PATH_INFO,ASYNC_SERVLET_PATH和ASYNC_QUERY_STRING属性中恢复。请求。即使在重复调度的情况下,这些属性也将始终反映原始路径元素。 每个异步循环最多只能有一个异步调度操作,它是通过调用其中一个ServletRequest.startAsync方法启动的。在同一异步循环中执行其他异步分派操作的任何尝试都将导致IllegalStateException。如果随后在调度请求上调用startAsync,则可以调用任何调度或完整方法。 有关其他详细信息,请参阅dispatch(),包括错误处理。 参数: |
boolean javax.servlet.AsyncContext.hasOriginalRequestAndResponse() | 检查是否使用原始或应用程序包装的请求和响应对象初始化了此AsyncContext。 在请求进入异步模式后,在出站方向调用的过滤器可以使用此信息,以确定在异步操作期间是否需要保留在入站调用期间添加的任何请求和/或响应包装器 ,或可能会被释放。 返回: |
void javax.servlet.AsyncContext.start(Runnable run) | 使容器可能从托管线程池调度线程,以运行指定的Runnable。 容器可以将适当的上下文信息传播到Runnable。 参数: |