Импорт драйвера MySQL JDBC в динамический веб-проектJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Импорт драйвера MySQL JDBC в динамический веб-проект

Сообщение Anonymous »

У меня возникли проблемы с подключением к веб- (не локальной) базе данных MySQL. Я продолжаю получать сообщение об ошибке: Не найден подходящий драйвер для jdbc:mysql://host:port/database (конечно, я использую реальный хост) в консоли. На веб-странице просто отображается значение «null».

Я новичок в Java, поэтому использовал этот пост
как справку для начала. Я создал динамический веб-проект в Eclipse и добавил JAR-файл соединителя JDBC в раздел WebContent > WEB-INF > LIB. Я совершенно не понимаю, почему это продолжает выдавать мне ошибку.

Я использую Tomcat 7 в Eclipse IDE.

Последние пару часов я безуспешно гуглил... пожалуйста, помогите! Вот код, который я использую:

Connect.java

package dbObjects;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

public class Connect {
protected Connection getConnection() throws SQLException {
String url = "jdbc:mysql://host:port/database";
String username = "username";
String password = "password";

Connection conn = (Connection) DriverManager.getConnection(url, username, password);
return conn;
}

protected ResultSet getResultSet(String sql) throws SQLException {
Connection conn = getConnection();
Statement st = (Statement) conn.createStatement();
return st.executeQuery(sql);
}
}


Сотрудники.java

package dbObjects;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;

public class Employees extends Connect {
private String login;
private String workgroup;
private String csm;

public Employees(String login, String workgroup, String csm) {
super();
this.login = login;
this.workgroup = workgroup;
this.csm = csm;
}

public Employees(String login) throws SQLException {
super();
this.login = login;
setUserById(login);
}

private void setUserById(String login) throws SQLException {
ResultSet resultSet = getResultSet("SELECT * FROM employeeData LIMIT 5");
while(resultSet.next()) {
System.out.println(resultSet.getString("login"));
workgroup = resultSet.getString("workgroup");
csm = resultSet.getString("csm");
}
}

@Override
public String toString() {
return workgroup;
}

}


Сервлет, который я пытаюсь запустить

package servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dbObjects.Employees;

/**
* Servlet implementation class HomeServlet
*/
@WebServlet(description = "Home page shown to user", urlPatterns = { "/HomeServlet" })
public class HomeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public HomeServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Employees user = null;
try {
user = new Employees(null);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
PrintWriter pw = response.getWriter();
pw.println(user);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}

}


Я также создал простой класс проверки соединения, который работает и не возвращает ошибку отсутствия подходящего драйвера.

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

import com.mysql.jdbc.Connection;

public class connTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
String url = "jdbc:mysql://host:port/database";
String username = "username";
String password = "password";

System.out.println("Connecting database...");

try (Connection connection = (Connection) DriverManager.getConnection(url, username, password)) {
System.out.println("Database connected!");
} catch (SQLException e) {
throw new IllegalStateException("Cannot connect the database!", e);
}
}

}


Подробнее здесь: https://stackoverflow.com/questions/431 ... eb-project
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»