解释一下Java反射,aop,拦截器,过滤器。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解释一下Java反射,aop,拦截器,过滤器。相关的知识,希望对你有一定的参考价值。

java反射:java程序在运行的时候能够获取类与对象的信息并使用对象。
AOP:面向切面编程,目前很火,采集动态代理模式实现,用于日志、事务、权限、异常处理等。
拦截器:Struts与Spring都有拦截器,都是基于AOP思想实现的。
过滤器:是sevlet里的概念,使用的是责任链模式。

这些东西很难用一句话说清楚,我只是按自己的理解简略的说下,想搞清楚建议先学习下java的动态代理。
参考技术A 参考http://baike.haosou.com/doc/5458411-5696799.html 参考技术B 这几句话说不清的

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

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

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

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

  • Interceptor拦截器:拦截以 .action结尾的url,拦截Action的访问。 

  • Spring AOP拦截器:只能拦截Spring管理Bean的访问(业务层Service)

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


以上是关于解释一下Java反射,aop,拦截器,过滤器。的主要内容,如果未能解决你的问题,请参考以下文章

java web 拦截器过滤器理解

aop的实现原理

java web 过滤器跟拦截器的区别和使用

20170723-Ioc与AOP

java web 过滤器跟拦截器的区别和使用

SpringMVCFilter过滤器AOP切面类Interceptors拦截器各自的执行顺序