客官,有过滤器有拦截器,要哪一款?
这两种有啥区别?
参考资料
拦截器和过滤器的区别
怎么搞一个拦截器呢?
1、首先,写一个拦截器
public class UrlInterceptor extends HandlerInterceptorAdapter {
/**
* 在请求处理之前进行调用(Controller方法调用之前)
* 基于URL实现的拦截器
* @param request
* @param response
* @param handler
* @return
* @throws Exception
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String path = request.getServletPath();
if (。。。) {//如果这个地址是这样这样
//那么你就这样这样
return true;
} else {//如果这个地址是那样那样
//你先这样这样
// 这写你拦截需要干的事儿,比如取缓存,SESSION,权限判断等
System.out.println("==>");
//然后再这样这样
response.sendRedirect(别的地址);
//最后再这样这样
return false;//跳转要返回false
}
//明白了没有?
}
}
2、spring boot项目注册这个拦截器
@Configuration
public class WebConfigurer implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(UrlInterceptor()).addPathPatterns("/**");
}
@Bean
public UrlInterceptor UrlInterceptor() {
return new UrlInterceptor();
}
}
@Configuration这个注解会自动帮我们注册。
搞掂晒。
来源:CSDN
作者:左直拳
链接:https://blog.csdn.net/leftfist/article/details/103480262