Servlet:HttpSessionEventHttpSessionListener

原文:https://www.studytonight.com/servlet/httpsession-event-and-listener.php

HttpSessionEvent 类为 web 应用内的会话更改提供通知。httpessionlistener接收 web 应用中活动会话列表的更改通知,并执行一些操作。HttpSessionListener 用于在创建或销毁会话时执行一些重要任务。例如:计算活动会话的数量。


Servlet:其他一些与会话相关的监听器

| 听众 | 描述 | | http session activationlistener | 让您知道会话何时从一台虚拟机移动到另一台虚拟机。 | | https 会话绑定侦听器 | 您的属性类对象在会话中被添加或删除时会得到通知。 | | http session attribute listener | 让您知道在会话中何时添加、删除或替换任何属性。 |


HttpSessionListener 的方法

| 方法 | 描述 | | 作废sessioC(n, r)eated(HttpSessionEvent e) | 会话已创建的通知。 | | 作废sessionDestroyed(HttpSessioEvent e) | 会话被破坏的通知。 |


HttpSessionListener 示例

在本例中,我们将创建一个会话侦听器,它将计算 web 应用中活动会话的数量。

MySessionCounter.java

import javax.servlet.http.*;

public class MySessionCounter implements HttpSessionListener {

    private static int sessionCount; 

    public int getActiveSession()
    {
        return sessionCount;
    }

    public void sessio`C(n, r)`eated(HttpSessionEvent e) 
    {   
        sessionCount++;  
    }

    public void sessionDestroyed(HttpSessionEvent e) 
    {
        sessionCount--;
    }
}

web.xml

<web-app ...>
    <listener>
        <listener-class>MySessionCounter</listener-class>
    </listener>
</web-app>