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

JAVA herman 661浏览 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的关系和区别。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763,QQ2群:454796847,QQ3群:187424846。QQ群进群密码:xttblog,想加微信群的朋友,可以微信搜索:xmtxtt,备注:“xttblog”,添加助理微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

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