很多人都了解过滤器也听说过拦截器,但是要是区分它们的不同点还真是真的说不清楚,一下可以简要的说明:
1、拦截器是基于java的反射机制的,而过滤器是基于函数回调
2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器
3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用
4、拦截器可以访问action上下文、值栈里的对象,而过滤器不能
5、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。
--------------------------------------------------------------------------------
拦截器是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法。是基于JAVA的反射机制。
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
{
Object result = null;
System.out.println("before invoke method :" + method.getName());
result = method.invoke(this.targetObj, args);
System.out.println("after invoke method : " + method.getName());
return result;
}
过滤器是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者struts的action前统一设置字符集,或者去除掉一些非法字符(聊天室经常用到的,一些骂人的话)。
分享到:
相关推荐
Struts2 中拦截器与过滤器的区别及执行顺序 Struts2 中的拦截器(Interceptor)和过滤器(Filter)是两个不同的概念,虽然它们都可以影响请求的处理过程,但它们的作用域、执行顺序和实现机制都有所不同。 拦截器...
**拦截器与过滤器的区别** 1. **实现机制**:拦截器基于Java反射,而过滤器基于函数回调。 2. **依赖关系**:过滤器依赖于Servlet容器,而拦截器不依赖。 3. **作用范围**:拦截器只对Action请求起作用,而过滤器...
### 拦截器与过滤器的区别 #### 一、概念简介 在现代软件开发过程中,特别是Web应用程序中,为了实现灵活高效的业务逻辑处理及控制流管理,常常会使用到两种设计模式:拦截器(Interceptor)与过滤器(Filter)。...
本文将深入探讨Struts框架中的拦截器(Interceptor)以及它与过滤器(Filter)的区别,并结合文件上传功能进行讲解。 1. 拦截器与过滤器的概念 - **拦截器**:在Struts2框架中,拦截器是基于AOP(面向切面编程)的...
综上所述,"拦截器过滤器.rar"这个压缩包文件是一个关于如何在Web应用中实施拦截器和过滤器的学习资源,涵盖了拦截器与过滤器的基本概念、用法以及可能的问题处理。通过学习和实践这些示例,你可以提升自己在处理...
本文主要介绍了 Spring Boot 项目实战之拦截器与过滤器,包括拦截器和过滤器的基本概念、过滤器的配置等。 一、拦截器与过滤器 在 Spring Boot 项目中,拦截器和过滤器都是用来实现横向扩展功能的,例如在所有的 ...
在本文中,我们将深入探讨如何在Spring Boot应用中使用拦截器(Interceptor)和过滤器(Filter)来处理用户的登录session。这两个组件都是Spring框架的重要部分,它们在处理HTTP请求和响应时发挥着关键作用。 首先...
过滤器和拦截器是两种在Java Web开发中用于处理请求的机制,它们在功能上有相似之处,但在实现方式和使用场景上存在显著区别。这里我们将深入探讨这两种技术,以及它们在Spring MVC框架中的应用。 首先,拦截器是...
本项目主要关注的是如何使用过滤器(Filter)和拦截器(Interceptor)来实现登录页面的控制与跳转。以下是对这些知识点的详细说明: 1. **SpringBoot**: SpringBoot是Spring框架的一个子项目,旨在简化Spring应用...
浅谈基于过滤器与拦截器的用户访问控制,stuts2中拦截器和过滤器的应用
与过滤器相比,拦截器更具有面向对象的特性,能够对方法进行拦截,且具备链式调用的能力。在Spring MVC中,我们可以通过实现HandlerInterceptor接口或者继承AbstractHandlerInterceptorAdapter类来创建自定义拦截器...
#### 八、拦截器与过滤器的区别 虽然拦截器和过滤器都可以用于处理请求和响应的通用性问题,但它们之间存在一些重要的区别: 1. **生命周期**:过滤器是由Servlet容器管理的,其生命周期与容器相同;而拦截器是由...
Filter过滤器与Interceptor拦截器有很多相似
在本项目中,过滤器可能与拦截器协同工作,同样负责验证用户登录状态。通常,过滤器通过实现`javax.servlet.Filter`接口并重写`doFilter()`方法来实现。过滤器可以全局应用,对所有请求或特定URL模式生效。 **非法...
### Struts 2 过滤器与拦截器的深入解析 #### 一、概述 在Struts 2框架中,过滤器(Filter)和拦截器(Interceptor)都是用于处理请求的关键组件,但它们之间存在本质的区别。正确理解这些差异有助于开发者更高效地...
拦截器与过滤器的区别 虽然拦截器和过滤器都能在请求处理前后执行逻辑,但它们有本质区别: - **拦截器**属于Spring MVC的组成部分,运行在Servlet容器的上下文中,依赖于Spring的AOP代理。 - **过滤器**遵循...
在Java Web开发中,Spring MVC框架提供了两种机制来处理请求:拦截器(Interceptor)和过滤器(Filter)。它们都是在请求被控制器处理之前和之后执行的一系列预处理和后处理操作,但它们在功能、使用场景和工作原理...
**过滤器与拦截器的区别** 1. **层次不同**:过滤器是Servlet规范的一部分,属于容器级别;拦截器是框架级别的,依赖于特定的Web框架。 2. **调用顺序**:过滤器的执行顺序由`<filter-mapping>`在web.xml中的顺序...