拦截器与Filter的区别

Spring的拦截器与Servlet的Filter。

相同点:(1)都是AOP编程思想的体现。

(2)都能实现权限检查,日志记录等。

不同:

(1)使用范围不同:Filter是Servlet规范规定的,只能用于web程序中。拦截器既可用于web程序,也可用于application,swing程序中。

(2)规范不同:Filter是在Servlet规范中定义的,是servlet容器支持的。拦截器是spring的。

(3)使用的资源不同:同其他代码块一样,拦截器也是一个srping的组件,归spring管理,配置在spirng文件中,因此能使用spring里的任何资源,对象,例如service对象,数据源,事务管理等,通过ioc注入到拦截器即可,而filter则不能。

(4)深度不同:filter只在servlet前后起作用。而拦截器能够深入到方法前后,异常抛出前后等,因此拦截器的使用具有更大弹性。所以在spring构架的程序中,要优先使用拦截器。


猜你喜欢

转载自blog.csdn.net/ld705454682/article/details/78312295