跟小博老师一起学Servlet ——Servlet之监听器

简介

Listener是Servlet的监听器,监听器会响应特定事件,然后触发相关代码的执行。比如来了会话的创建和销毁、属性的操作等事件后,执行事先设计好的代码,实现业务上的需求。

监听器分

根据监听的对象划分成三类

1)监听ServletConext对象,实现ServletContextListener、

ServletContextAttributeListenser接口

2)监听HttpSession对象,实现HttpSessionListener、HttpSessionAttributeListener接口

3)监听ServletRequest对象,实现ServletRequestListener、ServletRequestAttributeListener

生命周期

Listener与Servlet和Filter都有生命周期,Servlet默认是客户第一次请求时容器负责其实例化,Listener和Filter一样都会随着容器的启动而启动,容器关闭时将其销毁。

现监

根据要监听的对象选择相应接口并实现,比如监听客户端的请求操作。

STEP1

编写监听器JAVA代码

跟小博老师一起学Servlet ——Servlet之监听器_第1张图片

STEP2

在web.xml中陪置监听器

从Servlet3.0开始可采用“零配置”的新特征来配置监听器,我们在原码中采用注解方式配置,简化开发提高效率。

跟小博老师一起学Servlet ——Servlet之监听器_第2张图片

Stpe2的配置可简化为以下代码

跟小博老师一起学Servlet ——Servlet之监听器_第3张图片

案例

1.需求

统计站点在线人数。

2.思路

当有新客户访问站点时,容器会创建新会话并触发会话创建事件,会话超时也会触发会话销毁事件。在HttpSessionListener实例中定义一个全局变量用来保存在线的会话数,会话创建事件时对其加一销毁时减一,这样就可以达成需求。

3.实现代码

跟小博老师一起学Servlet ——Servlet之监听器_第4张图片

小傅老师用了16个篇幅把Servlet的内容全部讲述完了,不知道大家在学习中有没有遇到问题。欢迎大家联系小傅老师,我会第一时间给您答复。

你可能感兴趣的:(跟小博老师一起学Servlet ——Servlet之监听器)