implements HandlerInterceptor和extends HandlerInterceptorAdapter有什么差别吗
时间: 2023-11-03 13:53:23 浏览: 58
在Spring MVC框架中,实现自定义拦截器可以通过两种方式:实现HandlerInterceptor接口或继承HandlerInterceptorAdapter类。这两种方式有一些差别。
1. 实现HandlerInterceptor接口:
- 实现该接口需要实现三个方法:preHandle、postHandle和afterCompletion。
- preHandle方法在请求处理之前被调用,可以用于进行一些前置处理逻辑,如权限验证、日志记录等。
- postHandle方法在请求处理之后、视
相关问题
implements HandlerInterceptor
implements HandlerInterceptor是一个Java接口。当一个类实现了HandlerInterceptor接口后,它可以充当拦截器,用于在处理请求之前或之后执行一些特定的操作。拦截器可以用来实现身份验证、日志记录、性能监控等功能。
请注意,上述引用中给出的内容是一个代码片段,它展示了如何创建一个自定义的拦截器类,并实现HandlerInterceptor接口。在这个类中,你可以重写preHandle方法,在请求处理前执行一些逻辑。
LoginInterceptor implements HandlerInterceptor
LoginInterceptor是一个实现了HandlerInterceptor接口的拦截器。它可以用于在用户登录之前或之后进行一些预处理或后处理操作。
以下是一个示例代码,展示了如何实现LoginInterceptor:
```java
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// 在请求处理之前进行拦截操作,例如检查用户是否已登录
// 如果返回false,则请求将被中断,不会继续执行后续的处理器和拦截器
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
// 在请求处理之后进行拦截操作,例如添加一些额外的模型数据
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
// 在请求完成之后进行拦截操作,例如进行一些资源清理工作
}
}
```
在上述代码中,LoginInterceptor实现了HandlerInterceptor接口,并重写了preHandle、postHandle和afterCompletion方法。preHandle方法在请求处理之前被调用,postHandle方法在请求处理之后被调用,afterCompletion方法在请求完成之后被调用。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)