首页 > IT职业 > IT生活 > 介绍一下拦截器 过滤器 和切片
1.如果你想把一些第三方的过滤器加入到你项目你可以。
@Bean
public FilterRegistrationBean timeFilter() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
TimeFilter timeFilter = new TimeFilter();
List a = new ArrayList();
//下面表示所有请求都通过 当然你可以选择你想要的
a.add("/*");
registrationBean.setFilter(timeFilter);
registrationBean.setUrlPatterns(a);
return registrationBean; 2:过滤器的一些缺点。
因为过滤器只是获得请求与相应,所以你只能从请求中获得一些参数。你要是想获得哪个控制器哪个方法处理执行的话,你是无法知道的。filter这个接口是j2ee定义的,而controller是springmvc自己定义的一套规范,所以filter是无法得知哪个控制器哪个方法处理执行的。
拦截器这个东西是spring框架本身提供的。特征就是实现了HandlerInterceptor接口。
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//controller方法在被调用之前 这个方法被调用
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
//controller方法在被调用之后 这个方法被调用,出异常的话则不被调用
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
// 不论是否有异常这个都调用
} 2实现
public class Config extends WebMvcConfigurerAdapter {
@Autowired
private timeInterceptor timeInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(timeInterceptor);
} 3.缺点下面我就来讲讲切片这个类了,对没有错 ,切片是一个类。如果你想实现它,那么你需要有两个步骤。
1:切入点(注解)——在那些方法起作用,什么时候起作用
2:增强(方法)——起作用时执行的逻辑
具体预防官网可查
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3088/viewspace-2802280/ ,如需转载,请注明出处,否则将追究法律责任。