用浏览器请求访问报400
来源:6-6 获取Spring上下文工具-ApplicationContextHelper开发

摇摆不定的风
2018-06-15
老师,我pop.xml、spring-servlet.xml、JsonMapper、ApplicationContextHelper、BeanValidator、TestController代码都对了一遍,在浏览器访问http://localhost:8080/test/validate.json/?id\=1\&msg\=123123,我的控制台提示的是
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:189)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1000)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
请求目标中发现无效字符。在RFC 7230和RFC 3986中定义了有效字符。
网页报错400
如果这么输入http://localhost:8080/test/validate.json/?id/=1/&msg/=123123网页显示{"ret":false,"msg":"System error","data":null}控制台提示com.mmall.exception.ParamException: {id=id不可以为空, str=不能为空, msg=不能为空}
2回答
-
Jimin
2018-06-15
你访问时不需要带转义符,课程里你看到我在控制台有多余的符号,那是在控制台输入时系统给加上去的,自己在浏览器测试时不需要,也应该带上,否则就识别不出来参数了
00 -
摇摆不定的风
提问者
2018-06-15
http://localhost:8080/test/validate.json/?id=1&msg=123123&str=555当这样写的时候,页面显示{"ret":true,"msg":null,"data":"test validate"}控制台显示
2018-06-15 06:45:52.822 [http-bio-8080-exec-9] INFO com.mmall.controller.TestController - validate
2018-06-15 06:45:52.826 [http-bio-8080-exec-9] INFO com.mmall.controller.TestController - null
这就不报错了,给出的的三个参数都不能为空才会有输出不报错
00
相似问题