java后台如何接收get请求传过来的数组
java后台接收get请求传过来的数组
有一个需求需要用到往后台传送一个数组,但是请求不能为post,经过几次反复试验最终得到结果:
解决办法1
将数组进行URL编码
前台:
url = exportWorkSpotData?id=" + encodeURIComponent(measuringSpotArray)
后台:
@RequestParam(value = "id") Integer[] measuringSpotId
效果:measuringSpotId: 54,68
解决办法2
将数组循环拼接
在解决这个需求的时候有可能遇到这个异常:
Invalid character found in the request target. The valid characters are defined in RFC 3986
这个问题的产生是因为tomcat版本对请求做出了限制 拒绝请求中包含 ({},[])等特殊字符
解决办法:
该问题是升级tomcat版本后的一个错误,我已解决,该问题是因为tomcat最新版本对url进行了一个限制,降低tomcat版本和配置以下内容可解决问题
解决(亲测)
在conf/catalina.properties中最后添加2行:
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true在conf/server.xml中的<Connector>节点中,添加2个属性:
relaxedPathChars="|{}[],"
relaxedQueryChars="|{}[],"
ls13219681990总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
最全LocalDateTime、LocalDate、Date、String相互转化的方法
大家在开发过程中必不可少的和日期打交道,对接别的系统时,时间日期格式不一致,每次都要转化,本文为大家准备了最全的LocalDateTime、LocalDate、Date、String相互转化方法,需要的可以参考一下2023-06-06
Java equals 方法与hashcode 方法的深入解析
面试时经常会问起字符串比较相关的问题,比如:字符串比较时用的什么方法,内部实现如何?hashcode的作用,以及重写equal方法,为什么要重写hashcode方法?以下就为大家解答,需要的朋友可以参考下2013-07-07
Idea Jrebel 报错:Cannot reactivate,offline 
本文主要介绍了Idea Jrebel 报错:Cannot reactivate,offline seat in use,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-06-06


最新评论