如何修复tomcat org.apache.tomcat.util.http.parser.HttpParser。<clinit>字符[[]不允许,并且将继续被拒绝

时间:2018-09-20 03:11:47

标签: java tomcat tomcat8

我的请求URL中有字符IF Page = NumPages "" "FOOTER TEXT" [,并且项目已部署在Tomcat8.5.33上。我发布请求时会发生一些异常。

]

2 个答案:

答案 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" />