专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java-过滤器、拦截器、切片(java中的过滤器和拦截器)

temp10 2024-11-04 14:08:26 java教程 10 ℃ 0 评论

【过滤器】

实现Filter,类上注释@Component,重写方法

Java-过滤器、拦截器、切片(java中的过滤器和拦截器)

加载第三方过滤器;新建配置类,创建Bean方法,

FilterRegistrationBean registrationBean = new FilterRegistrationBean();

TimeFilter timeFilter = new TimeFilter();

registrationBean.setFilter(timeFilter);

List<String> urls = new ArrayList<>();

urls.add("/*");

registrationBean.setUrlPatterns(urls);

return registrationBean;

缺点:最后无法知道是哪个控制器处理。

【拦截器】

实现HandlerInterceptor,类上注释@Component,重写方法。preHandle是控制器方法调用之前调用;postHandler是控制器方法调用之后调用,如果控制器抛出异常,postHandler将不会被调用;afterCompletion是除非自定义了异常捕获之外,无论是否抛出异常,都将被调用,

创建配置文件;继承WebMvcConfigurerAdapter(2.0以后被丢弃),重写addInterceptors。代码如下:4

@Autowired

private TimeInterceptor timeInterceptor;

         @Override

public void addInterceptors(InterceptorRegistry registry) {

                   registry.addInterceptor(timeInterceptor);

}

缺点:无法拿到控制器中传递的值

【切片】

切点(注解):在哪些方法上起作用;在什么时候起作用。

增强(方法):起作用时执行的业务逻辑。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表