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构架的程序中,要优先使用拦截器。
本文探讨了Spring框架中的拦截器与Servlet规范中的Filter之间的相似性和差异性。两者都体现了AOP编程思想,可以实现权限检查和日志记录等功能。但拦截器使用范围更广,不仅限于web应用,并且能深入到方法级别,提供更大的灵活性。
1599

被折叠的 条评论
为什么被折叠?



