Я бы рекомендовал бросить RuntimeException
из ServletContextListener.contextInitialized
.
Servlet 2.3 не очень ясно понял, но Servlet 2.4 добавил следующую деталь:
Некоторые исключения не встречаются при
стек вызовов другого компонента в
приложение. Примером этого является
& Hellip; ServletContextListener, который
выдает необработанное исключение во время
уведомление о контексте сервлета
Инициализация & hellip ;. В этом случае,
Разработчик не имеет возможности
обработать исключение. Контейнер
может отвечать на все последующие запросы
в веб-приложение с HTTP
код состояния 500 для обозначения
ошибка приложения.
Поскольку в нем говорится, что механизм сервлета «может» отключить доступ к приложению, вы можете найти сервер, который делает что-то еще. Однако Tomcat и WebLogic отключают приложение, и единственное, что я могу придумать, это игнорировать исключение. Я не вижу контейнера, который сделал это очень популярным, поэтому вам лучше самим проверить его в WebSphere.