我正在尝试发送带有http请求url的特殊字符“ <”,并且响应错误如下: HTTP状态400 –错误的请求 在请求目标中找到的消息无效字符。有效字符在RFC 7230和RFC 3986中定义
说明由于某些东西被认为是客户端错误(例如,格式错误的请求语法,无效的请求消息框架或欺骗性的请求路由),服务器无法或不会处理请求。
例外
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>
Servlet版本:4.0,Apache Tomcat 9.0