如何在初始化 servlet 时获取 Http Session?

How to get a Http Session while a servlet is being initialised?

如果我们可以像下面这样访问 HTTP 请求对象,我们就可以获得会话:

HttpSession session = request.getSession();

但是,如何在 Servlet 的 init 方法中检索 HTTP 会话?


如果表示层由 JSF 提供支持,servlet 可以访问 FacesContext 以获得 HTTP 会话吗?

你不能。 init() 方法在部署应用程序和初始化 servlet 时调用。此时还没有人连接到应用程序,因此代码不会作为任何请求处理的一部分执行。所以没有会话。

这就像想要在您仍在建造面包店的同时获得在面包店服务的客户的姓名。没有面包店,没有顾客服务。