正如您所注意到的,HandlerInterceptor和ServletRequestListener都在原始servlet容器thread中執行,在那里接收請求。因為您正在進行異步處理,所以需要一個CallableProcessingInterceptor。 它的preProcess和postProcess方法在將進行異步處理的thread上執行。 因此,你需要這樣的東西: WebAsyncUtils.getAsyncManager(request)// .registerCallableInterceptor("some_unique_key", new CallableProcessingInterceptor() { @Override public <T> void postProcess(NativeWebRequest request, Callable<T> task, Object concurrentResult) throws Exception { // remove the ThreadLocal } }); 在可以訪問ServletRequest并在原始servlet容器thread中執行的方法中,例如在HandlerInterceptor#preHandle方法中。 備注:您可以使用Spring的RequestAttributes