一、问题
写项目的时候代码没问题但是报错,导致本来成功运行的项目失败了
出现的问题有两种:
一是提交方式和tomcat版本不匹配
是因为 日志显示请求地址中包含不合法字符,出现400错误
tomcat高版本严格按照RFC 3986规范解析地址。该规范只允许包含 a-zA-Z 0-9 - _ . ~ 以及所有保留字符 ! * ’ ( ) ; : @ & = + $ , / ? # [ ]
但是项目在发起请求的参数中出现{},所以需要配置一下
参考:https://blog.csdn.net/rodjohnsondoctor/article/details/6989273
二是提交的内容里面有中文,需要处理字符集
String str = URLEncoder.encode(“中国”,“utf-8”);
然后就可以了!
参考:https://blog.csdn.net/beinlife/article/details/118691871?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-5.essearch_pc_relevant&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-5.essearch_pc_relevant
二、解决:
经过百度有两种解决办法
1、修改配置参数server.xml