HttpSessionBindingEvent

HttpSessionBindingEvent

当用户会话过期时,我需要在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");

09-26 15:13