关于这个问题网上的资料很少,估计是很少人遇到这种情况,我遇到的这个情况应该是个神奇的存在。
java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens
at org.apache.coyote.http11.InternalAprInputBuffer.parseRequestLine(InternalAprInputBuffer.java:182)
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.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2517)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2506)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
这个是报错的信息,在网上有人说是在server.xml中加上 maxHttpHeaderSize="8192",
<Connector port="8080" executor="tomcatThreadPool"
protocol="HTTP/1.1"
maxThreads="1000"
maxHttpHeaderSize="8192"
minSpareThreads="100"
maxSpareThreads="200"
acceptCount="1000"
maxConnections="1000"
connectionTimeout="30000"
keepAliveTimeout="15000"
maxKeepAliveRequests="1"
tcpNoDelay="true"
redirectPort="8443"
enableLookups="false"
URIEncoding="UTF-8"/>
但是加一句不行,我又把所有的都加上了,然而并没用。这个时候我发现我的请求地址是https于是豁然开朗,原来是把https改成http就可以了。昨天还遇到一个关于查询 moogoDb数据库的问题,让同事过来看,说了一大堆没用的,最后还是在where查询的时候发现查询值的时候多加了一个“ ”,这个原来是为了使其转化成字符串的,但是没注意中间多了一个空格,浪费了好长的时间。