Java 오류 메서드 이름에 잘못된 문자가 있습니다. HTTP 메서드 이름은 토큰이어야 합니다.

Muhammad Zeeshan 2023년10월12일
  1. Tomcat의 원인: java.lang.IllegalArgumentException: 메서드 이름에 잘못된 문자가 있습니다. HTTP 메서드 이름은 토큰이어야 합니다. 오류
  2. Tomcat: java.lang.IllegalArgumentException: 메서드 이름에 잘못된 문자가 있습니다. HTTP 메서드 이름은 토큰이어야 합니다. 오류
Java 오류 메서드 이름에 잘못된 문자가 있습니다. HTTP 메서드 이름은 토큰이어야 합니다.

튜토리얼에서는 Tomcat: java.lang.IllegalArgumentException: Invalid character found in method name에 대한 몇 가지 가능한 원인과 해결책에 대해 설명합니다. HTTP 메서드 이름은 토큰이어야 합니다.

Tomcat의 원인: java.lang.IllegalArgumentException: 메서드 이름에 잘못된 문자가 있습니다. HTTP 메서드 이름은 토큰이어야 합니다. 오류

다음은 오류가 발생하는 이유에 대한 몇 가지 가능한 시나리오입니다.

  1. 사용자는 HTTPS가 활성화되지 않은 엔드포인트에서 클라이언트의 HTTPS 요청을 실행하려고 시도할 때 이 예외를 실행할 수 있습니다. 클라이언트는 서버가 원시 데이터에만 집중할 때 요청된 데이터를 암호화합니다.

  2. 달리 말하면 이러한 예외는 일반적으로 서버가 예상하는 것과 수신하는 것 사이에 차이가 있을 때마다 발생합니다. 생각할 수 있는 많은 결과 중 하나는 방금 설명한 것입니다.

    서버에 HTTPS 표준을 준수하지 않는 엔드포인트가 있을 수 있습니다.

  3. 경우에 따라 Content-Length 헤더 값이 본문 길이와 일치하지 않았습니다.

  4. 이 오류는 응용 프로그램이 배포된 서버에서 이를 지원하지 않는 URI 구성표를 사용하려고 할 때 자주 발생합니다.

Tomcat: java.lang.IllegalArgumentException: 메서드 이름에 잘못된 문자가 있습니다. HTTP 메서드 이름은 토큰이어야 합니다. 오류

적용할 수 있는 문제를 해결하기 위한 옵션이 아래에 나열되어 있습니다.

  1. 클라이언트의 URL에서 httpshttp로 바꿉니다. 아마도 그렇게 하는 것이 효과적일 것입니다. 예를 들어 http://localhost:8080/foo/bar로 로컬 서버에 액세스하는 경우 https://localhost:8080/foo/bar URL을 사용하여 액세스합니다.

  2. 스니펫에 표시된 대로 Ctrl + Shift + Delete 컨트롤을 누른 다음 데이터 지우기를 클릭하여 검색 데이터를 지웁니다.

    웹 브라우저에서 검색 데이터 삭제

  1. SSL 상태 지우기 SSL 상태는 PC의 Google Chrome 브라우저 설정에서 제거할 수 없으므로 운영 체제 설정을 통해 제거해야 합니다. 따라서 다음 지침에 따라 SSL 상태를 지우십시오.

    • 시작 메뉴에서 인터넷 옵션을 검색하여 엽니다.

    시작 메뉴의 인터 옵션 열기

    • 나타나는 대화 상자에서 콘텐츠 탭을 클릭합니다.

    인터넷 속성에서 콘텐츠 탭 클릭

    • SSL 상태 지우기 버튼을 클릭합니다.

    인터넷 속성의 콘텐츠 탭에서 SSL 상태 지우기 클릭

    • 확인을 클릭하면 SSL 상태가 해제됩니다.

    ssl 캐시 삭제

  2. 인증서가 필요한 애플리케이션에 대해 https 프로토콜을 구성합니다. Let's Encrypt는 인증서를 제공할 수 있는 리소스입니다. 자체 서명된 인증서를 생성하고 획득하는 프로세스가 가장 간단한 옵션입니다.

    • 먼저 애플리케이션에 대한 Keystore 파일을 생성합니다. 이 파일은 https 프로토콜에 대한 자체 서명된 인증서처럼 작동합니다.
    sudo keytool - genkey - keyalg RSA - alias tomcat - Keystore / usr / share / tomcat.keystore
    
    • 그런 다음 Tomcat 서버 구성 파일(/opt/tomcat/conf/server.xml)에서 애플리케이션에 대한 https Tomcat 서버 커넥터를 추가합니다.
    sudo nano / opt / tomcat / conf / server.xml
    
    • 다음을 포함하여 앱 설정을 완료합니다. Keystore 파일의 pathpassword가 모두 제공됩니다. 또한 http 포트와 별도로 https 포트가 지정됩니다.
    <Connector protocol="org.apache.coyote.http11.Http11Protocol"
     port="8443" maxThreads="200" scheme="https"
     secure="true" SSLEnabled="true"
     keystoreFile="/usr/share/tomcat.keystore"
     keystorePass="my-password"
     clientAuth="false" sslProtocol="TLS"
     URIEncoding="UTF-8"
     compression="force"
     compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css"/>
    
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

관련 문장 - Java Error