特殊符号传参问题:the valid characters are defined in RFC 7230 and RFC 3968

 

当 URL 中传递 {}() 等特殊符号作为参数值时,前台无反应,后台报错,如下图所示:

这里怎么能正确传递特殊符号作为参数值?

原因:
现在比较新版的 web 服务器对 url 中的特殊字符作了限制,出现特殊字符时不让访问,比如 {}()

解决办法:
对 url 中的有特殊字符的参数值进行 URLEncode

此方法也适用于中文参数传递时进行转码的情况
例如:String resultPage =“queryReport.jsp?rpx=” + URLEncoder.encode(report, “UTF-8”) + “&scroll=” + scroll;