由于Tomcat的新版本中增加了一个新特性,就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了以下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。
比如发送url中有:
MATCH (m)-[r:`品牌`]->(n) where n.name=~".*海尔.*" RETURN m.name LIMIT 25
修改tomcat配置文件和新建Springboot配置类的方法都不行。
在找了很多教程无果之后,找到了可以解决的办法。
进入SpringBoot的启动类,添加如下代码即可:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
//指定jre系统属性,允许 特殊符号 | 做入参 详情见 tomcat HttpParser类
//System.setProperty("tomcat.util.http.parse