本文主要是介绍Tomcat报错:org.apache.coyote.http11.Http11Processor.service 解析 HTTP 请求 header 错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这个错误我仔细的观察了下,是浏览器的坑,先看下报错
[http-nio-8080-exec-6] org.apache.coyote.http11.Http11Processor.service 解析 HTTP 请求 header 错误注意:HTTP请求解析错误的进一步发生将记录在DEBUG级别。java.lang.IllegalArgumentException: 在方法名称中发现无效的字符串, HTTP 方法名必须是有效的符号.at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:417)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:261)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)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)
仔细看上面的错误不难发现,http请求出问题了,我也百度了好多文章,大多都是把那个什么给删掉,但是解决不了根本问题,由于我们现在开发大多都是用的谷歌浏览器
,所以谷歌浏览器留了一个坑给我们
先打开谷歌浏览器的完整网址功能,右键网址栏空白处就可以看到
然后我们输入本地正常的tomcat项目网址:http://localhost:8080/s1/
很好,没问题
如果我们用https呢?那么问题就来了
Tomcat里面也会抛异常
所以报这个错就是浏览器的问题,我们本地的项目哪来的https,所以绝对是浏览器的问题,有时候会自动把http改成https,所以我的解决办法就是打开谷歌浏览器的显示全部网址功能,因为默认是关闭的,看不到网址的头部,如果要从本质性上解决这个问题,那我也没办法。。。。好像EDGE浏览器也会自动转换,如果不嫌麻烦报错了就改下网址头部,如果嫌麻烦就找下不该网址头部的浏览器吧,,找到了告诉我下,哈哈
这篇关于Tomcat报错:org.apache.coyote.http11.Http11Processor.service 解析 HTTP 请求 header 错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!