Сервлет создает исключение во время выполнения в Eclipse - PullRequest
0 голосов
/ 29 марта 2019

Всякий раз, когда я запускаю свой сервлет в Eclipse, он показывает:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver      

Я уже правильно подключаю jar-файл и задаю путь в конфигурации пути сборки.Что еще я могу сделать?

Удалить и переустановить MySQL?

{
    [...]
    Class.forName("com.mysql.jdbc.Driver");
    Connection con=DriverManager.getConnection
        ("jdbc:mysql://localhost:3306/example","root","root");
    String qr="select * from details where name=? and pwd=?";
    PreparedStatement ps=con.prepareStatement(qr);
    ps.setString(1, name);
    ps.setString(2, pwd);

    ResultSet rs=ps.executeQuery();
    if(rs.next())
    {
        out.println("home");
    }
    else
    {
        out.println("Invalid name and password");
    }
    con.close();
} catch(Exception e) {
    out.println(e);
}

Я ожидаю вывод "home" или "неверное имя и пароль"

1 Ответ

0 голосов
/ 29 марта 2019

Удалить и переустановить MySQL?

Нет. Проблема в вашем клиентском коде Java, а не в установке MySQL.

Вы больше не должны делать это:

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

Правильный способ - просто позвонить:

 Connection con = DriverManager.getConnection(url, user, password);

с правильным URL JDBC, именем пользователя и паролем.

Это правильный способ использования DriverManager для любого драйвера, совместимого с JDBC 4.0+; см Javadoc . Инициализация класса DriverManager будет использовать механизм поставщика услуг для поиска и загрузки фактического класса драйвера.

Наиболее вероятная причина, по которой ваш код не работает, заключается в том, что полное имя класса Driver изменилось в Connector / J 8.0. По сути, ваш код просит JVM загрузить класс, который больше не существует.

Если это не объясняет / не решает вашу проблему (т.е. вы используете Connector / J 5.1 или более раннюю версию), то наиболее вероятное объяснение состоит в том, что у вас нет файла JAR драйвера в приведенном выше коде время выполнения classpath. Но в любом случае изменение кода желательно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...