Как обработать в приложении исключения, выброшенные другим сервлетом
Обработка исключений в сервлетах выполняется через маппинг страниц ошибок в web.xml. Можно указать обработчик как для конкретных HTTP-кодов, так и для типов Java-исключений. Контейнер перенаправит запрос на указанный ресурс (сервлет или JSP), который сформирует понятный ответ пользователю.
Пример
<error-page>
<error-code>404</error-code>
<location>/AppExceptionHandler</location>
</error-page>
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/AppExceptionHandler</location>
</error-page>
В сервлете-обработчике ошибок доступны атрибуты запроса с информацией об исключении: javax.servlet.error.exception, javax.servlet.error.message, javax.servlet.error.request_uri. Это позволяет логировать ошибку и показать пользователю информативную страницу вместо стандартного стек-трейса.
В Spring MVC обработка ошибок реализована через @ExceptionHandler и @ControllerAdvice, что значительно удобнее XML-конфигурации.
На собеседовании: упомяните, что в production никогда нельзя показывать стек-трейс пользователю — это уязвимость безопасности. Сервлет-обработчик ошибок должен логировать детали и возвращать пользователю generic-сообщение.