1.过滤器
(1)什么是过滤器?
Servlet规范当中定义的一种特殊的组件,用来拦截servlet容器的调用过程。
注:
容器收到请求之后,会先调用过滤器,再调用后续的其它组件。
(2)如何写一个过滤器?
step1.写一个java类,实现Filter接口。
step2.在接口方法当中,实现拦截处理逻辑。
step3.配置过滤器(web.xml)。
(3)过滤器优先级
当有多个过滤器都符合拦截的要求,则依据配置的先后顺序来执行。
(4)初始化参数
step1.配置初始化参数
step2.调用FilterConfig的getInitParameter方法读取初始化参数。
(5)过滤器的优点
a.在不修改原有代码的基础上,为系统增加一些新的简单的功能。
b.将多个模块相同的功能集中写在一个类里面,方便代码的维护。
举例:
检查评论的字符的个数,如果超过10个字符,则
提示“评论的字数过多”。
2.监听器
(1)什么是监听器?
servlet规范当中定义的一种特殊的组件,用于监听servlet容器产生的事件并进行相应的处理。
注:
容器会产生两大类事件:
1)第一大类:生命周期相关的事件。
容器创建或者销毁了request,session,servlet上下文时产生的事件。
2)第二大类:绑订数据相关的事件。
调用了request,session,servlet上下文的setAttribute和removeAttribute方法时产生的事件。
(2)如何写一个监听器?
step1.写一个java类,依据监听的事件类型,选择实现对应的监听器接口。
注:
比如,要监听session创建和销毁对应的事件,需要实现
HttpSessionListener接口。
step2.在接口方法当中,实现监听处理逻辑。
step3.配置监听器。(web.xml)
举例
在线网友统计人数