Является ли сервлет независимым от другого (мудрый процесс)? - PullRequest
1 голос
/ 25 августа 2011

Я создал сервлет, чтобы сообщить мне, работает ли веб-приложение внутри контейнера Tomcat или нет.Но теперь мне интересно, возможно ли, что один сервлет отвечает, а не другой?то есть могут ли два независимых сервлета (в одном и том же веб-приложении) быть независимо реагирующими или я могу предположить, что если один ответит, другой ответит?

Что-то, что дает некоторые подсказки, но недостаточно информации.

Полезный источник

Спасибо

1 Ответ

3 голосов
/ 25 августа 2011

Является ли сервлет независимым от другого (с точки зрения процесса)?

Да.Спецификация Servlet 3.0 сообщает, среди прочего, следующее:

2.3.2.1 Условия ошибки при инициализации

Во время инициализации экземпляр сервлета может выдать UnavailableExceptionили ServletException.В этом случае сервлет не должен быть помещен в активную службу и должен быть освобожден контейнером сервлета.Метод destroy не вызывается, так как он считается неудачной инициализацией.

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


Обновление согласно комментариям: та же самая спецификация говорит следующее всякий раз, когда успешно инициализированный сервлет генерирует исключение во время службы:

2.3.3.2 Исключения при обработке запроса

Сервлет может выдавать ServletException или UnavailableException во время обслуживания запроса.ServletException сигнализирует, что во время обработки запроса произошла какая-то ошибка, и что контейнер должен предпринять соответствующие меры для очистки запроса.

UnavailableException сигнализирует, что сервлет не может обрабатывать запросы временно.или навсегда.Если UnavailableException указывает на постоянную недоступность, контейнер сервлета должен удалить сервлет из службы, вызвать его метод уничтожения и освободить экземпляр сервлета.Любые запросы, отклоненные контейнером по этой причине, должны быть возвращены с ответом SC_NOT_FOUND (404).

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