拦截器与Filter的区别

拦截器与Filter的区别

  • 相似之处:都是AOP编程思想的体现,都能实现权限检查与日志记录等

  • 不同之处:

  1. 使用范围不同

    ​ Filter是Servlet规范规定的,只能用于Web程序中

    ​ 拦截器既可用于Web程序,与可用于Application,Swing程序中

  2. 规范不同

    ​ Filter是在Servlet规范定义的,是Servlet容器支持的.

    ​ 而拦截器是在Spring容器内,是Spring框架支持的

  3. 使用资源不同

    ​ 拦截器是Spring的一个组件,可以使用spring相关服务,如对象,事务,数据源

    ​ 而Filter不能

  4. 深度不同
    ​ Filter在Servlet前后启作用,拦截器则可以在方法前后,异常抛出前后