嵌入式 tomcat java 应用程序是 运行,但无法访问服务器
Embedded tomcat java application is running, but server cannot be reached
我正在尝试设置基本的嵌入式 Tomcat 服务器,但无法将 Tomcat 服务器连接到 运行。
public class Main {
public static void main(String[] args) throws LifecycleException {
Tomcat tomcat = new Tomcat();
tomcat.setPort(8888);
tomcat.start();
tomcat.getServer().await();
}
}
运行 Eclipse 中的这个 java 应用程序提供输出:
June 19, 2019 12:00:00 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service [Tomcat]
然后等到我按预期停止,但是当我在终端中 运行 curl localhost:8888
时,我得到 curl: (7) Failed connect to localhost:8888;连接被拒绝.
我完全按照 this 教程进行操作,但我似乎无法将 服务器 设置为 运行。此外,netstat -nlt
不显示正在打开的端口 8888
。
我的 build.gradle
有一个依赖项:
implementation 'org.apache.tomcat.embed:tomcat-embed-core:9.0.21'
我在这里遗漏了什么吗?
我刚找到解决方案
我使用 tomcat 9,看起来我们需要在 tomcat
对象上调用方法 getConnector()
。
Tomcat tomcat = new Tomcat();
tomcat.setPort(8080);
tomcat.getConnector();
Tomcat 9不再像以前的版本那样默认添加一个Connector。您可以执行以下操作来添加一个:
final Connector connector = new Connector();
connector.setPort(port);
tomcat.getService().addConnector(connector);
正如另一个答案中提到的,您也可以调用 tomcat.getConnector();
这是一个副作用 getter.
我正在尝试设置基本的嵌入式 Tomcat 服务器,但无法将 Tomcat 服务器连接到 运行。
public class Main {
public static void main(String[] args) throws LifecycleException {
Tomcat tomcat = new Tomcat();
tomcat.setPort(8888);
tomcat.start();
tomcat.getServer().await();
}
}
运行 Eclipse 中的这个 java 应用程序提供输出:
June 19, 2019 12:00:00 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service [Tomcat]
然后等到我按预期停止,但是当我在终端中 运行 curl localhost:8888
时,我得到 curl: (7) Failed connect to localhost:8888;连接被拒绝.
我完全按照 this 教程进行操作,但我似乎无法将 服务器 设置为 运行。此外,netstat -nlt
不显示正在打开的端口 8888
。
我的 build.gradle
有一个依赖项:
implementation 'org.apache.tomcat.embed:tomcat-embed-core:9.0.21'
我在这里遗漏了什么吗?
我刚找到解决方案
我使用 tomcat 9,看起来我们需要在 tomcat
对象上调用方法 getConnector()
。
Tomcat tomcat = new Tomcat();
tomcat.setPort(8080);
tomcat.getConnector();
Tomcat 9不再像以前的版本那样默认添加一个Connector。您可以执行以下操作来添加一个:
final Connector connector = new Connector();
connector.setPort(port);
tomcat.getService().addConnector(connector);
正如另一个答案中提到的,您也可以调用 tomcat.getConnector();
这是一个副作用 getter.