Ответ 1
В Servlet 3.0 или новее вы можете просто указать
<web-app ...>
<error-page>
<location>/general-error.html</location>
</error-page>
</web-app>
Но поскольку вы все еще на Servlet 2.5, нет другого способа, кроме указания каждой общей ошибки HTTP в отдельности. Вам нужно определить, какие HTTP-ошибки могут возникнуть у enduser. На barebones webapp, например, с использованием HTTP-аутентификации, с отключенным списком каталогов, с использованием настраиваемых сервлетов и кода, которые могут вызывать необработанные исключения или не имеют всех реализованных методов, тогда вы хотите установить его для ошибок HTTP 401, 403, 500 и 503 соответственно.
<error-page>
<!-- Missing login -->
<error-code>401</error-code>
<location>/general-error.html</location>
</error-page>
<error-page>
<!-- Forbidden directory listing -->
<error-code>403</error-code>
<location>/general-error.html</location>
</error-page>
<error-page>
<!-- Missing resource -->
<error-code>404</error-code>
<location>/Error404.html</location>
</error-page>
<error-page>
<!-- Uncaught exception -->
<error-code>500</error-code>
<location>/general-error.html</location>
</error-page>
<error-page>
<!-- Unsupported servlet method -->
<error-code>503</error-code>
<location>/general-error.html</location>
</error-page>
Это должно охватывать самые распространенные.