Listener 与 Filter 的区别是什么

Listener 与 Filter 的区别是:Filter是过滤器,过滤一些你不想要的东西,Listener是Servlet的监听器,可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作。listener是监听器,通常都是监听并加载一些插件用的,比如spring。log4j等。

Listener 与 Filter 的区别是什么-Worktile社区

Filter

Filter是过滤器,过滤一些你不想要的东西,Listener是Servlet的监听器,可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作。

Filter可以实现对请求的过滤和重定向等,也就是说可以操作request和response,session等对象,listner只能监听到以上对象的属性的修改。

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

FilterChain 是 servlet 容器为开发人员提供的对象,它提供了对某一资源的已过滤请求调用链的视图。

过滤器使用 FilterChain 调用链中的下一个过滤器,如果调用的过滤器是链中的最后一个过滤器,则调用链末尾的资源。只要多个Filter对同一个资源进行拦截就可以形成Filter链,由<filter-mapping>来确定。Interceptor是struts的核心控制器,负责拦截所有用户请求。

Listener

listener是监听器,通常都是监听并加载一些插件用的,比如spring。log4j等。

按照监听对象的划分,可以分为三种:

ServletContext监控:对应监控application内置对象的创建跟销毁.

当web容器开启时,执行contextInitialized方法;当容器关闭或者重启时,执行contextDestroyed方法.实现方式:直接实现ServletContextListener接口。

HttpSession监控:对应监控session内置对象的创建和销毁。

当打开一个新的页面时,开启一个session会话,执行sessionCreated方法;当页面关闭session过期时,或者容器关闭销毁时,执行sessionDestroyed方法实现方式:直接实现HttpSessionListener接口。

ServletRequest监控:对应监控request内置对象的创建和销毁。

当访问某个页面时,出发一个request请求,执行requestInitialized方法;当页面关闭时,执行requestDestroyed方法。实现方式,直接实现ServletRequestListener接口。

延伸阅读:

什么是Java Web?

Java Web,是用Java技术来解决相关web互联网领域的技术栈。web包括:web服务端和web客户端两部分。Java在客户端的应用有Java Applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP、第三方框架等等。Java技术对Web领域的发展注入了强大的动力。

Internet上供外界访问的Web资源分为:静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。静态web资源开发技术:HTML、CSS。动态web资源开发技术:JavaScript、JSP/Servlet、ASP、PHP等。在Java中,动态web资源开发技术统称为Java Web。

文章标题:Listener 与 Filter 的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38035

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编的头像小编

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部