AOP与拦截器、过滤器之间的关系

JAVA herman 30浏览 0评论

面试中经常会被问到拦截器,过滤器,AOP之间有什么关系。本文将探讨一下他们之间的关系。

通过前面一系列对AOP的文章的介绍,我相信大家都对AOP比较熟悉了。AOP似乎和拦截器、过滤器的功能相似。那么问题来了,aop与拦截器、过滤器是什么关系。

先来回顾一下拦截器与过滤器。如下图一网友的测试,在web.xml中注册了TestFilter1和TestFilter2。然后在spring的配置文件中配置了BaseInterceptor和TestInterceptor。得到的结果如下图所示。从图中可以看出,拦截器和过滤器都横切了业务方法,看似符合aop的思想。

拦截器和过滤器

  • Filter过滤器:拦截web访问url地址。
  • Interceptor拦截器:拦截以 .action结尾的url,拦截Action的访问。 
  • Spring AOP拦截器:只能拦截Spring管理Bean的访问(业务层Service)

拦截器与过滤器

通过上图我们详细的介绍了拦截器,过滤器,AOP的关系和区别。

本文原文出处:业余草: » AOP与拦截器、过滤器之间的关系