Контекст сервлета также доступен при реализации ServletContextListener. Это позволяет легко загружать такие параметры, как строка подключения, при запуске. Вы можете определить класс слушателя в файле web.xml, который загружает вас ServletContextListener при запуске веб-приложения.
Внутри файла web.xml добавьте теги <listener>
и <context-param>
. <listener>
указывает класс, который вызывается при запуске. Тег <context-param>
определяет параметр контекста, доступный в вашем веб-приложении.
Сначала включите теги <listener>
и <context-param>
в файл web.xml:
<web-app>
<!-- ... -->
<listener>
<listener-class>com.your.package.ServletContextClass</listener-class>
</listener>
<!-- Init parameters for db connection -->
<context-param>
<param-name>your_param</param-name>
<param-value>your_param_value</param-value>
</context-param>
<!-- ... -->
</web-app>
Теперь создайте класс контекста сервлета следующим образом.
public class ServletContextClass implements ServletContextListener
{
public void contextInitialized(ServletContextEvent arg0)
{
//use the ServletContextEvent argument to access the
//parameter from the context-param
String my_param = arg0.getServletContext().getInitParameter("your_param");
}//end contextInitialized method
@Override
public void contextDestroyed(ServletContextEvent arg0)
{ }//end constextDestroyed method
}
Теперь вы можете выбрать, какую статическую переменную назначить прочитанному параметру. Это позволяет считывать параметр один раз при запуске и многократно использовать его через статическую переменную, которой вы его назначаете.