url中包含特殊字符,访问400处理

原因是一个完整的请求地址包含 http(s)://xxxx/xxx/xxx
url里面包含tomcat鬼定字符以外的字符,他们不被认可为合理的url参数,必须满足RFC 3986规范
    /**
     * 解决 servlet 字符串乱码
     *
     * @return ConfigurableServletWebServerFactory
     */
    @Bean
    @Profile({"common", "prod", "local"})
    public TomcatServletWebServerFactory webServerFactory() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
        factory.addConnectorCustomizers((Connector connector) -> {
            connector.setProperty("relaxedPathChars", "\"<>[\\]^`{|}");
     
        });
        return factory;
    }

 

tips:tomcat7(包含)以下没有次问题

 

posted @ 2023-06-12 14:06  余生请多指教ANT  阅读(166)  评论(0编辑  收藏  举报