1、情况:
很久之前的老项目由SpringMvc转为SpringBoot,JDK,Tomcat都做了升级,JDK换成8后,get请求传参带特殊符号的接口,请求无效。(要求:在客户端不做任何处理的情况下能正常访问)
1.1 get
1.2 post
2、处理方式:新建Tomcat8RelaxedQueryChars.java
package xxx;
import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @Description JDK8 url特殊字符处理
* @project
* @author:hf
* @date:
*/
@Configuration
public class Tomcat8RelaxedQueryChars {
@Bean
public ServletWebServerFactory webServerFactory() {
TomcatServletWebServerFactory fa = new TomcatServletWebServerFactory();
fa.addConnectorCustomizers(
(TomcatConnectorCustomizer) connector -> connector.setProperty("relaxedQueryChars", "[]{}"));
return fa;
}
}
2.1启动成功后调用接口
转载:JDK8 特殊字符处理_jdk 特殊字符-CSDN博客