2013-08-27 74 views
1

我正在尋找一種方式在春季攔截webmvc傳入的HTTP請求和響應。我需要重寫整個請求和響應。春webmvc攔截器重寫請求和響應

在混凝土,我需要接收的請求,提取請求本體和處理該請求體就好像它是一個全新的請求(從而改寫以前被進一步處理的整個請求)。此後,我需要重寫生成的響應並以某種方式將其包裝。

誰能幫助,並提供一些指點?

感謝

+0

您可以使用過濾器? –

+0

你可以使用彈簧攔截器 –

回答

4

您可以通過實現HandlerInterceptor接口寫在Spring MVC攔截器。有三種方法需要實施。被執行的實際處理程序之前

preHandle(..)被調用;在執行該處理程序後

postHandle(..)被調用;在整個請求完成後

afterCompletion(..)被調用。

這三種方法應該提供足夠的靈活性來做各種預處理和後處理。

瞭解更多關於如何放置在過濾用SpringMVC:http://viralpatel.net/blogs/spring-mvc-interceptor-example/

+0

我很抱歉,這不是重寫請求的正確方法。正確的方法是不使用SpringWebMVC,而是依賴簡單的servlet api。幾天後,我在http://stackoverflow.com/questions/1046721/accessing-the-raw-body-of-a-put-or-post-request/1048123#1048123找到了正確答案 – user1052080