Java Web学习总结(37)——Filter和Listener详解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://zhanghaiyang.blog.csdn.net/article/details/77155552
在基于Java-Web核心技术的开发应用中,为了一些特定的用途或目的,那么Filter和Listener就要闪亮登场了。那么这次的学习,就来聊一聊Serv-let规范中的另俩技术的核心知识点,即过滤器和监听器。
可以把Filter-过滤器看作是Serv-let程序的一种特殊用法,主要用来完成一些通用的操作,如客户端的请求/响应编码的过滤、判断用户的登录状态等。过滤器使得Servlet开发者能够在客户端请求到达Serv-let资源之前被截获并做相应的处理,在处理之后再发送给被请求的Servlet资源。在“终点站”Serv-let处理并响应,其响应还会被Filter截获,根据需要,过滤器还可以拦截处理,如修改之后再发送给用户。而Serv-let监听器可以监听客户端发出的请求、服务器端的操作等,通过监听器,可以自动激发一些操作,如监听在线人数,或其他敏感请求处理的。
需要注意的是,侦听器主要包括3类8个接口,侦听范围包括从请求到整个应用级别(应用上下文)的相关对象的操作和变化,后面会讲到。先来总体了解一下过滤器、监听器以及Serv-let的关系,简要描述如下:

Java-web核心组件应用关系图
注意:上图中,关于侦听器的位置,更可以理解为应用上下文的监控对象,它可以实现对整个web应用的不同级别的监控(根据需要实现不同的监听接口即可,后文会有进一步解释)。
二、过滤器篇-Filter

三、监听器篇-Listener



展开阅读全文

FilterListener

08-07

rnrn1.Filter是过滤器,过滤一些不友好或是你不想要的东东,rn2.Filter可以实现对请求的过滤和重定向等,也就是说可以操作request和response,session等对象rn3.Filter 是struts的核心控制器,负责拦截所有用户请求。rn4.Filter(过滤器):你可以写个类实现Filter接口,然后配置到web.xml中,那么Tomcat在接受到Http请求后首先会调用FilterChain中的第一个过滤器,为了能调用下个过滤器或真正的请求(servlet or jsp),所以你的实现类所实现的方法中必须要调用chain.doFilter(request,response),不然会得到空白页面!过滤器通常用做处理乱码,权限控制,也可以管理Hibernate中的session!rn5.Filter和servlet基本类似 可以用做servlet来用(struts2.0就是这么干的) 有reqeust请求才能运行rnrnrn1.Listener是Servlet的监听器,可以监听客户端的请求、服务端的操作等。rn通过监听器,可以自动激发一些操作。rn2.listner只能监听到以上对象的属性的修改。rn3.listener是监听器,通常都是监听并加载一些插件用的,比如spring。log4j等rn4.Listener(监听器):利用观察者模式实现,在Tomcat中,如果要对application,session,request,response等对象监听,要实现类似****Listener接口,再配置到web.xml中,那么Tomcat在启动的时候就会把你写的这些监听类实例化成对象加入到一个集合中,此后对你要监听的对象操作时,都将会调用listener中的方法,比如HttpSessionListener 可以用来监听当前在线的所有用户!rn5.listener是监听器 是系统启动就运行 一般监听都是用来事先加载系统文件的rnrnrn敬请补充or贴代码 论坛

没有更多推荐了,返回首页