`

SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系

 
阅读更多
1.过滤器:

  依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据.

  比如:在过滤器中修改字符编码;在过滤器中修改         HttpServletRequest的一些参数,包括:过滤低俗文字、危险字符等

  关于过滤器的一些用法可以参考我写过的这些文章:

    继承HttpServletRequestWrapper以实现在Filter中修改HttpServletRequest的参数:https://www.zifangsky.cn/677.html

    在SpringMVC中使用过滤器(Filter)过滤容易引发XSS的危险字符:https://www.zifangsky.cn/683.html

2.拦截器:

  依赖于web框架,在SpringMVC中就是依赖于SpringMVC框架。在实现上基于Java的反射机制,属于面向切面编程(AOP)的一种运用。由于拦截器是基于web框架的调用.

  因此可以使用spring的依赖注入(DI)进行一些业务操作,同时一个拦截器实例在一个controller生命周期之内可以多次调用。但是缺点是只能对controller请求进行拦截,对其他的一些比如直接访问静态资源的请求则没办法进行拦截处理。

  关于拦截器的一些用法可以参考我写过的这些文章:

    SpringMVC中使用拦截器(interceptor)拦截CSRF攻击(修):
         https://www.zifangsky.cn/671.html
    SpringMVC中使用Interceptor+cookie实现在一定天数之内自动登录
         https://www.zifangsky.cn/700.html

3.执行顺序

  过滤器的运行是依赖于servlet容器的,跟springmvc等框架并没有关系。并且多个过滤器的执行顺序跟web.xml文件中定义的先后关系有关。

  拦截器的执行顺序跟在SpringMVC的配置文件中定义的先后顺序有关。

http://www.cnblogs.com/michaelShao/p/6693661.html

上传附件,限制了10M,所以把原有的mybatis-3.3.1.jar从lib里删除了,在运行时,需要把mybatis-3.3.1.jar再添加进去

SpringMVC拦截器
https://www.cnblogs.com/Leo_wl/p/3779547.html

处理器拦截器(HandlerInterceptor)详解
http://www.jianshu.com/p/1e8d088c2be9

springMVC:HandlerInterceptor拦截器的使用
https://www.cnblogs.com/sunp823/p/5601396.html
http://blog.csdn.net/qwe6112071/article/details/51099437
分享到:
评论

相关推荐

    SpringMVC拦截器

    ### SpringMVC拦截器 #### 一、拦截器概述 拦截器(Interceptor)是一种轻量级、低侵入式的AOP实现方式,在SpringMVC框架中有着广泛的应用。它主要用于处理那些与业务逻辑无关但又频繁出现的功能需求,如日志记录...

    springmvc 拦截器

    9. **与其他过滤器的区别** 虽然拦截器与Servlet Filter在功能上有相似之处,但它们的执行时机和作用范围不同。Filter更底层,作用于所有请求,而拦截器只作用于Spring MVC的请求处理路径。 10. **最佳实践** - ...

    浅谈SpringMVC的拦截器(Interceptor)和Servlet 的过滤器(Filter)的区别与联系 及SpringMVC 的配置文件

    在本文中,我们将深入探讨SpringMVC的拦截器(Interceptor)和Servlet的过滤器(Filter)之间的差异和联系,以及如何配置SpringMVC的拦截器。理解这两者的区别对于开发高效且安全的Web应用程序至关重要。 首先,让我们...

    浅谈springMVC拦截器和过滤器总结

    在Spring MVC中,有两种常见的机制可以用来对访问的URL进行拦截处理:拦截器(Interceptor)和过滤器(Filter)。这两者都可以实现预处理和后处理功能,但它们的工作方式和应用场景有所不同。 ### 拦截器...

    Spring mvc拦截器实现原理解析

    它类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。 拦截器与过滤器的区别: * 过滤器是Servlet规范中的一部分,任何Java Web工程都可以使用...

    完整版 Java开发实训课程系列-SpringMVC框架技术教程 第8章 拦截器 (共12页).pptx

    拦截器在SpringMVC中扮演着重要的角色,它们类似于Servlet的过滤器Filter,可以在请求被处理器处理之前和之后执行特定的逻辑。 ### 拦截器定义 拦截器是SpringMVC中一种可插拔的机制,允许开发者在请求被控制器处理...

    SpringMVC第三天.pdf

    2. **自定义拦截器与过滤器(Filter)的区别** - **过滤器**:是一种更底层的技术,可以拦截任何HTTP请求,无论是否是通过SpringMVC处理的请求。 - **自定义拦截器**:仅能拦截通过SpringMVC处理的请求,即那些映射...

    过滤器与过滤器

    在Java Web开发中,过滤器(Filter)和拦截器(Interceptor)是两种常见的处理请求和响应的机制。它们主要用于在请求被实际处理之前或之后执行某些预定义的任务,如认证、授权、数据转换、日志记录等。在这个基于...

    SSM整合 配置文件 文件上传 过滤器 拦截器 连接数据库

    **拦截器(Interceptor)**:SpringMVC中的拦截器类似于AOP的切面,可以对Controller方法执行前后的逻辑进行拦截,如权限校验、日志记录等。定义自定义Interceptor并注册到SpringMVC配置中。 **连接数据库**:在SSM...

    浅析java中 Spring MVC 拦截器作用及其实现

    现在,我们比较一下拦截器和过滤器(Filter)的区别: 1. **依赖关系**:拦截器是基于Spring框架,依赖于反射机制,仅能处理请求;而过滤器基于Servlet规范,通过回调函数实现,过滤范围更广,可以处理请求和响应。...

    servlet和springmvc源码servlet和springmvc源码

    - **Interceptor**:拦截器可以预处理请求和后处理响应,实现AOP(面向切面编程)的功能。 3. **SpringMVC中的注解驱动开发:** - `@RequestMapping`:用于映射请求URL到处理方法。 - `@RequestParam`:获取请求...

    springMVC项目开发框架

    5. **拦截器(Interceptor)**:SpringMVC中的拦截器可以对请求和响应进行拦截,实现通用的功能,如登录验证、日志记录、性能监控等。它们是AOP(面向切面编程)的一种体现,可以避免在每个控制器方法中重复代码。 ...

    SpringMVC讲义大全.docx

    SpringMVC的拦截器(Interceptor)和过滤器(Filter)允许开发者在请求处理前或处理后执行自定义逻辑,例如实现日志记录、权限验证等功能。拦截器通过实现`HandlerInterceptor`接口并注册到Spring容器中,而过滤器则...

    springmvc权限验证demo

    3. **拦截器与过滤器**:Spring MVC的权限验证通常结合拦截器(`HandlerInterceptor`)和过滤器(`Filter`)一起使用。`Filter`可以用于全局的请求处理,如登录检查、CSRF防护等,而`Interceptor`则可以对特定的...

    SpringBoot实现过滤器、拦截器与切片的实现和区别

    SpringBoot实现过滤器、拦截器与切片的实现和区别 过滤器(Filter)是J2EE中来的,可以看做是Servlet的一种“加强版”,它主要用于对用户请求进行预处理和后处理,拥有一个典型的处理链。Filter也可以对用户请求...

    微服务的登录校验(gateway过滤器or拦截器实现)

    本文将探讨两种实现登录校验的方法:使用Gateway过滤器和Spring MVC拦截器,这两种方法都可以有效地解决权限管理和登录状态验证的问题。 **过滤器(Filter)** 过滤器是基于Servlet规范的组件,它可以拦截所有请求...

    SpringMVC演示项目

    4. **SpringMVC 中间件**:例如拦截器(Interceptor)、过滤器(Filter),实现日志记录、权限控制等功能。 通过这个简单的 SpringMVC 项目,你可以深入理解 MVC 架构以及 SpringMVC 如何处理 HTTP 请求、如何与...

    SpringMVC+shiro项目实例

    3. **Spring Security Interceptor**:可以使用Spring MVC的拦截器机制,结合Shiro进行权限控制。 4. **Session共享**:如果项目中有多个应用,可以通过Shiro的SessionManager和CacheManager配置来实现跨应用的会话...

    SpringBoot定义过滤器、监听器、拦截器的方法

    在SpringBoot中定义和使用过滤器(Filter)、监听器(Listener)和拦截器(Interceptor)是构建Web应用中常见的需求,这些组件分别用于不同的目的,提供灵活的处理请求和响应的方式。下面将详细介绍如何在SpringBoot...

Global site tag (gtag.js) - Google Analytics