Java 无法通过Openshift中的mysql数据库登录

Java 无法通过Openshift中的mysql数据库登录,java,mysql,openshift,Java,Mysql,Openshift,我用mysql数据库创建了一个java登录应用程序,并将其部署在OpenShift上。 网址: 当试图运行它时,只需显示一个带有URL-的空白页面。但理想情况下,它应该显示主页。这是我的数据库连接文件,请让我知道我哪里错了 包装数据库 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DatabaseConnection { // p

我用mysql数据库创建了一个java登录应用程序,并将其部署在OpenShift上。 网址: 当试图运行它时,只需显示一个带有URL-的空白页面。但理想情况下,它应该显示主页。这是我的数据库连接文件,请让我知道我哪里错了

包装数据库

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DatabaseConnection 
{
//    private final String host = "jdbc:mysql://localhost:3306/logindemo";
//    private final String username = "root";
//    private final String password = "root";

    private final String OPENSHIFT_MYSQL_DB_PORT = "3306";
    private final String OPENSHIFT_MYSQL_DB_HOST= "127.3.110.129";
    private final String OPENSHIFT_MYSQL_DB_PASSWORD= "root";
    private final String OPENSHIFT_MYSQL_DB_USERNAME= "root";
    private final String OPENSHIFT_MYSQL_DB_URL= "jdbc:mysql://${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/logindemo";

    public Connection con = null;    

    public Connection openConnection()
    {
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
//            con = DriverManager.getConnection(host, username, password);
            con = DriverManager.getConnection(OPENSHIFT_MYSQL_DB_URL);
        }
        catch(ClassNotFoundException ex)
        {
            System.out.println(ex);
        } 
        catch (SQLException ex) 
        {
            System.out.println(getClass().getClass()+" = " +ex.toString());
        }
        return con;        
    }

    public void closeConnection() throws SQLException
    {
        if(!con.isClosed()){
            con.close();        
        }
    }
}

首先,在OpenShift上,应用程序应该部署为ROOT.war,并且在“/”上下文中应该有内容

第二,如果要读取和使用环境变量,应该使用System.getenv()。例如:

private final String OPENSHIFT_MYSQL_DB_HOST = System.getenv("OPENSHIFT_MYSQL_DB_HOST);
连接URL还应包含创建数据库时提供给您的凭据

数据库名称可能与应用程序名称“passwordbucket”相同


代替使用JDBC连接,您应该考虑使用OpenSHIFT中预先配置的JNDI数据源。请检查文件。您不能指定正在使用的容器类型。

谢谢您的帮助。现在我可以登录到应用程序,但现在我在另一个页面上获得了。你能帮我一下吗。