我的Web应用程序是使用Servlet和Struts构建的。我希望跟踪应用程序的会话登录总数。
如果登录次数超过一定限制,我将拒绝登录。如何将会话总数从HttpSession传递到我的struts Action类或Servlet?
public class HttpSessionListener implements HttpSessionListener {
private static final AtomicInteger sessionCount = new AtomicInteger(0);
@Override
public void sessionCreated(HttpSessionEvent event) {
sessionCount.incrementAndGet();
}
@Override
public void sessionDestroyed(HttpSessionEvent event) {
sessionCount.decrementAndGet();
}
public static int getTotalSessionCount() {
return sessionCount.get();
}
}
基本整数不是线程安全的。使用上述解决方案,您可以使用HttpSessionListener.getTotalSessionCount()来获取打开的会话数。代码的模型就是从这个答案中得出的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句