徐州住房和城乡建设部网站,北京精兴装饰公司口碑怎么样,主机服务器网站 怎么做,苏州做网站价格介绍
拦截器和过滤器的功能都差不多#xff0c;拦截器是SpringBoot的#xff0c;而且过滤器是Servlet的 SpringBoot过滤器
拦截器-过滤器 执行顺序 发起请求-》过滤器-》拦截器-》接口 创建拦截器
实现HandlerInterceptor 的接口#xff0c;并且实现他都三个方法
preHan…介绍
拦截器和过滤器的功能都差不多拦截器是SpringBoot的而且过滤器是Servlet的 SpringBoot过滤器
拦截器-过滤器 执行顺序 发起请求-》过滤器-》拦截器-》接口 创建拦截器
实现HandlerInterceptor 的接口并且实现他都三个方法
preHandle 进入controller前执行 true放行 false不放行postHandle controller运行完成后执行afterCompletion 视图渲染完毕后执行 最后执行的方法
三个方法都默认实现按要求保留即可
Component //交给IOC容器管理
public class RequestInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//进入controller前执行 true放行 false不放行//拦截到执行的操作// return HandlerInterceptor.super.preHandle(request, response, handler);return true;}Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {//controller运行完成后执行// HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);}Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {//视图渲染完毕后执行 最后执行的方法// HandlerInterceptor.super.afterCompletion(request, response, handler, ex);}}注册拦截器配置类
配置类继承接口WebMvcConfigurer 并实现他都addInterceptors方法
Configuration //表示该类为配置类
public class WebConfig implements WebMvcConfigurer {Autowiredprivate RequestInterceptor interceptor;Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(interceptor).addPathPatterns(/**);//拦截所有的请求// registry.addInterceptor(interceptor)
// .addPathPatterns(/user)//需要拦截的请求
// .excludePathPatterns(/login);//不需要拦截的请求}
}拦截路径的配置
/* 拦截所有一级路径如/login 或 /user …/** 拦截任意路径如/login 或 /user/1 或 /deletes/user/1/user/* 拦截/user的任意一级路径 如/user/login不可以拦截二级如/user/deletes/2/user/** 拦截/user下的任意路径