Java エラー メソッド名に無効な文字が見つかりました。 HTTP メソッド名はトークンでなければならない
-
Tomcat の原因: java.lang.IllegalArgumentException: メソッド名に無効な文字が見つかりました。 HTTP メソッド名はトークンでなければなりませんエラー -
Tomcat: java.lang.IllegalArgumentException: メソッド名に無効な文字が見つかりました。 HTTP メソッド名はトークンでなければなりませんエラー
このチュートリアルでは、Tomcat: java.lang.IllegalArgumentException: Invalid character found in method name. HTTP メソッド名はトークンでなければなりません.
Tomcat の原因: java.lang.IllegalArgumentException: メソッド名に無効な文字が見つかりました。 HTTP メソッド名はトークンでなければなりません エラー
エラーが発生する理由として考えられるシナリオの一部を次に示します。
-
HTTPSが有効になっていないエンドポイントでクライアントからHTTPSリクエストを実行しようとすると、ユーザーはこの例外に遭遇する可能性があります。 サーバーが生データのみに集中している場合、クライアントは要求されたデータを暗号化します。 -
別の言い方をすれば、これらの例外は通常、サーバーが予測するものと受信するものとの間に不一致がある場合に発生します。 考えられる多くの結果の 1つは、今説明したものです。
サーバーのエンドポイントが
HTTPS標準に準拠していない可能性があります。 -
場合によっては、
Content-Lengthヘッダーの値が本文の長さに対応していませんでした。 -
このエラーは、アプリケーションがデプロイされているサーバーでサポートされていない
URIスキームを使用しようとした場合によく発生します。
Tomcat: java.lang.IllegalArgumentException: メソッド名に無効な文字が見つかりました。 HTTP メソッド名はトークンでなければなりません エラー
以下に、適用できる問題を解決するためのオプションを示します。
-
クライアントの URL の
httpsをhttpに置き換えます。 ほとんどの場合、そうすることは効果的です。 たとえば、ローカル サーバーにhttp://localhost:8080/foo/barでアクセスする場合、URLhttps://localhost:8080/foo/barを使用してアクセスします。 -
Ctrl+Shift+Deleteコントロールを押して閲覧データを消去し、スニペットに示すようにClear dataをクリックします。
-
SSL 状態の消去SSL 状態は PC の Google Chrome のブラウザ設定からは削除できないため、代わりにオペレーティング システムの設定を介してこれを行う必要があります。 したがって、次の手順に従ってSSL 状態をクリアしてください。- スタート メニューで、
インターネット オプションを検索して開きます。

- 表示されたダイアログ ボックスで、[コンテンツ] タブをクリックします。

- スタート メニューで、
- `SSL 状態のクリア` ボタンをクリックします。
![インターネット プロパティの [コンテンツ] タブの下にある [ssl 状態のクリア] をクリックします](</img/Java/click-clear-ssl-state-under-the-content-tab-in-internet-properties.webp>)
- `OK` をクリックすると、SSL 状態がクリアされます。

-
証明書を必要とするアプリケーションの
httpsプロトコルを構成します。Let's Encryptは、証明書を提供できるリソースです。 自己署名証明書を作成して取得するプロセスは、最も簡単なオプションです。- 最初にアプリケーション用の
Keystoreファイルを作成します。 このファイルは、httpsプロトコルの自己署名証明書のように機能します。
sudo keytool - genkey - keyalg RSA - alias tomcat - Keystore / usr / share / tomcat.keystore- 次に、Tomcat サーバー構成ファイル (/opt/tomcat/conf/server.xml) で、アプリケーション用の
httpsTomcat サーバー コネクタを追加します。
sudo nano / opt / tomcat / conf / server.xml- 以下を含めて、アプリのセットアップを完了します。
Keystoreファイルのpathとpasswordの両方が指定されていることに注意してください。 また、httpポートとは別のhttpsポートが指定されています。
- 最初にアプリケーション用の
```java
<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"/>
```
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