我正在寻找一种方式在春季拦截webmvc传入的HTTP请求和响应。我需要重写整个请求和响应。春webmvc拦截器重写请求和响应
在混凝土,我需要接收的请求,提取请求本体和处理该请求体就好像它是一个全新的请求(从而改写以前被进一步处理的整个请求)。此后,我需要重写生成的响应并以某种方式将其包装。
谁能帮助,并提供一些指点?
感谢
我正在寻找一种方式在春季拦截webmvc传入的HTTP请求和响应。我需要重写整个请求和响应。春webmvc拦截器重写请求和响应
在混凝土,我需要接收的请求,提取请求本体和处理该请求体就好像它是一个全新的请求(从而改写以前被进一步处理的整个请求)。此后,我需要重写生成的响应并以某种方式将其包装。
谁能帮助,并提供一些指点?
感谢
您可以通过实现HandlerInterceptor
接口写在Spring MVC拦截器。有三种方法需要实施。被执行的实际处理程序之前
preHandle(..)
被调用;在执行该处理程序后
postHandle(..)
被调用;在整个请求完成后
afterCompletion(..)
被调用。
这三种方法应该提供足够的灵活性来做各种预处理和后处理。
了解更多关于如何放置在过滤用SpringMVC:http://viralpatel.net/blogs/spring-mvc-interceptor-example/
我很抱歉,这不是重写请求的正确方法。正确的方法是不使用SpringWebMVC,而是依赖简单的servlet api。几天后,我在http://stackoverflow.com/questions/1046721/accessing-the-raw-body-of-a-put-or-post-request/1048123#1048123找到了正确答案 – user1052080
您可以使用过滤器? –
你可以使用弹簧拦截器 –