2013-08-27 42 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