Spring 中攔截器與過濾器的區別


spring 中攔截器 與servlet 的filter 有相似之處.比如二者都是aop 編程思想的體現都能實現權限檢查,日志記錄等.

  不同之處

  1. 使用范圍不同 Filter 是Servlet 規定的.只能用於web 程序.而攔截器既可以用於Web 程序,也可以用於Apllicatioon,Swing程序中。
  2. 規范不同:Filter是在SerVlet 規范定義的,是Servlet容器支持的。而攔截器是在Spring 容器內的,Spring 框架所支持的。
  3. 使用資源不同:同其他代碼塊一樣,攔截器也是一個Spring的組件,歸Spring 管理。配置在Spring 中,因此能使用Spring 中的任何資源,對象,例如Service對象,數據源,事務管理等。通過Ioc注入到攔截器即可。而filter 則不能。
  4. 深度不同:Filter 只在Servlet前后起作用,而攔截器能深入到方法前后,異常拋出前后因而攔截器的使用具有更大的彈性,所以在spring 中優先使用攔截器。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM