Запустите сервлет перед загрузкой контекста приложения. - PullRequest
1 голос
/ 08 ноября 2010

У меня есть сервлет, который входит в состав моего приложения.Я хочу иметь возможность настроить Tomcat или Spring для загрузки этого сервлета в boostrap до окончательной инициализации контекста приложения.

Я делаю это, потому что - я использую сервлет, чтобы выполнить некоторую начальную проверку среды и загрузку файлов до того, как будет запущен фактический контекст.

Кто-нибудь знает, как это сделать?*

Я добавил определение сервлета следующим образом:

    <servlet> 
            <servlet-name>init-class</servlet-name>
            <servlet-class>package.initClass</servlet-class>
            <load-on-startup>0</load-on-startup> 
    </servlet>

Это срабатывает только после завершения загрузки контекста приложения.

Ответы [ 2 ]

6 голосов
/ 08 ноября 2010

Вам нужно поместить эту логику инициализации в ServletContextListener вместо сервлета и объявить ее в web.xml как

<listener><listener-class>YourListenerClass</listener-class></listener>

Кроме того, если ваш контекст Spring загружается ContextLoaderListener, ваш слушатель должен быть объявлен в web.xml перед ним, так как слушатели запускаются в порядке объявления.

0 голосов
/ 08 ноября 2010

Может быть Listner - это то, что вы ищете

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...