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>