spring boot2.x 解决Tomcat 报 The valid characters are defined in RFC 7230 and RFC 3986

spring boot 的内嵌Tomcat 报 The valid characters are defined in RFC 7230 and RFC 3986   之前的解决办法都是在容器中添加

 @Bean
    public Integer setRfc()
    {
        // 指定jre系统属性,允许特殊符号, 如{} 做入参,其他符号按需添加。见 tomcat的HttpParser源码。
        System.setProperty("tomcat.util.http.parser.HttpParser.requestTargetAllow", "|{}");
        return 0;
    }

或者在启动类中添加

System.setProperty("tomcat.util.http.parser.HttpParser.requestTargetAllow","|{}");

但是也没解决问题  

分析原因是因为url转化的问题  直接把名称转换之后再传给后端  测试了下  成功

在传入后端的中文中加入 

encodeURI(fileName)解决!

去除前端所有的html标签方法

 

private static String delHTMLTag(String htmlStr){
    String regEx_style="<style[^>]*?>[\\s\\S]*?<\\/style>"; //定义style的正则表达式
    String regEx_html="<[^>]+>"; //定义HTML标签的正则表达式

    Pattern p_style=Pattern.compile(regEx_style,Pattern.CASE_INSENSITIVE);
    Matcher m_style=p_style.matcher(htmlStr);
    htmlStr=m_style.replaceAll(""); //过滤style标签

    Pattern p_html= Pattern.compile(regEx_html,Pattern.CASE_INSENSITIVE);
    Matcher m_html=p_html.matcher(htmlStr);
    htmlStr=m_html.replaceAll(""); //过滤html标签

    htmlStr=htmlStr.replace(" ","");
    htmlStr=htmlStr.replaceAll("\\s*|\t|\r|\n","");
    htmlStr=htmlStr.replace("“","");
    htmlStr=htmlStr.replace("”","");
    htmlStr=htmlStr.replaceAll(" ","");

    return htmlStr.trim(); //返回文本字符串
}
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

提升自己的小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值