我已經給出了一個用例,想出一個解決方案,允許在任何給定時間將配置的每個用戶id的用戶數登錄到我的應用程序。 例如:userid'parentuser'可用於在任何時間最多10次登錄應用程序。在此限制之後,用戶將無法登錄,因爲最大用戶數正在訪問該應用程序用戶。 現在,爲了實現這一點,我創建了一個上下文監聽器,它將實例化一個屬性,我將在用戶登錄Action類中的應用程序時繼續更新該屬性。 我的語境收聽是下:在Struts 1.2的Action類中訪問ServletContext對象
公共類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>
問題:如何我現在可以訪問這個c ontext對象'userMap'從我的操作類?如果任何人有其他方法也不同,請寄出相同的。 感謝