【发布时间】:2018-08-30 11:13:58
【问题描述】:
我有一个在初始化请求时添加的 HttpSession 和 ip 的映射。它通常在会话被销毁时删除,但有时不会发生,我想手动完成。
如何从该地图中移除已经失效的会话?
听众
...
private static final Map<HttpSession, String> sessions = new ConcurrentHashMap<>();
@Override
public void requestInitialized(ServletRequestEvent ev) {
HttpServletRequest request = (HttpServletRequest) ev.getServletRequest();
HttpSession session = request.getSession();
if(session.isNew()){
sessions.put(session, request.getRemoteAddr());
}
}
@Override
public void sessionDestroyed(HttpSessionEvent ev) {
sessions.remove(ev.getSession());
}
...
【问题讨论】:
标签: java session httpsession