用浏览器请求访问报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

你访问时不需要带转义符,课程里你看到我在控制台有多余的符号,那是在控制台输入时系统给加上去的,自己在浏览器测试时不需要,也应该带上,否则就识别不出来参数了

0
0

摇摆不定的风

提问者

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

这就不报错了,给出的的三个参数都不能为空才会有输出不报错

0
0

Java开发企业级权限管理系统

源于企业真实Java项目,涉及大量高级技巧,覆盖权限管理开发技术

2260 学习 · 1347 问题

查看课程