postHandle
时间: 2024-01-09 18:05:27 浏览: 45
详解利用SpringMVC拦截器控制Controller返回值
`postHandle` 是 Spring MVC 框架中用于处理请求后的拦截器方法之一。它在 Controller 方法执行完成、视图渲染之前被调用,可以用于对请求做一些处理,比如添加公共数据、记录请求日志等。`postHandle` 方法的定义如下:
```java
void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception;
```
其中,`request` 和 `response` 对象表示当前请求和响应,`handler` 对象表示当前请求的处理器(一般是 Controller 方法),`modelAndView` 对象表示当前请求的视图和模型数据。在 `postHandle` 方法中,我们可以根据需要对这些对象进行操作,比如:
```java
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
// 向视图中添加公共数据
modelAndView.addObject("appName", "MyApp");
// 记录请求日志
String log = String.format("Request %s %s %s", request.getMethod(), request.getRequestURI(), request.getRemoteAddr());
logger.info(log);
}
```
需要注意的是,如果在 `preHandle` 方法中返回了 `false`,则 `postHandle` 方法不会被执行。
阅读全文