监听器主要针对三个对象
- ServletContext
- HttpSession
- ServletRequest
使用方式
- 创建*Listener接口的实现类
- 在web.xml中注册该类
在同时注册多个同接口的监听器时,执行顺序参照web.xml中的注册顺序
- 监听器监听类型
- 对象的创建和销毁
- 对象属性的添加、替换、移除
创建实现类
// 用于监听session创建和销毁的监听器 package listener; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class SessionListener implements HttpSessionListener { @Override public void sessionCreated(HttpSessionEvent httpSessionEvent) { // 获取本次事件创建session的id String sessionId = httpSessionEvent.getSession().getId(); System.out.println("create session that id = " + sessionId); } @Override public void sessionDestroyed(HttpSessionEvent httpSessionEvent) { // 删除session的id String sessionId = httpSessionEvent.getSession().getId(); System.out.println("session has been destroy that id = " + sessionId); } }
在web.xml中注册
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>Archetype Created Web Application</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <listener> <!-- 在listener包下的SessionListener类 --> <listener-class>listener.SessionListener</listener-class> </listener> </web-app>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/189376/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)