美文网首页
SpringMVC的拦截器(Interceptor)和过滤器(F

SpringMVC的拦截器(Interceptor)和过滤器(F

作者: 紫雨杰 | 来源:发表于2018-04-22 16:45 被阅读0次

    过滤器:

    ●  过滤器(Filter)依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤
    
    ●  缺点是一个过滤器实例只能在容器初始化时调用一次。
    
    ●  使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据,
       比如:在过滤器中修改字符编码;在过滤器中修改HttpServletRequest的一些参数,包括:过滤低俗文字、危险字符等
    

    拦截器:

    ●  依赖于web框架,在SpringMVC中就是依赖于SpringMVC框架。在实现上基于Java的反射机制,属于面向切面编程(AOP)的一种运用。
       由于拦截器是基于web框架的调用,因此可以使用Spring的依赖注入(DI)进行一些业务操作。
    
    ●  一个拦截器实例在一个controller生命周期之内可以多次调用。
    
    ●  缺点是只能对controller请求进行拦截,对其他的一些比如直接访问静态资源的请求则没办法进行拦截处理
    

    多个过滤器与拦截器的代码执行顺序

    ●  多个过滤器的执行顺序跟xml文件中定义的先后顺序有关
    
    ●  对于多个拦截器它们之间的执行顺序跟在SpringMVC的配置文件中定义的先后顺序有关
    
    对于整个SpringMVC的执行流程来说,如果加上上面的拦截器和过滤器,其最终的执行流程就如下图所示:
    100928071536053.png

    相关文章

      网友评论

          本文标题:SpringMVC的拦截器(Interceptor)和过滤器(F

          本文链接:https://www.haomeiwen.com/subject/rcjzkftx.html