Java 错误 Invalid Character Found in Method Name. HTTP Method Names Must Be Tokens
本篇文章将介绍 Tomcat 的一些可能的原因和解决方案:java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens。
Tomcat 的 java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens 原因
以下是导致错误发生的一些可能情况。
当用户尝试在未启用 HTTPS 的端点上执行来自客户端的 HTTPS 请求时,可能会遇到此异常。 当服务器只关注原始数据时,客户端会对请求的数据进行加密。
换句话说,每当服务器预期的内容与收到的内容之间存在差异时,通常就会发生这些异常。 您刚才所描述的就是众多可想象的结果之一。
您的服务器可能有一个不符合 HTTPS 标准的端点。
在某些情况下,Content-Length 标头的值与正文的长度不对应。
当您尝试在部署应用程序的服务器上使用不支持的 URI 方案时,通常会发生此错误。
Tomcat 中 java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens 的解决方案
下面列出了可以应用的解决问题的选项。
-
将客户端 URL 中的 https 替换为 http。 这样做很可能会有效。 例如,如果使用
http://localhost:8080/foo/bar
访问本地服务器,则使用 URLhttps://localhost:8080/foo/bar
来访问它。 -
按 Ctrl + Shift + Delete 控件清除浏览数据,然后单击“清除数据”,如代码片段所示。
-
清除 SSL 状态 由于无法从 PC 上 Google Chrome 的浏览器设置内部删除 SSL 状态,因此必须通过操作系统的设置来完成此操作。 因此,请按照以下说明清除 SSL 状态。
-
在开始菜单中,搜索“Internet 选项”并将其打开。
-
单击出现的对话框中的“内容”选项卡。
-
单击清除 SSL 状态按钮。
-
单击“确定”,SSL 状态将被清除。
-
在开始菜单中,搜索“Internet 选项”并将其打开。
-
为应用程序配置https协议,需要证书。 Let's Encrypt 是一个可以为您提供证书的资源。 生成和获取自签名证书的过程是最简单的选择。
-
首先为应用程序创建一个密钥库文件。 该文件的功能更像是 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
-
通过添加以下内容来完成应用程序的设置。 请注意,已提供密钥库文件的路径和密码。 此外,还指定了与 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"/>
-
首先为应用程序创建一个密钥库文件。 该文件的功能更像是 https 协议的自签名证书。
相关文章
Java 错误 Java.Net.SocketException: Network Is Unreachable
发布时间:2023/07/16 浏览次数:963 分类:Java
-
今天我们就来讨论一下Java编程时出现java.net.SocketException: Network is unreachable异常的可能原因及解决方法。Java中出现java.net.SocketException: Network is unreachable的可能原因及解决方案
Java 错误 Java.Net.ConnectException: Connection Timed Out
发布时间:2023/07/16 浏览次数:235 分类:Java
-
本篇文章将重点介绍如何使用此包进行基本的网络调用以及可能面临和解决的错误。在 Java 中使用 java.net 进行网络调用 进行网络调用是 Java 开发人员每天面临的最重要的事情之一。
Java 中错误 Attempt to Invoke Virtual Method on a Null Object Reference
发布时间:2023/07/16 浏览次数:948 分类:Java
-
本篇文章介绍如何解决 Java 中的 Attempt to invoke virtual method on a null object reference 错误。Java 中 Attempt to invoke virtual method on a null object reference 错误
Java 错误 Java.Security.InvalidKeyException: Illegal Key Size
发布时间:2023/07/15 浏览次数:644 分类:Java
-
本篇文章介绍包含 java.security.InvalidKeyException: Illegal key size 的 Java 代码。 然后,我们将了解其可能的原因。最后,它通过消除指定的错误来引导我们找到解决方案。
Java 错误 Java.SQL.SQLException: Access Denied for User Root@Localhost
发布时间:2023/07/15 浏览次数:165 分类:Java
-
本篇文章介绍如何解决 Java 中的 java.sql.SQLException: Access Denied for user 'root'@'localhost' 错误。修复 Java 中的 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
Java 错误 Gateway Process Exited Before Sending Its Port Number
发布时间:2023/07/15 浏览次数:885 分类:Java
-
本篇文章介绍了 Java 中 Java gateway process exited before sending the driver its port number 错误 Java gateway process exited before sending the driver its port number 错误
修复 Java 中 Java.Net.BindException: Address Already in Use: Bind 错误
发布时间:2023/07/15 浏览次数:250 分类:Java
-
本篇文章介绍了 Java 中的 java.net.BindException:Address already in use: Bind 错误。修复Java 中的 java.net.BindException:Address already in use: Bind
Java 中错误 Unsupported Major Minor Version
发布时间:2023/07/14 浏览次数:133 分类:Java
-
出现 Unsupported Major.minor version 错误或 Java.lang.UnsupportedClassVersionError 的原因是运行时 JDK 较低,编译时 JDK 较高。 本篇文章介绍如何解决Java中不支持的major.minor版本。
Java 错误 Error:Java: Javactask: Source Release 1.8 Requires Target Release 1.8
发布时间:2023/07/14 浏览次数:274 分类:Java
-
在使用IntelliJ for Java时,无法编译Java程序是一个常见的问题。 本教程提供了此错误的解决方案。Error:Java: Javactask: Source Release 1.8 Requires Target Release 1.8 错误