Если я укажу страницу ошибки вроде этого:Как указать «Не найденные» страницы ошибок в web.xml, чтобы изменить URL-адрес?
<error-page>
<error-code>404</error-code>
<location>/pages/not-found.html</location>
</error-page>
и ударил URL localhost:8080/app/something/else
(который возвращает ошибку 404), то URL в браузере остается localhost:8080/app/something/else
в то время как содержание страницы ошибки в сваливается в браузере. Проблема здесь заключается в том, что если я задать любой CSS ресурс, как это:
<link type="text/css" rel="stylesheet" href="resources/css/bootstrap.css" />
затем, браузер пытается загрузить localhost:8080/app/something/else/resources/css/bootstrap.css
вместо localhost:8080/app/resources/css/bootstrap.css
, который, очевидно, не удается. Мы также не можем использовать
<link type="text/css" rel="stylesheet" href="/resources/css/bootstrap.css" />
как браузер будет загружать localhost:8080/resources/css/bootstrap.css
Основная проблема заключается в том, что относительный путь зависит от количества слешами есть в URL.
На мой взгляд, если я могу перенаправить страницы для /pages/not-found.html, то я могу быть указать последовательный путь к файлам CSS (не заботясь о количестве слешами в URL)