Однократная инициализация приложений может быть выполнена в методе сервлета init (). Вот пример
public class CatalogServlet extends HttpServlet {
private BookDB bookDB;
public void init() throws ServletException {
bookDB = (BookDB)getServletContext().
getAttribute("bookDB");
}
В приведенном выше примере атрибут ServletContext - это, конечно, просто переменная, которая существует между вызовами сервлета (обычный способ поддержания состояния). Это, конечно, предполагает, что вы где-то еще хранили эту переменную в ServletContext. Другой способ - создать переменную в дескрипторе развертывания.
Чтобы установить параметры инициализации в дескрипторе развертывания (web.xml), вот пример:
<servlet
<servlet-name...
<servlet-class ...
<init-param>
<param-name>param1</param-name>
<param-value>value1</param-value>
</init-param>
</servlet>
Если это не отвечает, пожалуйста, уточните «всякий раз, когда запускается новый экземпляр».