定义拦截器需要实现下列哪个接口( ) A、afterCompletion B、postHandle C、preHandle D、HandlerInterceptor
时间: 2023-08-11 09:03:14 浏览: 118
D、HandlerInterceptor。
在Spring MVC中,定义拦截器需要实现HandlerInterceptor接口,该接口包含了三个方法,分别是preHandle、postHandle和afterCompletion,用于在请求处理的不同阶段进行处理。
HandlerInterceptor接口定义如下:
```java
public interface HandlerInterceptor {
boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception;
void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception;
void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception;
}
```
其中,preHandle方法在请求处理之前进行调用,postHandle方法在请求处理之后进行调用,但是在视图渲染之前,即Controller方法调用之后,ModelAndView返回之前进行调用,afterCompletion方法在整个请求处理完成之后进行调用,即在视图渲染之后进行调用。
因此,本题中的正确选项是D,定义拦截器需要实现HandlerInterceptor接口。
阅读全文