Servlet Filter与Spring interceptor的差异和应用Servlet Filter与Spring interceptor

Servlet Filter与Spring interceptor的区别和应用Servlet Filter与Spring interceptor

Servlet Filter与Spring interceptor 而且在功能上差不多,都可以针对URL规则来进去处理

多个Servlet Filter的执行顺序

  顺序就是filter Mapping的配置的先后顺序,filter的执行顺序就考filter mapping在web.xml中的顺序。

多个spring interceptor的执行顺序

  spring interceptor也是这样的执行顺序,不过interceptor多一个配置参数order通过他也可以来实现interceptor的执行顺序。

Filter与interceptor的顺序

当然是Servlet Filter执行在前,spring interceptor执行在后。


个人感觉spring interceptor功能是强大一些,Filter能做的事情,他都能做,而且可以在请求前,请求后执行,比较灵活。

区别还是有一点的

Filter主要是针对URL地址做一个编码的事情、过滤掉没用的参数、安全校验(比较泛的,比如登录不登录之类),太细的话,还是建议用interceptor

interceptor就比较多了,除了上述功能,还能监控调试方法性能问题,在页面加载时,通过postHandle方法置入一些页面上的公用参数值等。