【发布时间】:2014-02-25 06:45:38
【问题描述】:
我得到了一个用例,想出一个解决方案,允许每个用户 ID 配置的用户数在任何给定时间登录到我的应用程序。 例如:userid 'parentuser' 可用于在任何时候最多登录应用程序 10 次。超过此限制后,该用户将不允许登录,因为该用户正在访问该应用程序的最大用户数. 现在,为了实现这一点,我创建了一个上下文侦听器,它将实例化一个属性,当用户在 Action 类中登录应用程序时,我将不断更新该属性。 我的上下文监听器如下:
公共类 ApplicationContextListener 实现 ServletContextListener {
private Map<String, List<ApplicationContextBean>> userMap;
@Override
public void contextDestroyed(ServletContextEvent arg0) {
userMap = null;
}
@Override
public void contextInitialized(ServletContextEvent event) {
userMap = new HashMap<String, List<ApplicationContextBean>>();
}
public Map<String, List<ApplicationContextBean>> getUserMap() {
return userMap;
}
public void setUserMap(Map<String, List<ApplicationContextBean>> userMap) {
this.userMap = userMap;
}
}
web.xml 如下
<listener>
<listener-class>com.pcs.bpems.portal.listener.ApplicationContextListener</listener-class>
</listener>
问题:我现在如何从我的操作类中访问这个上下文对象“userMap”?如果有人还有其他与此不同的方法,请发布相同的方法。 谢谢
【问题讨论】: