При запуске spring загрузки, выкиньте исключение "имена методов должны быть tokens"
При запуске загрузки spring выкиньте исключение method names must be tokens
2016-08-11 16:53:54.499 INFO 14212 --- [0.1-8888-exec-1] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:462) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:994) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-8.5.4.jar!/:8.5.4]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785) [tomcat-embed-core-8.5.4.jar!/:8.5.4]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425) [tomcat-embed-core-8.5.4.jar!/:8.5.4]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.4.jar!/:8.5.4]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_72]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_72]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.4.jar!/:8.5.4]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_72]
2016-08-11 16:53:58.885 INFO 14212 --- [0.1-8888-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring FrameworkServlet 'dispatcherServlet'
2016-08-11 16:53:58.888 INFO 14212 --- [0.1-8888-exec-2] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started
2016-08-11 16:53:58.922 INFO 14212 --- [0.1-8888-exec-2] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 30 ms
[email protected]
Кто знает, зачем выбрасывать исключение Invalid character found in method name. HTTP method names must be tokens
.
Ответы
Ответ 1
Это исключение может возникнуть при попытке выполнить запрос https от клиента на конечной точке, который не включен https. Клиент будет шифровать данные запроса, когда сервер ожидает необработанные данные.
Измените https://на http://на URL вашего клиента.
Ответ 2
Та же проблема.
cmd -> netstat -ano then find the port your have used(e.g 8888)
Я нахожу процесс попробовать отправить пакет не Http-запрос на мой порт 8888, поэтому tomcat выкинет method names must be tokens
Exception.
вы можете:
Ответ 3
Другой случай: SpringBoot и Tomcat по умолчанию используют порт 8080 или 8888. У меня одновременно работал Jupyter Notebook с токеном в URL-пути и некоторыми случайными символами. Во всяком случае: ноутбук все еще пытался делать запросы, когда сервер ноутбука Jupyter не работал.
Если вы столкнулись с этой ошибкой: проверьте, не запущено ли у вас другое приложение, которое порождает веб-сервер или общается с веб-сервером через такие порты.
Ответ 4
Попробуйте изменить URL-адрес с https на http.