嵌入式tomcat Java应用程序正在运行,但无法访问服务器

时间:2019-06-19 13:31:07

标签: java tomcat embedded-tomcat-8

我正在尝试设置基本的嵌入式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应用程序将提供输出:

  

2019年6月19日下午12:00:00 org.apache.catalina.core.StandardService startInternal

     

INFO:启动服务[Tomcat]

然后等待,直到按预期达到停止,但是当我在终端中运行curl localhost:8888时,我得到 curl:(7)无法连接到本地主机:8888;连接被拒绝

我完全遵循了this教程,但是我似乎无法让服务器真正运行。另外,netstat -nlt不会显示端口8888处于打开状态。

我的build.gradle有一个依赖性:

implementation 'org.apache.tomcat.embed:tomcat-embed-core:9.0.21'

我这里缺少什么吗?

2 个答案:

答案 0 :(得分:0)

我刚刚找到解决方法 我使用的是tomcat 9,看来我们需要在getConnector()对象上调用方法tomcat

    Tomcat tomcat = new Tomcat();
    tomcat.setPort(8080);
    tomcat.getConnector();

答案 1 :(得分:0)

Tomcat 9不再像以前的版本一样默认添加连接器。您可以执行以下操作添加一个:

html2canvas($('#printableArea')[0], {
scale:0.8
}).then(function(canvas) {
  var a = document.createElement('a');
  a.href = canvas.toDataURL("image/png");
  a.download = 'nalog.png';
  a.click();
});

如另一个答案中所述,您还可以调用final Connector connector = new Connector(); connector.setPort(port); tomcat.getService().addConnector(connector); ,它是一个影响侧面的吸气剂。