我的请求URL中有字符IF Page = NumPages "" "FOOTER TEXT"
和[
,并且项目已部署在Tomcat8.5.33上。我发布请求时会发生一些异常。
]
答案 0 :(得分:1)
我的请求URL中有字符
[
和]
。
这是问题所在。您正在向服务器发送带有无效URL的请求。有效的URL不能包含[
和]
...,但主机部分的IP文字除外。在所有其他情况下,必须将它们转义。
正确解决方案是修复您的网址和/或在客户端生成网址的软件。
Tomcat只是在URL / URI规范中强制执行规则,而这些规则在规范中已经存在了20多年左右。
参考:
答案 1 :(得分:0)
Tomcat8.5.33不允许URL中使用特殊字符,例如|{}[]
。
有两种方法可以避免此错误。
如果您的特殊字符是|{}
之一,则可以直接如下添加配置conf\catalina.properties
:
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
如果您的特殊字符是其他字符,则可以如下配置conf\server.xml
:
<Connector port="8075" protocol="HTTP/1.1" relaxedQueryChars='|[]'
connectionTimeout="20000"
redirectPort="8443" />