The valid characters are defined in RFC 7230 and RFC 3986
来源:7-4 新增部门、部门层级树、更新部门接口自测

慕码人5437048
2020-02-08
按照网页<http://localhost:8080/sys/dept/save.json/?name\=技术部\&seq\=1\&remark\=技术部>
relaxedPathChars="[]{}|\^"和relaxedQueryChars="[]{}|\^"的双引号内容应该怎么写?
按照https://coding.imooc.com/learn/questiondetail/34728.html的回答,在 catalina.properties最后加上tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}和org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true还是没能解决问题.
后来在网上搜,解决方案是在server.xml要加relaxedPathChars和relaxedQueryChars两个属性,但显示如下,我想应该是这两个属性的“[]{}|\^”写法有问题,不知道这个想法催不对。老师可以给我解释下吗?
2020-02-08 14:30:35.720 [http-nio-8080-exec-7] INFO com.mmall.common.HttpInterceptor - request start. url:http://localhost:8080/sys/dept/save.json/, params:{"name\\":["技术部\\"],"seq\\":["1\\"],"remark\\":["技术部"]} 2020-02-08 14:30:36.100 [http-nio-8080-exec-7] ERROR com.mmall.common.SpringExceptionResolver - unknow exception, url:http://localhost:8080/sys/dept/save.json/ com.mmall.exception.ParamException: {seq=展示顺序不可以为空, name=部门名称不可以为空}
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URLEncoding="UTF-8" relaxedPathChars="[]{}|\^" relaxedQueryChars="[]{}|\^"/>
写回答
1回答
-
你好,我感觉你理解的有些问题,其实不需要配置那两个参数,你把那两个参数去掉,然后修改一下请求即可,你把请求里转义符去掉应该就OK了。课程里在控制台演示时转义符是工具自己加上去的,在浏览器上访问时是没有的
00
相似问题