出现java.lang.IllegalArgumentException: Invalid character found in the request target应该如何解决
今天遇到一个问题:原因:查了资料,大部分都说是新的标准中,请求不支持“{}”,但是把大括号转义之后还是出现同样的问题,后来把中括号转义后就可以了。找到问题的原因了:由于json中带有“[]”,请求会被tomcat拦截。所以解决办法1.可以使用低版本的tomcat解决该问题2.如果使用高版本的tomcat则需要再tomcat的config文件下的catalina.properties中加上一句tom
·
今天遇到一个问题:
原因:
查了资料,大部分都说是新的标准中,请求不支持“{}”,但是把大括号转义之后还是出现同样的问题,后来把中括号转义后就可以了。找到问题的原因了:
由于json中带有“[]”,请求会被tomcat拦截。
所以解决办法
1.可以使用低版本的tomcat解决该问题
2.如果使用高版本的tomcat
则需要再tomcat的config文件下的catalina.properties中加上一句
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
如果这样还不行的话,在config下的server.xml文件中添加relaxedQueryChars="[,]",就可以解决这个问题了.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" relaxedQueryChars="[,]"/>
记得添加完后,重启服务器哦.
更多推荐
所有评论(0)