解决异常The valid characters are defined in RFC 7230 and RFC 3986

技能实验室 发表于 2022/06/02 00:55:54 2022/06/02
【摘要】 RFC 3986文档规定,Url中只允许包含英文字母(a-z,A-Z)、数字(0-9)、- _ . ~ 4个特殊字符以及...

RFC 3986文档规定,Url中只允许包含英文字母(a-z,A-Z)、数字(0-9)、- _ . ~ 4个特殊字符以及所有保留字符。
(2)RFC3986中指定了以下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ]

/**
	 * 解决异常信息:
	 *  java.lang.IllegalArgumentException:
	 *      Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
	 * @return
	 * TomcatEmbeddedServletContainerFactory 2.0版本以下是这个类
	 * TomcatServletWebServerFactory 2.0版本以上是这个类
	 */
	@Bean
	public TomcatEmbeddedServletContainerFactory tomcatEmbeddedServletContainerFactory(){
		TomcatEmbeddedServletContainerFactory  tomcatEmbeddedServletContainerFactory = new TomcatEmbeddedServletContainerFactory();
		tomcatEmbeddedServletContainerFactory.addConnectorCustomizers((Connector connector) -> {
			connector.setProperty("relaxedPathChars","\"{\\}^`{|}");
			connector.setProperty("relaxedQueryChars","\"{\\}^`{|}");
		});
		return tomcatEmbeddedServletContainerFactory;
	}

重点注意一下名字。如有必要,可在Bean后添加名称;

文章来源: blog.csdn.net,作者:liangblog,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_42551921/article/details/123666087

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。