看完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。 參數: |