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

 更新时间:2016年04月05日 09:58:36   作者:沧海小强  
这篇文章主要介绍了struts2过滤器和拦截器的区别,简单分析了struts2框架中过滤器和拦截器的概念与相关使用区别,需要的朋友可以参考下

本文分析了struts2过滤器和拦截器的区别。分享给大家供大家参考,具体如下:

一、本质区别:

1. 拦截器是基于java的反射机制的,而过滤器是基于函数回调。

2. 拦截器不依赖与servlet容器,过滤器依赖与servlet容器。

3. 拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。

4. 拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。

5. 在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次

二、使用区别:

过滤器 是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,
比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),
或者在传入servlet或者 struts的action前统一设置字符集,
或者去除掉一些非法字符(聊天室经常用到的,一些骂人的话)。。。

拦截器 可通过的是符合条件的action。 拦截器本身是一个普通的Java对象,它能动态拦截Action调用,

Action执行前后执行拦截器本身提供的各种个样的Web项目需求。也可以阻止Action的执行,同时也可以提取
Action中可以复用的部分。

(是在面向切面编程的,就是在你的service或者一个方法前调用一个方法,或者在方法后调用一个方法,比如动态代理就是拦截器的简单实现,在你调用方法前打印出字符串(或者做其它业务逻辑的操作),也可以在你调用方法后打印出字符串,甚至在你抛出异常的时候做业务逻辑的操作。)

更多关于Struts相关内容感兴趣的读者可查看本站专题:《Struts框架入门与进阶教程》、《Spring框架入门与进阶教程》及《Hibernate框架入门与进阶教程》。

希望本文所述对大家基于Struts框架的Java程序设计有所帮助。

相关文章

  • spring boot基于注解的声明式事务配置详解

    spring boot基于注解的声明式事务配置详解

    这篇文章主要介绍了spring boot基于注解的声明式事务配置详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • SpringBoot如何对LocalDateTime进行格式化并解析

    SpringBoot如何对LocalDateTime进行格式化并解析

    这篇文章主要介绍了SpringBoot如何对LocalDateTime进行格式化方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Spring Boot 各种回滚操作实战教程(自动回滚、手动回滚、部分回滚)

    Spring Boot 各种回滚操作实战教程(自动回滚、手动回滚、部分回滚)

    这篇文章主要介绍了Spring Boot 各种回滚操作实战教程(自动回滚、手动回滚、部分回滚),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • Maven配置项目依赖使用本地仓库的方法汇总(小结)

    Maven配置项目依赖使用本地仓库的方法汇总(小结)

    这篇文章主要介绍了Maven配置项目依赖使用本地仓库的方法汇总(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 如何使用JAVA实现数字水印

    如何使用JAVA实现数字水印

    本文介绍了如何使用JAVA实现数字水印,主要用到了java.awt包中的AlphaComposite类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-07-07
  • SpringBoot集成ElasticSearch的示例代码

    SpringBoot集成ElasticSearch的示例代码

    Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎,本文给大家介绍SpringBoot集成ElasticSearch的示例代码,感兴趣的朋友一起看看吧
    2022-02-02
  • SpringBoot整合Swagger教程详解

    SpringBoot整合Swagger教程详解

    SpringBoot是一个基于Spring框架的轻量级开源框架,它的出现极大地简化了Spring应用的搭建和开发,本文将介绍如何在SpringBoot中使用Swagger来实现接口文档的自动生成,感兴趣的同学可以参考一下
    2023-04-04
  • java枚举enum和Enum类的使用

    java枚举enum和Enum类的使用

    本文主要介绍了java枚举enum和Enum类的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Java 日期格式加上指定月数(一个期限)得到一个新日期的实现代码

    Java 日期格式加上指定月数(一个期限)得到一个新日期的实现代码

    这篇文章主要介绍了Java 日期格式加上指定月数(一个期限)得到一个新日期的实现代码,需要的朋友可以参考下
    2018-05-05
  • 详解java中DelayQueue的使用

    详解java中DelayQueue的使用

    这篇文章主要介绍了java中DelayQueue的使用,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-10-10

最新评论