Как настроить <context-param> программно без web.xml
Есть ли другой способ настроить параметр контекста, кроме того, который использует web.xml
как в приведенном ниже примере?
<context-param>
<param-name>com.sun.faces.numberOfLogicalViews</param-name>
<param-value>10</param-value>
</context-param>
2 ответа
Решение
Начиная с Servlet 3.0, вы можете программно установить их через ServletContext#setInitParameter()
,
Просто поставь ниже ServletContextListener
в любом месте вашего веб-проекта. @WebListener
аннотация заставит контейнер автоматически поднять и запустить его во время запуска веб-приложения.
@WebListener
public class Config implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
ServletContext servletContext = event.getServletContext();
servletContext.setInitParameter("com.sun.faces.numberOfLogicalViews", "10");
}
@Override
public void contextDestroyed(ServletContextEvent event) {
// NOOP.
}
}
Если вы используете встроенный Tomcat, это выглядит так:
Context.getServletContext()
.getServletRegistrations()
.get("webdavservlet")
.setInitParameter("listings", "true");