我已经用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中的数据库吗?
答案 0 :(得分:0)
您还在VM上运行Postgres吗?如果不是,则无法通过localhost连接它,因为Web应用程序的localhost是VM的地址。如果是这样,请检查防火墙并允许5432端口能够连接。
答案 1 :(得分:0)
解决了此问题。问题是我没有在Web应用程序中的Apache Tomcat lib
文件夹中包含某些jar文件。