Пользовательская страница ошибки вместо «HTTP Status 400 - Bad Request» - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь отправить специальный символ "<" с URL-адресом http-запроса, и в ответ выводится ошибка HTTP Status 400 - неверный запрос Сообщение Недопустимый символ найден в цели запроса. Допустимые символы определены в RFC 7230 и RFC 3986 </p>

Описание Сервер не может или не будет обрабатывать запрос из-за чего-то, что воспринимается как ошибка клиента (например, синтаксис неверно сформированного запроса, неверное формирование кадра запроса или обманчивая маршрутизация запроса).

Исключение

java.lang.IllegalArgumentException: в цели запроса найден недопустимый символ. Допустимые символы определены в RFC 7230 и RFC 3986. org.apache.coyote.http11.Http11InputBuffer.parseRequestLine (Http11InputBuffer.java:460) org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:291) org.apache.coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:754) org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1376) org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) java.lang.Thread.run (Thread.java:748)

Вместо того, чтобы показывать вышеупомянутую ошибку в браузере, я хочу показать некоторую пользовательскую страницу ошибки Как бы я это сделал. Я попытался внести следующие изменения в файл web.xml, но он не работал.

<error-page>
        <location>/a.html</location>
</error-page>

Версия сервлета: 4.0, Apache Tomcat 9.0

...