过滤器 拦截器 监听器 简单介绍

来源:互联网 发布:知尖品牌 编辑:程序博客网 时间:2024/05/22 02:15

<!--在百度知道上看到的一些讲解和分析,本着共享的意愿,将其综合后总结在这里,以便促进大家的共同进步,涉及到侵权的话,希望相关作者与我联系。-->


一、简单理解

过滤器其主要特点在于:取你需要的东西,忽视那些不需要的东西!在程序中,你希望选择中篇文章中的所有数字,你就可以针对性的挑选数字!
拦截器其主要特点在于:针对你不要的东西进行拦截,比如说,在一个BBS里面你希望人家不要留“小乌鸦”的这个词,那你就可能采用拦截器!
监听器!
是一个事件处理过程,这个过程的取舍,可以让你的代码成为过滤器,还是成为拦截器~~~
比如,你想监听一段用户的数据中有没有1有的话就打印111!这就需要程序都监听用户输入的东西了!
if(***..equls('1')){ //打印111 }像这个就是去过滤其它的东西。。。。。
当然如果你把它当作一个拦截器看也可以,就是只要出现了1,你里面执行的正是反的东西,比如你输的数据中不能包含1。。。等等。
过滤器和拦截器,其实两者没有什么区别,最大的一点就是,过滤!是一个正面的东西,而拦截是一个反面的东西!过滤留下你想要的东西,拦截,针对你不需要的东西进行


二、从J2EE的角度看。

1)首先是拦截器,拦截器是一种面向方面/切面编程(AOP Aspect-Oriented Programming),而面向切面就是将多个模块的的通用服务进行分离,如权限管理、日志服务,他们在多个模块中都会用到,就可以将其各自封装为一个可重用模块。而这些通用服务的具体实现是通过拦截器来完成,比如用户客户端访问一些保密模块都应先通过权限审查的拦截器来进行权限审查,确定用户是否具有该项操作的权限后方能向下执行。2)过滤器,过滤器处于客户端与Web资源(Servlet、JSP、HTML)之间,客户端与Web资源之间的请求和响应都要通过过滤器进行过滤。举例:在过滤器中定义了禁止访问192.10.10.1这个地址,那么当客户端发出访问192.10.10.1的请求时,经过过滤器后,客户端得到的响应是出现该IP禁止访问的提示。再举个例子,我们J2EE项目中的权限管理就是通过过滤器实现的,网站有不用身份的用户(系统管理员、会员级用户、浏览者临时用户),不用身份对系统的功能模块具有不同的访问权限,可以将各功能模块以*.do命名,然后在过滤器中配置过滤*.do,就可以控制不同级别用户的访问权限了3)监听器,是针对事件而说的,可以说是事件监听器,J2EE中事件主要有三类:ServletContext事件、会话事件和请求事件。以ServletContext对象的创建事件为例,利用针对ServletContext对象创建事件的监听器来监听,一旦监听到有ServletContext对象的创建事件(比如项目启动时的初化),就读取相应的数据库连接操作来保存供调用。简单来说监听器就是监听一些对象和属性等的增加、修改和删除,一旦监听到相应事件就会触发某种活动,做出相应处理。

0 0
原创粉丝点击