我认为您可以使用 HttpSessionListener 并在 sessionCreated 上的外部数据库中增加一个计数器,并在 sessionDestroyed 上从同一数据库中减少。
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import javax.servlet.http.HttpSession;
public class SessionCounter implements HttpSessionListener {
public SessionCounter() {
}
public void sessionCreated(HttpSessionEvent event) {
//@TODO increment database value
}
public void sessionDestroyed(HttpSessionEvent event) {
//@TODO decrement database value
}
public int getActiveSessionNumber() {
//@TODO return database value
}
}