Получение экземпляра ServletContext внутри зависимости - PullRequest
0 голосов
/ 17 октября 2019

У меня есть веб-приложение с зависимостью от моей другой библиотеки. Внутри этой библиотеки мне нужен доступ к объекту ServletContext, который инициализируется после развертывания моего приложения. Я пытался получить этот объект внутри ServletContextListener.contextInitialized() метода, но я всегда получаю ссылку null от ServletContextEvent.getServletContext(). Этот слушатель находится внутри библиотеки.

Вот код:

public class AppServletContextListener implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent sce) {
        /* Sets the context in a static variable */
        ApplicationUtil.setServletContext(sce.getServletContext());
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) { }
}

Но, очевидно, он не работает в этом случае. Работает ли этот слушатель, только если он является частью моего .war с дескриптором 'web.xml', и если нет, то можно ли каким-то образом зарегистрировать его в моем приложении, не являясь частью моего проекта приложения?

Это кажется единственным способом доступа к этому экземпляру, за исключением получения его прямо из HttpServletRequest. Есть ли другой способ получить этот экземпляр внутри зависимости JAR?

...