Web应用程序无法连接到虚拟机上的Postgres数据库

时间:2018-12-11 13:53:44

标签: java virtual-machine postgresql-9.5

我已经用Java创建了一个Web应用程序并将其托管在VM上。可以托管它,因为我可以看到Web应用程序的起始页。但是,当托管的Web应用程序尝试连接到Postgres数据库时,就会出现问题。

如果我对JDBC使用以下连接字符串,则此Web应用程序已在本地主机上正确连接:

DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres",
            "postgres", "password");

但是当托管在VM上时,它无法连接。我尝试了其他this等stackoverflow线程的所有操作,以更改VM中Postgres的配置文件,但仍然无法正常工作。

注意:Postgres也在VM上运行。

我已将Web应用程序从本地主机转换为.war文件,并将此文件部署在VM上。

任何人都可以告诉我是否需要执行其他任何设置才能使托管的Web应用程序查询VM中的数据库吗?

2 个答案:

答案 0 :(得分:0)

您还在VM上运行Postgres吗?如果不是,则无法通过localhost连接它,因为Web应用程序的localhost是VM的地址。如果是这样,请检查防火墙并允许5432端口能够连接。

答案 1 :(得分:0)

解决了此问题。问题是我没有在Web应用程序中的Apache Tomcat lib文件夹中包含某些jar文件。