简介
Listener是Servlet的监听器,监听器会响应特定事件,然后触发相关代码的执行。比如来了会话的创建和销毁、属性的操作等事件后,执行事先设计好的代码,实现业务上的需求。
监听器分类
根据监听的对象划分成三类
1)监听ServletConext对象,实现ServletContextListener、
ServletContextAttributeListenser接口
2)监听HttpSession对象,实现HttpSessionListener、HttpSessionAttributeListener接口
3)监听ServletRequest对象,实现ServletRequestListener、ServletRequestAttributeListener
生命周期
Listener与Servlet和Filter都有生命周期,Servlet默认是客户第一次请求时容器负责其实例化,Listener和Filter一样都会随着容器的启动而启动,容器关闭时将其销毁。
实现监听器
根据要监听的对象选择相应接口并实现,比如监听客户端的请求操作。
STEP1
编写监听器JAVA代码
STEP2
在web.xml中陪置监听器
从Servlet3.0开始可采用“零配置”的新特征来配置监听器,我们在原码中采用注解方式配置,简化开发提高效率。
Stpe2的配置可简化为以下代码
应用案例
1.需求
统计站点在线人数。
2.思路
当有新客户访问站点时,容器会创建新会话并触发会话创建事件,会话超时也会触发会话销毁事件。在HttpSessionListener实例中定义一个全局变量用来保存在线的会话数,会话创建事件时对其加一销毁时减一,这样就可以达成需求。
3.实现代码
小傅老师用了16个篇幅把Servlet的内容全部讲述完了,不知道大家在学习中有没有遇到问题。欢迎大家联系小傅老师,我会第一时间给您答复。