我是jsf的新手,我读过会话可以被销毁
FacesContext fc = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) fc.getExternalContext().getSession(false);
fc.getExternalContext().getSessionMap().clear();
session.invalidate();
我的问题是,在这样做后,会话仍处于活动状态,使用以下bean:
com.sun.faces.renderkit.ServerSideStateHelper.LogicalViewMap
你知道吗?
答案 0 :(得分:2)
这只是一个新会话。要自行测试,请在无效之前和之后检查请求期间HttpSession#getId()
的值。它应该是不同的。
与具体问题无关,无论何时拨打invalidate()
,都无需清除会话地图。会议地图无论如何都会被删除。另请注意,getSession(false)
可能会返回null
,并且您希望添加额外的检查以避免NullPointerException
。或者只使用getSession(true)
。