AOP在上篇文章——编程新贵AOP中已经进行了阐述。

那么现在说的Filter和拦截器又都是什么概念呢?

Filter技术是Servlet2.3新增加的功能,Servlet2.3是sun公司于2000年10月发布的,它的开发者包括许多个人和公司团体,充分体现了sun公司所倡导的代码开放性原则。在众多参与者的共同努力下,Servlet2.3比以往功能都强大了很多,而且性能也有了提高。

那么Filter有什么功能呢?Filter可以用来设置字符集、控制权限、控制转向等等。简单点说:就是定义在访问某对象之前和访问之后要做的事情。

什么又是拦截器?

拦截器是在Struts2中出现的概念。

Struts2与Struts1相比,去掉了很多概念:ForwardAction,ActionMapping,ActionForm,Action的继承也变的可有可无(如果不声明拦截器等Struts2中特有的东西)。

但是去掉了,不代表没有,只是在使用的时候,不会看到这些类的存在。若是你细细对比,在Struts2中你会找到他们的身影的。

但是Struts2多了拦截器的概念,这个概念类似于Filter,Struts2的架构其实就是基于拦截器的。

在Struts2中,还有一个概念:拦截器链(interceptor-stack)。有关于上次文件的、多选、静态参数、国际化等等好多个默认拦截器,当然也可以自己手动写拦截器。

Filter和拦截器有什么区别和联系?

二者都是运用了AOP的思想,都让系统变的可配置。

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

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

3.拦截器只能对action起作用,而过滤器可以对几乎所有的请求起作用(可以保护资源)

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

执行顺序:过滤前-拦截钱-Action处理-拦截后-过滤后。

通过上面的对比,可以看出,如果不访问Action里面的东西,那么拦截器可以做的,Filter都能做。在选择上,我更加倾向于Filter,因为用了拦截器,就带入侵入性,如果换一个别的MVC框架,这些拦截器就不能用了,而Filter不会。

AOP、Filter、拦截器,花落知多少相关推荐

  1. 框架:Spring Aop、拦截器、过滤器的区别

    Spring Aop.拦截器.过滤器的区别 Filter过滤器:拦截web访问的url地址. Interceptor拦截器:拦截以.action结尾的url,拦截Action的访问. Spring A ...

  2. JavaWeb中监听器Listener+过滤器filter+拦截器interceptor区别

    JavaWeb中监听器Listener+过滤器filter+拦截器interceptor区别 如果从整个项目中看,一个servlet请求的执行过程就变成了这样context-param–>lis ...

  3. Spring AOP与拦截器的区别

    2019独角兽企业重金招聘Python工程师标准>>> 1. 作用层面     拦截器只对action负责,作用层面一般位于Controller层     Spring AOP主要是 ...

  4. SpringBoot 之多个过滤器(Filter) ,监听器(Listener),切面(AOP),拦截器(Interceptor)的指定排序问题总结篇

    相关文章: SpringBoot 之AOP切面的使用 SpringBoot之Listener注册到Spring容器中的多种方法 SpringBoot之Interceptor拦截器注入使用 Spring ...

  5. Springboot项目Aop、拦截器、过滤器横向对比

    前言 伟人曾经说过,没有调查就没有发言权(好像是伟人说的,不管谁说的,这句话是正确的),有些东西看着简单,张口就来,但很有可能是错的.我个人的经验是,aop.过滤器.拦截器的实现方式很简单,一学就会, ...

  6. spring aop实现过程之二Spring AOP中拦截器链

    1.开始步骤--获取AopProxy主流程 ProxyCreatorSupport.java /*** Subclasses should call this to get a new AOP pro ...

  7. 实现日志管理的两种方式:aop、拦截器

    一.Spring aop 实现 AOP概念: 切面(Aspect):一个关注点的模块化,这个关注点可能会横切多个对象.事务管理是Java应用程序中一个关于横切关注点的很好的例子.在Spring AOP ...

  8. Java filter拦截器的使用

    1.web.xml配置 <!-- 验证是否登录 拦截功能 --><filter><filter-name>isLogin</filter-name>&l ...

  9. 粗略的看JFinal的基于AOP的拦截器的实现

    2019独角兽企业重金招聘Python工程师标准>>> 简单的说一下AOP的实现,所谓AOP,即(Aspect Oriented Programming)的缩写,体现在程序中就是你可 ...

  10. spring---aop(3)---Spring AOP的拦截器链

    写在前面 时间断断续续,这次写一点关于spring aop拦截器链的记载.至于如何获取spring的拦截器,前一篇博客已经写的很清楚(spring---aop(2)---Spring AOP的JDK动 ...

最新文章

  1. 计算机内存作图多大合适3d,【2人回答】你好,我想问问电脑256G内存对于学生画图设计够吗?-3D溜溜网...
  2. 亚马逊AWS:正确设置FTP
  3. Oracle高级查询
  4. java des加密类_java的DES加密解密辅助类
  5. java实训遇到问题解决_「instantiationexception」关于java出现 java.lang.InstantiationException异常的分析与解决方案 - seo实验室...
  6. c语言单链表中头结点的创立,一个关于C语言链表头结点的问题
  7. 传统白板行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  8. python调试利器pysnooper
  9. 【原创】FPGA开发手记(三) PS/2键盘
  10. (转)对冲基金投身“另类数据”淘金热
  11. matlab2014a VS2010混合编程
  12. 关于cnt++和++cnt
  13. mac虚拟摄像头插件_【OBS虚拟摄像头插件下载】OBS VirtualCam(OBS虚拟摄像头插件) v2.0.5 官方最新版-开心电玩...
  14. oracle 甩手 java ee,谈判失败,Oracle 亲手把 Java EE 送上断头台
  15. 浅谈巫师2的战斗难度策略
  16. throw inside finally block
  17. 系统集成项目管理工程师自学能考过吗?
  18. webix框架中文版_Webix框架介绍
  19. 登陆u9显示404服务器错误,U9常见技术问题分析与解决.docx
  20. 【零样本草图检索】Zero-Shot Sketch-Image Hashing

热门文章

  1. 计算机断电后自动启动,我的计算机最近一启动就不断自动上电和断电
  2. 电脑断电后无法正常启动怎么办?
  3. 浅析WeakHashMap
  4. 我所经历的ERP项目的失败
  5. 《提问艺术》读书笔记
  6. Github 个人首页的 README,这样玩儿~
  7. 自然码双拼26个韵母与键位的对应表
  8. springboot整合Easy-Captcha
  9. 北航2021届计组 -- 单周期CPU设计
  10. HTML中placeholder字体颜色,修改input中placeholder字体颜色方法