小编典典
public class HttpSessionCollector implements HttpSessionListener {
private static final Map sessions = new HashMap();
@Override
public void sessionCreated(HttpSessionEvent event) {
HttpSession session = event.getSession();
sessions.put(session.getId(), session);
}
@Override
public void sessionDestroyed(HttpSessionEvent event) {
sessions.remove(event.getSession().getId());
}
public static HttpSession find(String sessionId) {
return sessions.get(sessionId);
}
}
只需web.xml按以下所示注册即可运行:
com.example.HttpSessionCollector
然后,在任何您想做的地方都HttpSessionCollector.find(sessionId)可以解决HttpSession问题。
也就是说,这是一种 巨大的 气味。当然,解决 实际
功能需求的方法肯定比这更好;)正如我在您的后续问题中评论的那样:
这是您第二次询问一个在现实世界中永远不应该实践的问题。老实说,这一切都有味道。这是什么,您认为HttpSession
在服务器端与JSESSONID关联并在客户端获得JSESSIONID值的问题是“解决方案”?在新问题中对此进行详细说明,您将获得正确方法的答案。
认真点 我们不是在取笑您,我们只是在尝试向您提供正确的方向,以避免您的项目/网络应用由于安全漏洞和不良做法而中断,并且/或者您将被解雇。
2020-09-18