Filter(过滤器) 和 interceptor(拦截器)的区别

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中可以复用的部分。

转载于:https://www.cnblogs.com/shirandedan/p/5287800.html

Filter(过滤器) 和 interceptor(拦截器)的区别相关推荐

  1. filter过滤器和interceptor拦截器的区别和执行顺序

    1.过滤器 过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上.它是随你的web应用启动而启动的,只初始化一次,以后就可以拦截相关请求,只有当你的web应用停止或重新部署的时候 ...

  2. SpringBoot中AOP实现落地——Filter(过滤器)、Intercepter(拦截器)、Aspect(Spring AOP)

    文章目录 一.一切要从Servlet说起 1.1什么是Servlet 1.2为什么需要Servlet 1.3Servlet如何响应用户请求 1.4Servlet与Tomcat处理请求的流程 1.5Se ...

  3. 过滤器,监听器,拦截器的区别

    一.过滤器 过滤器Filter是实现了Servlet的javax.servlet.Filter接口,主要的用途是过滤字符编码.做一些业务逻辑判断等.其工作原理是,只要你在web.xml文件配置好要拦截 ...

  4. Java Servlet 过滤器与 springmvc 拦截器的区别?

    前言:在工作中,遇到需要记录日志的情况,不知道该选择过滤器还是拦截器,故总结了一下. servlet 过滤器 定义 java过滤器能够对目标资源的请求和响应进行截取.过滤器的工作方式分为四种 应用场景 ...

  5. Servlet,过滤器,监听器,拦截器的区别

    由于最近两个月工作比较清闲,个人也比较"上进",利用工作空余时间,也继续学习了一下,某天突然想起struts2和struts1的区别的时 候,发现为什么struts1要用servl ...

  6. struts2 过滤器和拦截器的区别和使用

    struts2 过滤器和拦截器的区别和使用 java web 过滤器和拦截器的区别和使用  1.1 什么是拦截器:      拦截器,在AOP(Aspect-Oriented Programming) ...

  7. jsp/servlet过滤器和struts2拦截器的有什么区别

    jsp/servlet过滤器和struts2拦截器的有什么区别 542430725 | 浏览 3715 次  问题未开放回答  推荐于2016-11-14 01:43:29 最佳答案 过滤器,是在ja ...

  8. 杨老师带你分析 过滤器、监听器和拦截器的区别

    过滤器: Filter 监听器:Listener 拦截器:Interceptor 过滤器:是在javaWeb中,前台传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后 ...

  9. Springboot过滤器和拦截器的区别

    上两篇文章我们介绍了过滤器Filter和拦截器Intercepter,其功能都是对请求进行拦截并对请求过滤,本篇文章就介绍一下两者的区别 1. 过滤器和拦截器的区别 过滤器和拦截器触发时机不一样,过滤 ...

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

    什么是过滤器(Filter) 过滤器,是在java web中将你传入的request.response提前过滤掉一些信息,或者提前设置一些参数.然后再传入Servlet或Struts2的 action ...

最新文章

  1. (C++)异常退出情况合集(持续更新中)
  2. mysql的聚合函数综合案例_MySQL常用聚合函数详解
  3. Ubuntu:安装deb文件包
  4. Java组合实体模式~
  5. [Leetcode] Longest Valid Parentheses
  6. odbc远程连接mysql_无法使用unixodbc,libmyodbc连接到远程mysql服务器
  7. main的方法是Java_Java中的main()方法
  8. 浅谈.net事件机制
  9. python3可视化窗口操作_Python3.x+PyQtChart实现数据可视化界面(PyQtChart绘图;还有保存图片)和业务逻辑分离案例01_自己写的,有UI界面源代码...
  10. Django的rest_framework的视图之Mixin类编写视图源码解析...
  11. 关于吾爱(52)破解网注册时临时安全验证码以及填完信息没有确认或提交按钮的问题
  12. 信号峰拟合的MATLAB程序,包括高斯拟合,多高斯拟合等多种类型
  13. Ubuntu配置固定IP
  14. 用Python写个「倒计时」软件
  15. 禁用MacOS系统自带输入法最简单的方法
  16. git add .卡住不动
  17. 【ArangoDB 介绍】
  18. sql中return/break/continue解释
  19. 如何确定windows右下角弹出的窗口是哪个程序搞的鬼
  20. git push提示dst refspec XXX matches more than one

热门文章

  1. java的语法知识_Java语法知识点
  2. swift 过滤字符串_使用Swift提取字符串中的最后一个单词
  3. java package报错_Java从入门到精通(一)
  4. 关于计算机英语手抄报全国一等奖,英语手抄报:Walking to School
  5. springcloud 之 路由网关 zuul
  6. HOG特征(Histogram of Gradient)学习总结
  7. 【人体姿态估计2】Real-time Multi-person 2d pose estimation using part affinity fields_2017
  8. 统计学习方法(九)EM算法及其推广
  9. 深度学习术语_您应该意识到这些(通用)深度学习术语和术语
  10. 随机森林分类器_建立您的第一个随机森林分类器