tomcat9报错The valid characters are defined in RFC 7230 and RFC 3986
问题原因:url检查严格,一些特殊字符无法通过识别(目的是为了防范跨域、XSS、sql注入等安全问题)
解决方案有二:
1、代码前端修改 添加encodeURIComponent(参数)
如:GET请求 http://localhost:8080/sys/code?tables=[%22table_name%22]
前端代码改为 location.href="../sys/code?tables=" + encodeURIComponent(JSON.stringify(tableNames))
后端无需修改
2、在conf文件目录下修改server.xml
relaxedQueryChars="[]|{}^\`"<>"
补充:tomcat8可以在conf/catalina.properties 最后添加如下代码解决
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}[]