Как мне показать пользователям общую страницу с ошибкой (например, 404) без изменения URL-адреса в браузере?
Так, например, если пользователь переходит на страницу /happy/fun/times
, но в моем веб-приложении нет такого представления / отображения таких плиток, я хочу, чтобы URL оставался как /happy/fun/times
, но отображал бы их представление плиток /error/404
вместо этого.
Кроме того, на соответствующей заметке, как бы я сделал это со всеми ошибками, такими как 500 ошибок или 403 ошибки? Или даже исключения, которые как-то могут пройти?
Я пытался использовать web.xml для выполнения следующих действий:
<error-page>
<error-code>500</error-code>
<location>/error/500</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error/404</location>
</error-page>
<error-page>
<error-code>403</error-code>
<location>/error/403</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error/general</location>
</error-page>
однако это не похоже на работу. Если я хочу, я могу изменить местоположение на «/WEB-INF/jsp/error/404.jsp», тогда ошибки 404 перехватываются в файле web.xml. Однако затем он просто отображает содержимое файла «404.jsp» вместо представления «плитки» / error / 404, которое я действительно хочу отобразить.