Java如何捕获会话创建和删除事件?
Servlet规范定义了一个HttpSessionListener接口,如果我们想监听会话创建和删除事件,可以实现该接口。
package org.nhooo.example.servlet; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; import java.util.Date; public class MySessionListener implements HttpSessionListener { //通知已创建新会话 public void sessionCreated(HttpSessionEvent event) { HttpSession session = event.getSession(); System.out.println("New session created : " + session.getId()); System.out.println("Session creation time: " + new Date(session.getCreationTime())); } //通知会话无效 public void sessionDestroyed(HttpSessionEvent event) { HttpSession session = event.getSession(); System.out.println("Session destroyed : " + session.getId()); } }
要使侦听器正常工作,您需要在web.xml文件中进行配置。下面是我们的侦听器的配置示例。
<listener> <listener-class>org.nhooo.example.servlet.MySessionListener</listener-class> </listener>