Java MySQL连接的GWT问题
我正在从事一个GWT项目,其中需要进行一些MySQL查询。我已经正确处理了RPC,在服务器端我试图建立mysql连接,但遇到了一个异常: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:无法创建到数据库服务器的连接。 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源) 位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源) 位于java.lang.reflect.Constructor.newInstance(未知源) 在com.google.appengine.tools.development.agent.runtime.runtime.newInstance(runtime.java:112)上 位于com.google.appengine.tools.development.agent.runtime.runtime.newInstance(runtime.java:120) 位于com.mysql.jdbc.Util.HandleneInstance(Util.java:411) 位于com.mysql.jdbc.Util.getInstance(Util.java:386) 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013) 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) 位于com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2412) 位于com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2154) 位于com.mysql.jdbc.ConnectionImpl(ConnectionImpl.java:792) 位于com.mysql.jdbc.JDBC4Connection(JDBC4Connection.java:47) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源) 位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源) 位于java.lang.reflect.Constructor.newInstance(未知源) 在com.google.appengine.tools.development.agent.runtime.runtime.newInstance(runtime.java:112)上 位于com.google.appengine.tools.development.agent.runtime.runtime.newInstance(runtime.java:120) 位于com.mysql.jdbc.Util.HandleneInstance(Util.java:411) 位于com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381) 位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305) 位于java.sql.DriverManager.getConnection(未知源) 位于java.sql.DriverManager.getConnection(未知源) . . . 更多 . . 我创建了一个非常简单的java类来测试我的代码,以确认我的连接语法和使用是正确的,并且已经确认语法不是问题,因为在一个简单的仅主方法java应用程序中使用相同的代码,我可以创建连接并正确查询数据库。我已经确保在classpath中有mysql-connector-java-5.1.16-bin.jar,在WEB-INF文件夹中有/lib文件夹 下面是我用来创建连接的类: 公共类DB_连接{ 受保护的连接getConnection(){ 连接conn=null; 试一试{ Class.forName(“com.mysql.jdbc.Driver”).newInstance(); conn=DriverManager.getConnection(“jdbc:mysql://”, "", );Java MySQL连接的GWT问题,java,mysql,Java,Mysql,我正在从事一个GWT项目,其中需要进行一些MySQL查询。我已经正确处理了RPC,在服务器端我试图建立mysql连接,但遇到了一个异常: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:无法创建到数据库服务器的连接。 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAc
} 捕获(例外情况除外) { 例如printStackTrace(); } } } 公共类登录扩展了DB_连接{ 公共用户getUser(字符串电子邮件){ 用户=新用户(); user.setUserEmail(电子邮件); 字符串查询=” } 我的问题似乎在DB_连接的一开始就出现了。有人知道是什么导致了这种情况吗?这对我来说很奇怪,因为作为一个独立的程序,代码工作得很好 另一件事是,我刚刚意识到我现在在家,甚至无法访问数据库服务器,因为它位于本地网络上,并且我没有通过VPN连接。因此,在它尝试连接之前,它一定是以某种方式失败了 谢谢!com.google.appengine。。 这是否意味着您正在部署谷歌应用程序引擎?
如果是这样的话,MySQL、JDBC和其他很多东西都会受到限制。我认为这与GWTNo没有任何关系,我不打算部署到App Engine,也不知道它为什么要尝试使用它。可能是因为当我开始时,我从示例项目生成了代码,然后清理了它。与App Engine相关的设置会在哪里找到了吗?啊,哇…我从路径和运行配置中删除了应用引擎,现在正在正确建立连接:)非常感谢您注意到这可能是问题所在!我得到了一个“现在构建路径中不包含应用引擎SDK”虽然应用程序运行良好。现在要尝试从应用程序引擎中删除任何内容。我在一开始生成测试代码并将其清理掉,把自己搞砸了。
return conn;
try {
Connection conn = getConnection();
Statement statement = conn.createStatement();
ResultSet result = statement.executeQuery(query);
while(result.next()) {
user.setUserId(result.getInt("rvuser_id"));
System.out.println(user.getUserId());
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
return user;