问题截图
问题分析
出现上述问题,是因为各版本tomcat中对特殊字符和请求路径中携带中文参数而产生的错误提示。
解决办法
1、调整tomcat版本
tomcat 7.0.76之前的版本不会出现类似问题
2、tomcat9之前,修改tomcat目录底下的/conf/catalina.properties
#tomcat.util.http.parser.HttpParser.requestTargetAllow=|
在文件中找到该行配置,然后取消注释,最后的值配置为你需要配置的非保留字符。
3、tomcat9之后,修改tomcat目录底下的/conf/server.xml
<Connector port="8090" relaxedQueryChars="[]|{}-^`"<>"relaxedPathChars="[]|{}-^`"<>"
relaxedQueryChars=
relaxedPathChars=
非保留字符填写在这个后面
4、非保留字符如果配置后依旧解决不了问题,或许是路径携带中文的问题
将路径编码,可分为前端和后端两种方式
java代码:
前端代码:
5、其他
如果上述问题均不能解决,那么就将请求方式get改为post请求,将参数封装在requestBody中