Поскольку вы используете JSF, просто зарегистрируйте его как компонент приложения.
@ManagedBean(eager=true)
@ApplicationScoped
public class HistoryBean {
// ...
}
(обратите внимание на eager=true
, это автоматически создает bean-компонент при запуске веб-приложения без необходимости ссылаться на него в некотором представлении или bean-компоненте, вам не нужно ServletContextListener
для этого)
Таким образом, он не только доступен в контексте JSF обычным способом, как #{historyBean}
, но и в сервлетах, также доступен как атрибут контекста сервлета с именем управляемого компонента в качестве ключа следующим образом:
HistoryBean historyBean = (HistoryBean) getServletContext().getAttribute("historyBean");