2012-08-31 27 views
3

有沒有一種方法可以檢查getOutputStream是否被調用了響應?response.getOutputStream已被調用

+1

你爲什麼要這麼做? 'getOutputStream'是一個_idempotent_調用。 – Santosh

+0

@Santosh我有一個Interceptor,它執行一些任務,它在getOutputStream(ActionInvocation invocation.invoke())已經被調用的情況下給出了一個異常。 – Ankit

回答

1

一種方式是寫一個ServletFilter攔截的servlet請求,使用Decorator來包裝其response.getOutputStream()從HttpServletResponse的會告訴你的方法被調用和代表呼籲包裹HttpServletResponse返回實際輸出流。

+0

該方法將如何判斷response.getOutputStream是否已被調用,就像響應已被調用一樣,response.isComitted返回true。 – Ankit

+0

假設這將被配置爲鏈中的最後一個過濾器,以便它首先包裝來自servlet的響應。 – Vikdor

+0

我已經有一個攔截器,我需要檢查這個,我不能在ServletFilter – Ankit

相關問題