`

过滤器和拦截器

阅读更多
很多人都了解过滤器也听说过拦截器,但是要是区分它们的不同点还真是真的说不清楚,一下可以简要的说明:
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前统一设置字符集,或者去除掉一些非法字符(聊天室经常用到的,一些骂人的话)。
转自http://blog.sina.com.cn/s/blog_5396eb530100fnvu.html
分享到:
评论

相关推荐

    Struts 2 过滤器和拦截器的区别

    通过对Struts 2框架中过滤器和拦截器的核心区别以及具体应用场景的分析,我们可以看到,虽然两者都能实现类似的功能(如权限验证),但它们的工作方式和技术基础存在明显差异。选择合适的技术方案取决于实际项目的...

    过滤器和拦截器区别区别

    过滤器和拦截器的区别 过滤器和拦截器是两个常见的概念在 Java Web 开发中,它们都可以用来对请求进行处理和过滤,但是它们之间有着本质的区别。 首先,从机制上来说,拦截器是基于 Java 的反射机制的,而过滤器是...

    拦截器和过滤器的区别

    ### 拦截器与过滤器的区别 #### 一、概念简介 在现代软件开发过程中,特别是Web应用程序中,为了实现灵活高效的业务逻辑处理及控制流管理,常常会使用到两种设计模式:拦截器(Interceptor)与过滤器(Filter)。...

    过滤器与拦截器的区别

    总结来说,过滤器和拦截器在Web开发中各自扮演着重要的角色,过滤器更偏向于标准化的请求处理,而拦截器则提供了更灵活的控制点,能更好地适应复杂的应用场景。了解它们的区别和应用场景,可以帮助开发者更高效地...

    通过实例解析java过滤器和拦截器的区别

    通过实例解析Java过滤器和拦截器的区别 Java过滤器和拦截器是两个常用的Web应用程序组件,它们之间的区别是什么呢?本文将通过实例解析,详细介绍Java过滤器和拦截器的区别,帮助读者更好地理解和应用它们。 1. ...

    过滤器/拦截器

    在Web开发领域,过滤器(Filter)和拦截器...了解并熟练运用过滤器和拦截器,可以帮助开发者更有效地实现Web应用的扩展功能和增强应用的可维护性。在实际开发中,应根据具体需求和所使用的框架选择合适的技术。

    struts2过滤器和拦截器的区别分析

    在Struts2框架中,过滤器...对于学习和掌握Struts2框架,理解过滤器和拦截器的工作原理及其应用场景是非常重要的。在开发过程中,结合使用两者可以提高代码的可维护性和可扩展性,同时提升整体系统的功能和性能。

    详谈springboot过滤器和拦截器的实现及区别

    springboot 过滤器和拦截器的实现及区别 Spring Boot 中的过滤器和拦截器是两个重要的概念,它们都是实现 AOP(Aspect-Oriented Programming,面向方面编程)的方式。今天,我们将详细讨论 Spring Boot 中的过滤器...

    struts过滤器(拦截器)程序.zip

    这里的`myDefaultStack`定义了一个包含默认拦截器和自定义`logger`拦截器的栈,然后在`exampleAction`中引用这个栈。`AnnotationValidationInterceptor`是一个内置拦截器,用于进行注解式的参数验证。 在压缩包中的...

    SpringBoot中使用过滤器(Filter)和拦截器(Interceptor)案例

    1、在SpringBoot中如何实现自定义过滤器(Filter)和拦截器(Interceptor) 2、通过执行案例了解多个过滤器和拦截器的执行顺序 【本案例包含源码以及可执行的jar文件,源码文件建议使用IDEA进行导入查看学习,建议使用...

    Java SpringBoot实现的过滤器(和拦截器)控制登录页面跳转

    本项目主要关注的是如何使用过滤器(Filter)和拦截器(Interceptor)来实现登录页面的控制与跳转。以下是对这些知识点的详细说明: 1. **SpringBoot**: SpringBoot是Spring框架的一个子项目,旨在简化Spring应用...

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

    3. **控制流程**:拦截器可以通过`preHandle`方法的返回值决定是否继续执行后续的拦截器和控制器,而过滤器无此功能,它总是会按照配置的顺序依次执行。 4. **使用场景**:拦截器常用于业务逻辑层面的处理,如权限...

    过滤器或拦截器跨域CORS处理

    总结,过滤器和拦截器都能有效处理CORS,选择哪种取决于你的应用场景。过滤器通常更适合全局性的配置,而拦截器则可以提供更细粒度的控制,比如根据不同的请求路径或方法添加不同的CORS策略。通过理解并正确配置这些...

    Java的过滤器与拦截器的区别.docx

    拦截器的`preHandle()`方法需要返回布尔值,决定是否继续执行后续的拦截器和Controller。 4. **灵活性**:拦截器提供了更丰富的应用场景,比如模型数据的处理、视图的处理等,而过滤器主要关注于请求和响应的原始...

    java-web -- servlet 拦截器 过滤器使用

    在Java Web开发中,Servlet、拦截...通过合理地组合和配置Servlet、过滤器和拦截器,我们可以构建出功能强大且灵活的Java Web应用。在学习和实践中,不仅要理解它们的概念,还需要掌握如何根据实际需求进行设计和优化。

    spring boot实现过滤器和拦截器demo

    总结来说,过滤器和拦截器在处理HTTP请求时都提供了预处理和后处理的能力,但它们的作用范围和调用时机有所不同。过滤器更底层,适用于全局的请求处理,而拦截器更关注业务逻辑层,适用于Spring MVC的Controller方法...

    idea+maven+springmvc 登录过滤器

    在IT行业中,构建一个安全的Web应用程序是至关重要的,而登录过滤器和请求拦截器是实现这一目标的关键组件。本文将详细讲解如何使用IntelliJ IDEA(Idea)、Maven和Spring MVC框架来创建一个登录过滤器,以及如何将...

Global site tag (gtag.js) - Google Analytics