当用户会话过期时,我需要在ServletContext中更改属性。
在这里如何建议how-to-call-a-method-before-the-session-object-is-destroyed,我已经在我的java类中实现了方法valueUnbound(HttpSessionBindingEvent event),该类允许在使用事件引用销毁Session对象之前对其进行访问。
在此方法内部,我需要更改ServletContext中的属性数组中的值。我能怎么做?
public class myClass implements HttpSessionBindingListener {
@Override
public void valueUnbound(HttpSessionBindingEvent event) {
int userid = Integer.valueOf((Integer) event.getSession().getAttribute("IDplayer"));
boolean[] id_used = (boolean[]) getServletContext().getAttribute("id_used");
}
问题是,即使我包含“ import javax.servlet。*”,也不会建立getServletContext()。getAttribute()。
如何在会话关闭之前从调用的方法访问ServletContext属性?
最佳答案
通过HttpSessionBindingEvent访问它。
用这个:
event.getSession().getServletContext().getAttribute("id_used");