Spring拦截器
HandlerInterceptorAdapter需要继承,
HandlerInterceptor需要实现
可以作为日志记录和登录校验来使用
建议使用HandlerInterceptorAdapter,因为可以按需进行方法的覆盖。
主要为3种方法:
preHandle:拦截于请求刚进入时,进行判断,需要boolean返回值,如果返回true将继续执行,如果返回false,将不进行执行。一般用于登录校验。
postHandle:拦截于方法成功返回后,视图渲染前,可以对modelAndView进行操作。
afterCompletion:拦截于方法成功返回后,视图渲染前,可以进行成功返回的日志记录。
springmvc的配置xml
springboot的注解配置
@Configurationpublic class InterceptorConfig implementsWebMvcConfigurer {private static final Logger logger = LoggerFactory.getLogger(InterceptorConfig.class);
@Overridepublic voidaddInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(authenticationInterceptor())
.addPathPatterns("/**");
registry.addInterceptor(loginInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/css/**","/images/**","/js/**","/login.html");//拦截所有请求,通过判断是否有 @LoginRequired 注解 决定是否需要登录或者通过excludePathPatterns配置不需要拦截的路径//多拦截器配置
}
Spring MVC 拦截器详解
本文详细介绍了Spring MVC中的拦截器HandlerInterceptorAdapter及其实现方式,包括三种主要的方法:preHandle、postHandle和afterCompletion。同时展示了如何在Spring Boot中配置拦截器,以及如何排除特定路径。
4339

被折叠的 条评论
为什么被折叠?



