java - 在 Debian 服务器上使用来自 Tomcat 的 JDBC

标签 java mysql jdbc debian tomcat7

我有一个 Debian 服务器。 我正在尝试在其上运行一个 JSP 网站。我使用 MySQLTomcat 7.0.54

现在我的问题是: 当我发送包含所有数据的表单时,出现此错误:

No connection to jdbc:mysql://localhost:3306/database?user=root&password=*****

在终端中我可以访问数据库。

这是我的代码:

package com.ubs.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;

 public class DBConnector
{

private static Connection con = null;

// HIER DEN CONNECT STRING ANPASSEN //
private String connectString = "jdbc:mysql://localhost:3306/swissskills?user=root2&password=swissskills";  /* CHANGE */

private Connection openConnection()
{
    try
    {
        Class.forName( "com.mysql.jdbc.Driver" );
        con = DriverManager.getConnection( connectString ); 
        return con;
    }
    catch( Exception e)
    {
        System.out.println( "No connection to " + connectString ); 
    }
    return null;
}

public static Connection getConnection()
{
    if( con == null )
    {
        return new DBConnector().openConnection();
    }
    return con;
}

public static void closeConnection()
{
    try
    {
        getConnection().close();
        con = null;
    }
    catch( Exception e )
    {
        System.out.println( "CLOSE CONNECTION: " + e.getMessage() );
    }
}    

我做错了什么?

最佳答案

安装Mysql JDBC

# apt-get install libmysql-java 

为所有用户设置环境/etc/environment:

JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
CLASSPATH=".:/usr/share/java/mysql.jar:/usr/share/java/postgresql-jdbc4.jar"

注意:将/usr/lib/jvm/java-8-openjdk-amd64 更改为您安装的 JDK

使用此代码测试您的连接:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.util.Properties;

class TestDB {

    /*

      /usr/share/java

      http://dev.mysql.com/doc/connector-j/5.1/en/

      https://jdbc.postgresql.org/documentation/documentation.html

    */

   static Connection conn = null;   

   public static void main(String[] args) {

      // MySQL

      try {

         System.out.println("Loading Class com.mysql.jdbc.Driver");

         Class.forName("com.mysql.jdbc.Driver") ;

         System.out.println("Loading com.mysql.jdbc.Driver Successful");

         conn = DriverManager.getConnection("jdbc:mysql://localhost/database?user=user&password=password");

         // Do something with the Connection

         System.out.println("Test Connection Successful");

      } catch (SQLException ex) {

         // handle any errors

         System.out.println("SQLException: " + ex.getMessage());

         System.out.println("SQLState: " + ex.getSQLState());

         System.out.println("VendorError: " + ex.getErrorCode());

      } catch (ClassNotFoundException ex) {

         System.out.println("Class Not Found: " + ex.getMessage());

      }
   }
}

注意:使用您的连接设置更改数据库、用户和密码

http://www.garasiku.web.id/web/joomla/index.php/java/112-debian-jessie-installing-openjdk-8-mysql-jdbc-and-postgresql-jdbc

关于java - 在 Debian 服务器上使用来自 Tomcat 的 JDBC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24055763/

相关文章:

mysql - 选择 ..... 其中 .... 或

mysql - SQL查询显示同一个表中的多条记录?

Mysql在表上加入两次

java - 将数组对象传递给 jdbc 查询

java - 如何修复连接字符串包含格式错误的名称或值

java - java可以导入文本方法吗

java - 为什么下面的 java 代码没有产生错误? (访问修饰符)

java - 连接错误 : "org.jsoup.UnsupportedMimeTypeException: Unhandled content type"

java - 将泛型类型转换为对象

java - DefaultTableModel 上的类转换异常