1、打开tomcat9日志,我们会看到这样的错:tomcat9/logs/ 找到对应的日期,或者最好一次启动的日期.log文件。
2、这里我们一看,基本上是tomcat9不认识这个符号导致的,因为在开发机器上测试一切都是好的,发布后布署到服务器上后就报了上面的错误。
3、解决:tomcat9/conf/server.xml
<Connector port="8088" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URLEncoding="UTF-8" relaxedPathChars="|{}[],%"
relaxedQueryChars="|{}[],%"/>
找到这段代码,在后面增加:
relaxedPathChars="|{}[],%" relaxedQueryChars="|{}[],%"
这样tomcat9,或者别的版本的tomcat就可以认识到了[]。
这样设置以后,重启tomcat9,再次运行,就发现一切正常了。
参考:
启动Tomcat8.5报 java.lang.IllegalArgumentException: 在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义 - 简书